datum

package
v0.7.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Overview

Package datum is our cobra cli implementation

Index

Constants

View Source
const (
	TableOutput = "table"
	JSONOutput  = "json"
)

Variables

View Source
var (
	// ErrTokenRequired is returned when no authentication token is provided
	ErrTokenRequired = errors.New("DATUM_ACCESS_TOKEN not set")

	// ErrInvalidRole is returned when an invalid role is provided for a member
	ErrInvalidRole = errors.New("invalid role, only member and admin are allowed")

	// ErrInvalidInviteStatus is returned when an invalid status is provided for an invite
	ErrInvalidInviteStatus = errors.New("invalid status, only sent, required, accepted, expired are allowed")

	// ErrUnsupportedProvider is returned when an invalid provider is specified during login
	ErrUnsupportedProvider = errors.New("invalid provider, only Github and Google are supported")

	// ErrNotFound is returned when a resource is not found
	ErrNotFound = errors.New("resource not found")

	// ErrSessionNotFound is returned when a session is not found
	ErrSessionNotFound = errors.New("session not found")
)
View Source
var (
	OutputFormat string
	InputFile    string
	Logger       *zap.SugaredLogger
	Config       *koanf.Koanf
)
View Source
var (
	// DatumHost contains the root url for the Datum API
	DatumHost string
	// GraphAPIHost contains the url for the Datum graph api
	GraphAPIHost string
)
View Source
var RootCmd = &cobra.Command{
	Use:   appName,
	Short: "the datum cli",
	PersistentPreRun: func(cmd *cobra.Command, args []string) {
		initConfiguration(cmd)
	},
}

RootCmd represents the base command when called without any subcommands

Functions

func Execute

func Execute()

Execute adds all child commands to the root command and sets flags appropriately. This is called by main.main(). It only needs to happen once to the rootCmd.

func GetInviteStatusEnum added in v0.2.6

func GetInviteStatusEnum(status string) (enums.InviteStatus, error)

GetInviteStatusEnum returns the invitation status if valid, otherwise returns an error

func GetKeyring

func GetKeyring() (keyring.Keyring, error)

GetKeyring will return the already loaded keyring so that we don't prompt users for passwords multiple times

func GetRoleEnum added in v0.2.5

func GetRoleEnum(role string) (enums.Role, error)

GetRoleEnum returns the Role if valid, otherwise returns an error

func GetTokenFromKeyring

func GetTokenFromKeyring(ctx context.Context) (*oauth2.Token, string, error)

GetTokenFromKeyring will return the oauth token from the keyring if the token is expired, but the refresh token is still valid, the token will be refreshed

func JSONPrint

func JSONPrint(s []byte) error

JSONPrint prints a JSON formatted string with color

func ParseBytes added in v0.5.0

func ParseBytes(v []byte) (map[string]interface{}, error)

ParseBytes parses buffered bytes into a map

func ParseJSON added in v0.5.0

func ParseJSON(v string) (map[string]interface{}, error)

ParseJSON parses a JSON formatted string into a map

func SetupClient added in v0.6.0

func SetupClient(ctx context.Context) (*datumclient.DatumClient, error)

SetupClient will setup the datum client without the Authorization header this is used for endpoints that do not require authentication, e.g. `v1/login`

func SetupClientWithAuth added in v0.6.0

func SetupClientWithAuth(ctx context.Context) (*datumclient.DatumClient, error)

SetupClientWithAuth will setup the datum client with the the bearer token passed in the Authorization header and the session cookie passed in the Cookie header. If the token is expired, it will be refreshed. The token and session will be stored in the keyring for future requests

func StoreAuthCookies added in v0.6.8

func StoreAuthCookies(client *datumclient.DatumClient)

StoreAuthCookies gets the auth cookies from the cookie jar if they exist and stores them in the keychain for future requests

func StoreSession added in v0.2.5

func StoreSession(session string) error

StoreSession in local keyring

func StoreSessionCookies added in v0.2.5

func StoreSessionCookies(client *datumclient.DatumClient)

StoreSessionCookies gets the session cookie from the cookie jar and stores it in the keychain for future requests

func StoreToken

func StoreToken(token *oauth2.Token) error

StoreToken in local keyring

Types

type RequiredFieldMissingError

type RequiredFieldMissingError struct {
	// Field contains the required field that was missing from the input
	Field string
}

RequiredFieldMissingError is returned when a field is required but not provided

func NewRequiredFieldMissingError

func NewRequiredFieldMissingError(f string) *RequiredFieldMissingError

NewRequiredFieldMissingError returns an error for a missing required field

func (*RequiredFieldMissingError) Error

func (e *RequiredFieldMissingError) Error() string

Error returns the RequiredFieldMissingError in string format

Directories

Path Synopsis
Package datumapitokens is our cobra cli for api token endpoints
Package datumapitokens is our cobra cli for api token endpoints
Package datumcontact is our cobra cli for contact endpoints
Package datumcontact is our cobra cli for contact endpoints
Package datumdocumentdatahistory is our cobra cli for documentDataHistory endpoints
Package datumdocumentdatahistory is our cobra cli for documentDataHistory endpoints
Package datumentitlementhistory is our cobra cli for entitlementHistory endpoints
Package datumentitlementhistory is our cobra cli for entitlementHistory endpoints
Package datumentitlementplan is our cobra cli for entitlement plan endpoints
Package datumentitlementplan is our cobra cli for entitlement plan endpoints
Package datumentitlementplanfeatures is our cobra cli for plan feature endpoints
Package datumentitlementplanfeatures is our cobra cli for plan feature endpoints
Package datumentitlement is our cobra cli for entitlement endpoints
Package datumentitlement is our cobra cli for entitlement endpoints
Package datumentity is our cobra cli for entity endpoints
Package datumentity is our cobra cli for entity endpoints
Package datumentitytype is our cobra cli for entity type endpoints
Package datumentitytype is our cobra cli for entity type endpoints
Package datumeventhistory is our cobra cli for eventHistory endpoints
Package datumeventhistory is our cobra cli for eventHistory endpoints
Package datumfeaturehistory is our cobra cli for featureHistory endpoints
Package datumfeaturehistory is our cobra cli for featureHistory endpoints
Package datumfeature is our cobra cli for feature endpoints
Package datumfeature is our cobra cli for feature endpoints
Package datumfilehistory is our cobra cli for fileHistory endpoints
Package datumfilehistory is our cobra cli for fileHistory endpoints
Package datumgroup is our cobra cli for group endpoints
Package datumgroup is our cobra cli for group endpoints
Package datumgrouphistory is our cobra cli for groupHistory endpoints
Package datumgrouphistory is our cobra cli for groupHistory endpoints
Package datumgroupmembers is our cobra cli for group member endpoints
Package datumgroupmembers is our cobra cli for group member endpoints
Package datumgroupmembershiphistory is our cobra cli for groupMembershipHistory endpoints
Package datumgroupmembershiphistory is our cobra cli for groupMembershipHistory endpoints
Package datumgroupsetting provides commands for managing group settings
Package datumgroupsetting provides commands for managing group settings
Package datumgroupsettinghistory is our cobra cli for groupSettingHistory endpoints
Package datumgroupsettinghistory is our cobra cli for groupSettingHistory endpoints
Package datumhushhistory is our cobra cli for hushHistory endpoints
Package datumhushhistory is our cobra cli for hushHistory endpoints
Package datumintegrationhistory is our cobra cli for integrationHistory endpoints
Package datumintegrationhistory is our cobra cli for integrationHistory endpoints
Package datuminvite creates invitation emails + tokens for external users to join a Datum organization
Package datuminvite creates invitation emails + tokens for external users to join a Datum organization
Package datumlogin is our cobra cli for authentication endpoints
Package datumlogin is our cobra cli for authentication endpoints
Package datumoauthproviderhistory is our cobra cli for oauthProviderHistory endpoints
Package datumoauthproviderhistory is our cobra cli for oauthProviderHistory endpoints
Package datumorg is our cobra cli for organization endpoints
Package datumorg is our cobra cli for organization endpoints
Package datumorganizationhistory is our cobra cli for organizationHistory endpoints
Package datumorganizationhistory is our cobra cli for organizationHistory endpoints
Package datumorganizationsettinghistory is our cobra cli for organizationSettingHistory endpoints
Package datumorganizationsettinghistory is our cobra cli for organizationSettingHistory endpoints
Package datumorgmembers is our cobra cli for org member endpoints
Package datumorgmembers is our cobra cli for org member endpoints
Package datumorgmembershiphistory is our cobra cli for orgMembershipHistory endpoints
Package datumorgmembershiphistory is our cobra cli for orgMembershipHistory endpoints
Package datumorgsetting provides commands for managing organization settings
Package datumorgsetting provides commands for managing organization settings
Package datumtokens is our cobra cli for token endpoints
Package datumtokens is our cobra cli for token endpoints
Package register allows user registration
Package register allows user registration
Package reset allows user password reset
Package reset allows user password reset
Package datumsearch is our cobra cli for search endpoint
Package datumsearch is our cobra cli for search endpoint
Package datumsubscribers is our cobra cli for subscriber endpoints
Package datumsubscribers is our cobra cli for subscriber endpoints
Package datumswitch provides a basic interface to switch between oragnization contexts
Package datumswitch provides a basic interface to switch between oragnization contexts
Package datumtemplatehistory is our cobra cli for templateHistory endpoints
Package datumtemplatehistory is our cobra cli for templateHistory endpoints
Package datumuser is our cobra cli for user endpoints
Package datumuser is our cobra cli for user endpoints
Package datumuserhistory is our cobra cli for userHistory endpoints
Package datumuserhistory is our cobra cli for userHistory endpoints
Package datumusersetting is our cobra cli for user setting endpoints
Package datumusersetting is our cobra cli for user setting endpoints
Package datumusersettinghistory is our cobra cli for userSettingHistory endpoints
Package datumusersettinghistory is our cobra cli for userSettingHistory endpoints
Package version contains the version information for the CLI
Package version contains the version information for the CLI
Package datumwebhookhistory is our cobra cli for webhookHistory endpoints
Package datumwebhookhistory is our cobra cli for webhookHistory endpoints

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL