davinci

package
v0.0.51 Latest Latest
Warning

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

Go to latest
Published: May 18, 2023 License: BSD-3-Clause Imports: 13 Imported by: 1

Documentation

Overview

Davinci Admin API GO Client

This package is go client to be used for interacting with PingOne DaVinci Administrative APIs. Use cases include: - Creating Connections - Importing Flows

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MakeFlowPayload added in v0.0.32

func MakeFlowPayload(payload *string, output string) (*string, error)

MakeFlowPayload accepts payload: string of format Flows, FlowImport, or Flow output: desired type of FlowsImport, FlowImport, or Flow Payloads can only be converted to matching plurality

Types

type APIClient

type APIClient struct {
	HostURL         string
	PingOneRegion   string
	HTTPClient      *http.Client
	Token           string
	Auth            AuthStruct
	CompanyID       string
	PingOneSSOEnvId string
	AuthRefresh     bool
}

func NewClient

func NewClient(inputs *ClientInput) (*APIClient, error)

func (*APIClient) CreateApplication

func (c *APIClient) CreateApplication(companyId *string, appName string) (*App, error)

func (*APIClient) CreateConnection

func (c *APIClient) CreateConnection(companyId *string, payload *Connection) (*Connection, error)

Create a bare connection, properties can be added _after_ creation

func (*APIClient) CreateFlowPolicy added in v0.0.30

func (c *APIClient) CreateFlowPolicy(companyId *string, appId string, policy Policy) (*App, error)

func (*APIClient) CreateFlowWithJson

func (c *APIClient) CreateFlowWithJson(companyId *string,
	payloadJson *string) (*Flow, error)

func (*APIClient) CreateInitializedApplication

func (c *APIClient) CreateInitializedApplication(companyId *string, payload *AppUpdate) (*App, error)

CreateInitializedApplication is useful when creating an application with flow policy. Takes an app payload and calls: - CreateApplication - UpdateApplication - CreateFlowPolicy

func (*APIClient) CreateInitializedConnection

func (c *APIClient) CreateInitializedConnection(companyId *string, payload *Connection) (*Connection, error)

Create a connection and fill connection properties

Sample minimal payload:
&Connection{
	ConnectorID: "fooConnector"
	Name: "Foo Connector"
	Properties: Properties{
		"foo": struct {
			Value string `json:"value"`
		}{"bar"}
	}
}

func (*APIClient) CreateVariable added in v0.0.27

func (c *APIClient) CreateVariable(companyId *string, variable *VariablePayload) (map[string]Variable, error)

func (*APIClient) DeleteApplication

func (c *APIClient) DeleteApplication(companyId *string, appId string) (*Message, error)

Deletes an application based on applicationId

func (*APIClient) DeleteConnection

func (c *APIClient) DeleteConnection(companyId *string, connectionId string) (*Message, error)

Deletes a connection based on ConnectionId

func (*APIClient) DeleteFlow

func (c *APIClient) DeleteFlow(companyId *string, flowId string) (*Message, error)

ReadFlows only accepts Limit as a param

func (*APIClient) DeleteFlowPolicy added in v0.0.30

func (c *APIClient) DeleteFlowPolicy(companyId *string, appId string, policyId string) (*Message, error)

Deletes an application based on applicationId

func (*APIClient) DeleteVariable added in v0.0.27

func (c *APIClient) DeleteVariable(companyId *string, variableName string) (*Message, error)

func (*APIClient) DeployFlow

func (c *APIClient) DeployFlow(companyId *string, flowId string) (*Message, error)

ReadFlows only accepts Limit as a param

func (*APIClient) InitAuth

func (c *APIClient) InitAuth() error

func (*APIClient) ParseDvHttpError

func (c *APIClient) ParseDvHttpError(e error) (*DvHttpError, error)

sample incoming must be formatted as similar to: fmt.Errorf("status: %d, body: %s", res.StatusCode, body)

func (*APIClient) ReadApplication

func (c *APIClient) ReadApplication(companyId *string, appId string) (*App, error)

func (*APIClient) ReadApplications

func (c *APIClient) ReadApplications(companyId *string, args *Params) ([]App, error)

ReadFlows only accepts Limit as a param

func (*APIClient) ReadConnection

func (c *APIClient) ReadConnection(companyId *string, connectionId string) (*Connection, error)

Gets single connections based on ConnectionId

func (*APIClient) ReadConnections

func (c *APIClient) ReadConnections(companyId *string, args *Params) ([]Connection, error)

Gets array of all connections for the provided company

func (*APIClient) ReadConnector added in v0.0.49

func (c *APIClient) ReadConnector(companyId *string, connectorId string) (*Connector, error)

Gets single connections based on ConnectionId

func (*APIClient) ReadConnectors added in v0.0.49

func (c *APIClient) ReadConnectors(companyId *string, args *Params) ([]Connector, error)

Gets array of all connectors for the provided company

func (*APIClient) ReadEnvironment

func (c *APIClient) ReadEnvironment(companyId *string) (*Environment, error)

func (*APIClient) ReadEnvironments

func (c *APIClient) ReadEnvironments() (*Environments, error)

Returns list of Environments (auth required)

func (*APIClient) ReadEnvironmentstats

func (c *APIClient) ReadEnvironmentstats(companyId *string) (*EnvironmentStats, error)

func (*APIClient) ReadFlow

func (c *APIClient) ReadFlow(companyId *string, flowId string) (*FlowInfo, error)

ReadFlow performs a GET with no other parameters to get the latest version of the flow

func (*APIClient) ReadFlowVersion added in v0.0.46

func (c *APIClient) ReadFlowVersion(companyId *string, flowId string, flowVersion *string) (*FlowInfo, error)

ReadFlowVersion is like ReadFlow, but appends a version query parameter. When called with no version, this returns what a flow export produces. version should be a string version of the version number, or nil for latest.

func (*APIClient) ReadFlows

func (c *APIClient) ReadFlows(companyId *string, args *Params) ([]Flow, error)

ReadFlows only accepts Limit as a param

func (*APIClient) ReadVariable added in v0.0.27

func (c *APIClient) ReadVariable(companyId *string, variableName string) (map[string]Variable, error)

func (*APIClient) ReadVariables added in v0.0.27

func (c *APIClient) ReadVariables(companyId *string, args *Params) (map[string]Variable, error)

func (*APIClient) SetEnvironment

func (c *APIClient) SetEnvironment(companyId *string) (*Message, error)

func (*APIClient) SignIn

func (c *APIClient) SignIn() (*AuthResponse, error)

SignIn - Get a new token for user

func (*APIClient) SignInSSO

func (c *APIClient) SignInSSO() (*AuthResponse, error)

func (*APIClient) UpdateApplication

func (c *APIClient) UpdateApplication(companyId *string, payload *AppUpdate) (*App, error)

UpdateApplication - Update all fields of an application besides Policies. Policies should be updated via UpdatePolicy

func (*APIClient) UpdateConnection

func (c *APIClient) UpdateConnection(companyId *string, payload *Connection) (*Connection, error)

Update existing connection properties.

Sample minimal payload:
&Connection{
	ConnectionID: "foo-123"
	Properties: Properties{
		"foo": struct {
			Value string `json:"value"`
		}{"bar"}
	}
}

func (*APIClient) UpdateFlowPolicy added in v0.0.30

func (c *APIClient) UpdateFlowPolicy(companyId *string, appId string, policy Policy) (*App, error)

func (*APIClient) UpdateFlowWithJson

func (c *APIClient) UpdateFlowWithJson(companyId *string, payloadJson *string, flowId string) (*Flow, error)

Only specific fields are supported during update: - GraphData - InputSchema - CurrentVersion - Name

func (*APIClient) UpdateVariable added in v0.0.27

func (c *APIClient) UpdateVariable(companyId *string, variable *VariablePayload) (map[string]Variable, error)

UpdateVariable can update fields besides Name and Context

type APIKeys

type APIKeys struct {
	Prod string `json:"prod,omitempty"`
	Test string `json:"test,omitempty"`
}

type AccountConfigViewItems added in v0.0.49

type AccountConfigViewItems struct {
	PropertyName string `json:"propertyName,omitempty"`
}

type App

type App struct {
	CompanyID     string        `json:"companyId,omitempty"`
	Name          string        `json:"name"`
	CustomerID    string        `json:"customerId,omitempty"`
	APIKeys       *APIKeys      `json:"apiKeys,omitempty"`
	Metadata      *Metadata     `json:"metadata,omitempty"`
	UserPools     []UserPools   `json:"userPools,omitempty"`
	Oauth         *Oauth        `json:"oauth,omitempty"`
	Saml          *Saml         `json:"saml,omitempty"`
	Flows         []interface{} `json:"flows,omitempty"`
	Policies      []Policy      `json:"policies,omitempty"`
	CreatedDate   int64         `json:"createdDate,omitempty"`
	APIKeyEnabled bool          `json:"apiKeyEnabled,omitempty"`
	AppID         string        `json:"appId,omitempty"`
	UserPortal    *UserPortal   `json:"userPortal,omitempty"`
}

type AppUpdate

type AppUpdate struct {
	Name          string        `json:"name"`
	Oauth         *Oauth        `json:"oauth,omitempty"`
	Saml          *Saml         `json:"saml,omitempty"`
	Flows         []interface{} `json:"flows,omitempty"`
	Policies      []Policy      `json:"policies,omitempty"`
	APIKeyEnabled bool          `json:"apiKeyEnabled,omitempty"`
	AppID         string        `json:"appId,omitempty"`
	UserPortal    *UserPortal   `json:"userPortal,omitempty"`
}

type Apps

type Apps struct {
	Apps []App `json:"apps,omitempty"`
}

type AuthP1SSO

type AuthP1SSO struct {
	PingOneAdminEnvId  string `json:"envId,omitempty"`
	PingOneTargetEnvId string `json:"targetEnvId,omitempty"`
}

type AuthResponse

type AuthResponse struct {
	AccessToken     string `json:"access_token"`
	TokenType       string `json:"token_type"`
	Status          string `json:"status"`
	CustomerID      string `json:"customerId"`
	TryFlowToken    string `json:"tryFlowToken"`
	SelectedCompany string `json:"selectedCompany"`
}

type AuthStruct

type AuthStruct struct {
	Username string `json:"email"`
	Password string `json:"password"`
}

type AuthTypeDropdown added in v0.0.37

type AuthTypeDropdown struct {
	DisplayName          string    `json:"displayName,omitempty"`
	PreferredControlType string    `json:"preferredControlType,omitempty"`
	Required             bool      `json:"required,omitempty"`
	Options              []Options `json:"options,omitempty"`
	Enum                 []string  `json:"enum,omitempty"`
	Value                string    `json:"value,omitempty"`
	Placeholder          string    `json:"placeholder,omitempty"`
}

type AuthorizationEndpoint added in v0.0.37

type AuthorizationEndpoint struct {
	DisplayName          string `json:"displayName,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Required             bool   `json:"required,omitempty"`
	Value                string `json:"value,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
}

type BearerToken added in v0.0.37

type BearerToken struct {
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Type                 string `json:"type,omitempty"`
	DisplayName          string `json:"displayName,omitempty"`
	Info                 string `json:"info,omitempty"`
	Value                string `json:"value,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
}

type Callback

type Callback struct {
	InteractionID    string `json:"interactionId"`
	CompanyID        string `json:"companyId"`
	ConnectionID     string `json:"connectionId"`
	ConnectorID      string `json:"connectorId"`
	ID               string `json:"id"`
	CapabilityName   string `json:"capabilityName"`
	AccessToken      string `json:"access_token"`
	TokenType        string `json:"token_type"`
	ExpiresIn        int    `json:"expires_in"`
	IDToken          string `json:"id_token"`
	Success          bool   `json:"success"`
	InteractionToken string `json:"interactionToken"`
}

type Client

type Client struct {
	HostURL     string
	HTTPClient  *http.Client
	Token       string
	Auth        AuthStruct
	CompanyID   string
	AuthP1SSO   AuthP1SSO
	AuthRefresh bool
}

type ClientID added in v0.0.37

type ClientID struct {
	DisplayName          string `json:"displayName,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Required             bool   `json:"required,omitempty"`
	Value                string `json:"value,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
}

type ClientInput

type ClientInput struct {
	HostURL         string
	PingOneRegion   string
	Username        string
	Password        string
	PingOneSSOEnvId string
	AccessToken     string
}

type ClientSecret added in v0.0.37

type ClientSecret struct {
	DisplayName          string `json:"displayName,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	HashedVisibility     bool   `json:"hashedVisibility,omitempty"`
	Required             bool   `json:"required,omitempty"`
	Value                string `json:"value,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
}

type Code added in v0.0.37

type Code struct {
	DisplayName          string `json:"displayName,omitempty"`
	Info                 string `json:"info,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Language             string `json:"language,omitempty"`
	Value                string `json:"value,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
}

type Companies

type Companies struct {
	CompanyID string   `json:"companyId"`
	Roles     []string `json:"roles"`
	Name      string   `json:"name"`
	SvgIcon   string   `json:"svgIcon"`
}

type Connection

type Connection struct {
	CustomerID   string     `json:"customerId,omitempty"`
	ConnectorID  string     `json:"connectorId,omitempty"`
	Name         string     `json:"name,omitempty"`
	CreatedDate  int64      `json:"createdDate,omitempty"`
	Properties   Properties `json:"properties,omitempty"`
	UpdatedDate  int64      `json:"updatedDate,omitempty"`
	ConnectionID string     `json:"connectionId,omitempty"`
	CompanyID    string     `json:"companyId,omitempty"`
}

Representation of an instantiated connector All fields are set with omitempty as nil values aren't allowed to various requests requiring specific fields.

type Connector added in v0.0.49

type Connector struct {
	AccountConfigView   ConnectorAccountConfigView   `json:"accountConfigView,omitempty,omitempty"`
	Capabilities        ConnectorCapabilities        `json:"capabilities,omitempty,omitempty"`
	CompanyID           string                       `json:"companyId,omitempty"`
	ConnectorCategories []ConnectorCategories        `json:"connectorCategories,omitempty"`
	ConnectorType       string                       `json:"connectorType,omitempty"`
	CreatedDate         int64                        `json:"createdDate,omitempty"`
	CustomerID          string                       `json:"customerId,omitempty"`
	Description         string                       `json:"description,omitempty"`
	FlowSections        []ConnectorFlowSections      `json:"flowSections,omitempty"`
	ManifestVersion     string                       `json:"manifestVersion,omitempty"`
	Metadata            ConnectorMetadata            `json:"metadata,omitempty"`
	Name                string                       `json:"name,omitempty"`
	Properties          map[string]ConnectorProperty `json:"properties,omitempty"`
	Sections            []ConnectorSections          `json:"sections,omitempty"`
	Status              string                       `json:"status,omitempty"`
	UpdatedDate         int64                        `json:"updatedDate,omitempty"`
	ConnectorID         string                       `json:"connectorId,omitempty"`
}

type ConnectorAccountConfigView added in v0.0.49

type ConnectorAccountConfigView struct {
	Items []AccountConfigViewItems `json:"items,omitempty"`
}

type ConnectorCapabilities added in v0.0.49

type ConnectorCapabilities struct {
	UpdateAnnotationProperties UpdateAnnotationProperties `json:"updateAnnotationProperties,omitempty"`
}

type ConnectorCategories added in v0.0.49

type ConnectorCategories struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

type ConnectorFlowConfigView added in v0.0.49

type ConnectorFlowConfigView struct {
	Items []FlowConfigViewItems `json:"items,omitempty"`
}

type ConnectorFlowSections added in v0.0.49

type ConnectorFlowSections struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

type ConnectorLoose added in v0.0.49

type ConnectorLoose struct {
	AccountConfigView   ConnectorAccountConfigView        `json:"accountConfigView,omitempty,omitempty"`
	Capabilities        ConnectorCapabilities             `json:"capabilities,omitempty,omitempty"`
	CompanyID           string                            `json:"companyId,omitempty"`
	ConnectorCategories []ConnectorCategories             `json:"connectorCategories,omitempty"`
	ConnectorType       string                            `json:"connectorType,omitempty"`
	CreatedDate         int64                             `json:"createdDate,omitempty"`
	CustomerID          string                            `json:"customerId,omitempty"`
	Description         string                            `json:"description,omitempty"`
	FlowSections        []ConnectorFlowSections           `json:"flowSections,omitempty"`
	ManifestVersion     string                            `json:"manifestVersion,omitempty"`
	Metadata            ConnectorMetadata                 `json:"metadata,omitempty"`
	Name                string                            `json:"name,omitempty"`
	Properties          map[string]ConnectorPropertyLoose `json:"properties,omitempty"`
	Sections            []ConnectorSections               `json:"sections,omitempty"`
	Status              string                            `json:"status,omitempty"`
	UpdatedDate         int64                             `json:"updatedDate,omitempty"`
	ConnectorID         string                            `json:"connectorId,omitempty"`
}

Connector Config for read all CONNECTORS.

type ConnectorMetadata added in v0.0.49

type ConnectorMetadata struct {
	SkType string                  `json:"skType,omitempty"`
	Colors ConnectorMetadataColors `json:"colors,omitempty"`
	Logos  ConnectorMetadataLogos  `json:"logos,omitempty"`
}

type ConnectorMetadataColors added in v0.0.49

type ConnectorMetadataColors struct {
	Canvas     string `json:"canvas,omitempty"`
	CanvasText string `json:"canvasText,omitempty"`
	Dark       string `json:"dark,omitempty"`
}

type ConnectorMetadataLogos added in v0.0.49

type ConnectorMetadataLogos struct {
	Canvas LogosCanvas `json:"canvas,omitempty"`
}

type ConnectorProperty added in v0.0.49

type ConnectorProperty struct {
	Type                 string `json:"type,omitempty"`
	DisplayName          string `json:"displayName,omitempty"`
	CreatedDate          int64  `json:"createdDate,omitempty"`
	CustomerID           string `json:"customerId,omitempty"`
	CompanyID            string `json:"companyId,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Info                 string `json:"info,omitempty"`
}

type ConnectorPropertyLoose added in v0.0.49

type ConnectorPropertyLoose struct {
	Type                 string      `json:"type,omitempty"`
	DisplayName          string      `json:"displayName,omitempty"`
	CreatedDate          int64       `json:"createdDate,omitempty"`
	CustomerID           string      `json:"customerId,omitempty"`
	CompanyID            string      `json:"companyId,omitempty"`
	PreferredControlType string      `json:"preferredControlType,omitempty"`
	Info                 interface{} `json:"info,omitempty"`
}

type ConnectorSections added in v0.0.49

type ConnectorSections struct {
	Name    string `json:"name,omitempty"`
	Value   string `json:"value,omitempty"`
	Default bool   `json:"default,omitempty"`
}

type CreatedCustomer

type CreatedCustomer struct {
	Email               string      `json:"email"`
	CompanyID           string      `json:"companyId"`
	ClientID            interface{} `json:"clientId"`
	FirstName           string      `json:"firstName"`
	LastName            string      `json:"lastName"`
	PhoneNumber         interface{} `json:"phoneNumber"`
	CreatedByCustomerID string      `json:"createdByCustomerId"`
	CreatedByCompanyID  string      `json:"createdByCompanyId"`
	EmailVerified       bool        `json:"emailVerified"`
	Companies           []Companies `json:"companies"`
	Salt                string      `json:"salt"`
	HashedPassword      string      `json:"hashedPassword"`
	Status              string      `json:"status"`
	CustomerType        string      `json:"customerType"`
	CreatedDate         int64       `json:"createdDate"`
	EmailVerifiedDate   int64       `json:"emailVerifiedDate"`
	PasswordHistory     []struct {
		HashedPassword string `json:"hashedPassword"`
		Salt           string `json:"salt"`
		AddedDate      int64  `json:"addedDate"`
	} `json:"passwordHistory"`
	SkUserID    string `json:"skUserId"`
	LastLogin   int64  `json:"lastLogin"`
	FailedLogin struct {
		RetryCount           int   `json:"retryCount"`
		FirstFailedTimestamp int64 `json:"firstFailedTimestamp"`
	} `json:"failedLogin"`
	CustomerID string `json:"customerId"`
}

type CustomAttributes added in v0.0.37

type CustomAttributes struct {
	Type                 string                  `json:"type,omitempty"`
	DisplayName          string                  `json:"displayName,omitempty"`
	PreferredControlType string                  `json:"preferredControlType,omitempty"`
	Info                 string                  `json:"info,omitempty"`
	Sections             []string                `json:"sections,omitempty"`
	Value                []CustomAttributesValue `json:"value,omitempty"`
	Placeholder          []Placeholder           `json:"placeholder,omitempty"`
}

type CustomAttributesValue added in v0.0.37

type CustomAttributesValue struct {
	Name          string      `json:"name,omitempty"`
	Description   string      `json:"description,omitempty"`
	Type          string      `json:"type,omitempty"`
	Value         interface{} `json:"value,omitempty"`
	MinLength     string      `json:"minLength,omitempty"`
	MaxLength     string      `json:"maxLength,omitempty"`
	Required      bool        `json:"required,omitempty"`
	AttributeType string      `json:"attributeType,omitempty"`
}

type CustomAuth added in v0.0.37

type CustomAuth struct {
	Properties CustomAuthProperties `json:"properties,omitempty"`
}

CustomAuth is a field of the Properties struct but is kept separate because the structure is known. This is used to unmarshal the properties["customAuth"] field of a connection response.

type CustomAuthProperties added in v0.0.37

type CustomAuthProperties struct {
	ProviderName                  ProviderName                  `json:"providerName,omitempty"`
	AuthTypeDropdown              AuthTypeDropdown              `json:"authTypeDropdown,omitempty"`
	SkRedirectURI                 SkRedirectURI                 `json:"skRedirectUri,omitempty"`
	IssuerURL                     IssuerURL                     `json:"issuerUrl,omitempty"`
	AuthorizationEndpoint         AuthorizationEndpoint         `json:"authorizationEndpoint,omitempty"`
	TokenEndpoint                 TokenEndpoint                 `json:"tokenEndpoint,omitempty"`
	BearerToken                   BearerToken                   `json:"bearerToken,omitempty"`
	UserInfoEndpoint              UserInfoEndpoint              `json:"userInfoEndpoint,omitempty"`
	ClientID                      ClientID                      `json:"clientId,omitempty"`
	ClientSecret                  ClientSecret                  `json:"clientSecret,omitempty"`
	Scope                         Scope                         `json:"scope,omitempty"`
	Code                          Code                          `json:"code,omitempty"`
	UserConnectorAttributeMapping UserConnectorAttributeMapping `json:"userConnectorAttributeMapping,omitempty"`
	CustomAttributes              CustomAttributes              `json:"customAttributes,omitempty"`
	ReturnToURL                   ReturnToURL                   `json:"returnToUrl,omitempty"`
}

type Customer

type Customer struct {
	Email     string `json:"email"`
	FirstName string `json:"firstName"`
	LastName  string `json:"lastName"`
	Companies []struct {
		CompanyID string   `json:"companyId"`
		Roles     []string `json:"roles"`
	} `json:"companies"`
	CustomerType        string `json:"customerType"`
	CreatedByCustomerID string `json:"createdByCustomerId"`
	CreatedByCompanyID  string `json:"createdByCompanyId"`
	CompanyID           string `json:"companyId"`
	EmailVerified       bool   `json:"emailVerified"`
	CreatedDate         int64  `json:"createdDate"`
	LastLogin           int64  `json:"lastLogin"`
	SkUserID            string `json:"skUserId,omitempty"`
	CustomerID          string `json:"customerId"`
	ClientID            string `json:"clientId,omitempty"`
	PhoneNumber         string `json:"phoneNumber,omitempty"`
	Status              string `json:"status,omitempty"`
	EmailVerifiedDate   int64  `json:"emailVerifiedDate,omitempty"`
}

type CustomerCreate

type CustomerCreate struct {
	Email       string   `json:"email"`
	FirstName   string   `json:"firstName"`
	LastName    string   `json:"lastName"`
	Roles       []string `json:"roles"`
	PhoneNumber string   `json:"phoneNumber"`
}

type CustomerUpdate

type CustomerUpdate struct {
	FirstName   string   `json:"firstName"`
	LastName    string   `json:"lastName"`
	Roles       []string `json:"roles"`
	PhoneNumber string   `json:"phoneNumber"`
}

type Customers

type Customers struct {
	Customers     []Customer `json:"customers"`
	CustomerCount int        `json:"customerCount"`
}

type Data added in v0.0.32

type Data struct {
	ID             string `json:"id,omitempty"`
	NodeType       string `json:"nodeType,omitempty"`
	ConnectionID   string `json:"connectionId,omitempty"`
	ConnectorID    string `json:"connectorId,omitempty"`
	Name           string `json:"name,omitempty"`
	Label          string `json:"label,omitempty"`
	Status         string `json:"status,omitempty"`
	CapabilityName string `json:"capabilityName,omitempty"`
	Type           string `json:"type,omitempty"`
	// have not removed omitempty on general Data struct, not sure if it is needed
	Properties         Properties `json:"properties,omitempty"`
	Source             string     `json:"source,omitempty"`
	Target             string     `json:"target,omitempty"`
	MultiValueSourceId string     `json:"multiValueSourceId,omitempty"`
}

type DvHttpError

type DvHttpError struct {
	Status int
	Body   string
}

func ParseDvHttpError added in v0.0.35

func ParseDvHttpError(e error) (*DvHttpError, error)

sample incoming must be formatted as similar to: fmt.Errorf("status: %d, body: %s", res.StatusCode, body)

type DvHttpRequest

type DvHttpRequest struct {
	Method string
	Url    string
	Body   io.Reader
}

type DvHttpResponse

type DvHttpResponse struct {
	Body           []byte
	Headers        http.Header
	StatusCode     int
	Location       *url.URL
	LocationParams url.Values
}

type EdgeData added in v0.0.37

type EdgeData struct {
	ID                 string     `json:"id,omitempty"`
	NodeType           string     `json:"nodeType,omitempty"`
	ConnectionID       string     `json:"connectionId,omitempty"`
	ConnectorID        string     `json:"connectorId,omitempty"`
	Name               string     `json:"name,omitempty"`
	Label              string     `json:"label,omitempty"`
	Status             string     `json:"status,omitempty"`
	CapabilityName     string     `json:"capabilityName,omitempty"`
	Type               string     `json:"type,omitempty"`
	Properties         Properties `json:"properties,omitempty"`
	Source             string     `json:"source,omitempty"`
	Target             string     `json:"target,omitempty"`
	MultiValueSourceId string     `json:"multiValueSourceId,omitempty"`
}

type Edges added in v0.0.32

type Edges struct {
	Data       EdgeData `json:"data,omitempty"`
	Position   Position `json:"position,omitempty"`
	Group      string   `json:"group"`
	Removed    bool     `json:"removed"`
	Selected   bool     `json:"selected"`
	Selectable bool     `json:"selectable"`
	Locked     bool     `json:"locked"`
	Grabbable  bool     `json:"grabbable"`
	Pannable   bool     `json:"pannable"`
	Classes    string   `json:"classes"`
}

type Elements added in v0.0.32

type Elements struct {
	Nodes []Nodes `json:"nodes,omitempty"`
	Edges []Edges `json:"edges,omitempty"`
}

type Email added in v0.0.37

type Email struct {
	Value1 string `json:"value1,omitempty"`
}

type Environment

type Environment struct {
	CreatedByCustomerID string `json:"createdByCustomerId"`
	CreatedByCompanyID  string `json:"createdByCompanyId"`
	Name                string `json:"name"`
	CompanyType         string `json:"companyType"`
	EntitlementTemplate string `json:"entitlementTemplate"`
	EntitlementProps    struct {
	} `json:"entitlementProps"`
	SecurityType string `json:"securityType"`
	JwtKeys      struct {
		Jwks struct {
			Keys []struct {
				Kty string `json:"kty"`
				Kid string `json:"kid"`
				N   string `json:"n"`
				E   string `json:"e"`
				Alg string `json:"alg"`
				Use string `json:"use"`
			} `json:"keys"`
		} `json:"jwks"`
	} `json:"jwtKeys"`
	SamlKeys struct {
		PublicKey string `json:"publicKey"`
		Cert      string `json:"cert"`
	} `json:"samlKeys"`
	Properties struct {
		PngIcon struct {
			DisplayName          string `json:"displayName"`
			DataType             string `json:"dataType"`
			PreferredControlType string `json:"preferredControlType"`
			Value                string `json:"value"`
		} `json:"pngIcon"`
		SvgIcon struct {
			DisplayName          string `json:"displayName"`
			DataType             string `json:"dataType"`
			PreferredControlType string `json:"preferredControlType"`
			Value                string `json:"value"`
		} `json:"svgIcon"`
		SvgViewBox struct {
			DisplayName          string `json:"displayName"`
			DataType             string `json:"dataType"`
			PreferredControlType string `json:"preferredControlType"`
			Value                string `json:"value"`
		} `json:"svgViewBox"`
		IconOpacity struct {
			DisplayName          string  `json:"displayName"`
			DataType             string  `json:"dataType"`
			PreferredControlType string  `json:"preferredControlType"`
			Value                float64 `json:"value"`
		} `json:"iconOpacity"`
		BackgroundColor struct {
			DisplayName          string `json:"displayName"`
			DataType             string `json:"dataType"`
			PreferredControlType string `json:"preferredControlType"`
			Value                string `json:"value"`
		} `json:"backgroundColor"`
		TextColor struct {
			DisplayName          string `json:"displayName"`
			DataType             string `json:"dataType"`
			PreferredControlType string `json:"preferredControlType"`
			Value                string `json:"value"`
		} `json:"textColor"`
		IconColor struct {
			DisplayName          string `json:"displayName"`
			DataType             string `json:"dataType"`
			PreferredControlType string `json:"preferredControlType"`
			Value                string `json:"value"`
		} `json:"iconColor"`
		ArcColor struct {
			DisplayName          string `json:"displayName"`
			DataType             string `json:"dataType"`
			PreferredControlType string `json:"preferredControlType"`
			Value                string `json:"value"`
		} `json:"arcColor"`
		ArcProgressColor struct {
			DisplayName          string `json:"displayName"`
			DataType             string `json:"dataType"`
			PreferredControlType string `json:"preferredControlType"`
			Value                string `json:"value"`
		} `json:"arcProgressColor"`
	} `json:"properties"`
	CreatedDate int64 `json:"createdDate"`
	Entitlement struct {
		Company struct {
			CreateAdditional bool `json:"createAdditional"`
		} `json:"company"`
		Connectors struct {
			Whitelist []string `json:"whitelist"`
			//TODO
			// Blacklist []string `json:"blacklist"`
			Blacklist interface{} `json:"blacklist"`
		} `json:"connectors"`
		Connections struct {
			Total                              int `json:"total"`
			MaxNumberOfConnectionsPerConnector struct {
				ConnectorID string `json:"connectorId"`
				Total       int    `json:"total"`
			} `json:"maxNumberOfConnectionsPerConnector"`
		} `json:"connections"`
		Flows struct {
			Enabled bool  `json:"enabled"`
			Total   int   `json:"total"`
			Expires int64 `json:"expires"`
		} `json:"flows"`
		Attributes struct {
			Enabled bool `json:"enabled"`
			Total   int  `json:"total"`
		} `json:"attributes"`
		Apps struct {
			Total int `json:"total"`
		} `json:"apps"`
		Users struct {
			Total                   int `json:"total"`
			TotalCredentialsPerUser int `json:"totalCredentialsPerUser"`
		} `json:"users"`
		Expires int64 `json:"expires"`
	} `json:"entitlement"`
	CompanyID string `json:"companyId"`
}

type EnvironmentStats

type EnvironmentStats struct {
	TableStats []struct {
		Flows       int `json:"Flows"`
		Connections int `json:"Connections"`
		Apps        int `json:"Apps"`
		Customers   int `json:"Customers"`
		Constructs  int `json:"Constructs"`
		Users       int `json:"Users"`
		Events      int `json:"Events"`
		ID          struct {
			CompanyID string `json:"companyId"`
			Ts        int64  `json:"ts"`
		} `json:"_id"`
	} `json:"tableStats"`
	PopularFlows []struct {
		Key      string `json:"key"`
		DocCount int    `json:"doc_count"`
		Name     string `json:"name,omitempty"`
	} `json:"popularFlows"`
	RunningFlowsCount []struct {
		KeyAsString time.Time `json:"key_as_string"`
		Key         int64     `json:"key"`
		DocCount    int       `json:"doc_count"`
	} `json:"runningFlowsCount"`
	EventOutcomesCount []interface{} `json:"eventOutcomesCount"`
	AllFlows           []string      `json:"allFlows"`
}

type Environments

type Environments struct {
	CustomerID  string      `json:"customerId"`
	FirstName   string      `json:"firstName"`
	LastName    string      `json:"lastName"`
	Email       string      `json:"email"`
	PhoneNumber string      `json:"phoneNumber"`
	CompanyID   string      `json:"companyId"`
	Companies   []Companies `json:"companies"`
	ClientID    string      `json:"clientId,omitempty"`
	CreatedDate int64       `json:"createdDate"`
}

type FirstName added in v0.0.37

type FirstName struct {
	Value1 string `json:"value1,omitempty"`
}

type Flow

type Flow struct {
	CustomerID         string        `json:"customerId,omitempty"`
	FlowStatus         string        `json:"flowStatus,omitempty"`
	CurrentVersion     int           `json:"currentVersion,omitempty"`
	PublishedVersion   int           `json:"publishedVersion,omitempty"`
	Name               string        `json:"name,omitempty"`
	Description        string        `json:"description,omitempty"`
	CreatedDate        int64         `json:"createdDate,omitempty"`
	UpdatedDate        int64         `json:"updatedDate,omitempty"`
	AuthTokenExpireIds []interface{} `json:"authTokenExpireIds,omitempty"`
	DeployedDate       int64         `json:"deployedDate,omitempty"`
	// Edited, removed struct. Staying one level only
	EnabledGraphData     interface{} `json:"enabledGraphData,omitempty"`
	FunctionConnectionID interface{} `json:"functionConnectionId,omitempty"`
	// edited
	InputSchemaCompiled interface{}   `json:"inputSchemaCompiled,omitempty"`
	IsInputSchemaSaved  bool          `json:"isInputSchemaSaved,omitempty"`
	IsOutputSchemaSaved bool          `json:"isOutputSchemaSaved,omitempty"`
	Orx                 string        `json:"orx,omitempty"`
	Settings            interface{}   `json:"settings,omitempty"`
	Trigger             Trigger       `json:"trigger"`
	Timeouts            interface{}   `json:"timeouts,omitempty"`
	FlowID              string        `json:"flowId,omitempty"`
	CompanyID           string        `json:"companyId,omitempty"`
	GraphData           GraphData     `json:"graphData,omitempty"`
	InputSchema         []interface{} `json:"inputSchema"`
	OutputSchema        OutputSchema  `json:"outputSchema"`
	//compiled is used in exported flow json, must be converted to JUST output when updating flow.
	OutputSchemaCompiled OutputSchema   `json:"outputSchemaCompiled"`
	FlowColor            string         `json:"flowColor,omitempty"`
	ConnectorIds         []string       `json:"connectorIds,omitempty"`
	SavedDate            int64          `json:"savedDate,omitempty"`
	Variables            []FlowVariable `json:"variables,omitempty"`
}

func ParseFlowJson added in v0.0.32

func ParseFlowJson(payload *string) (*Flow, error)

type FlowConfigViewItems added in v0.0.49

type FlowConfigViewItems struct {
	PropertyName string `json:"propertyName,omitempty"`
}

type FlowImport

type FlowImport struct {
	Name            string            `json:"name,omitempty"`
	Description     string            `json:"description"`
	FlowInfo        Flow              `json:"flowInfo,omitempty"`
	FlowNameMapping map[string]string `json:"flowNameMapping,omitempty"`
}

func ParseFlowImportJson added in v0.0.32

func ParseFlowImportJson(payload *string) (*FlowImport, error)

type FlowInfo

type FlowInfo struct {
	Flow Flow `json:"flowInfo,omitempty"`
}

type FlowUpdate added in v0.0.44

type FlowUpdate struct {
	CurrentVersion int           `json:"currentVersion,omitempty"`
	Name           string        `json:"name,omitempty"`
	Description    string        `json:"description,omitempty"`
	Settings       interface{}   `json:"settings,omitempty"`
	Trigger        Trigger       `json:"trigger"`
	GraphData      GraphData     `json:"graphData,omitempty"`
	InputSchema    []interface{} `json:"inputSchema"`
	OutputSchema   OutputSchema  `json:"outputSchema"`
}

Used specifically for PUTs to existing flows.

type FlowVariable added in v0.0.46

type FlowVariable struct {
	//Not enforced on model, but only supporting 'flow' for Context
	Context     string             `json:"context,omitempty"`
	CreatedDate int64              `json:"createdDate,omitempty"`
	CustomerID  string             `json:"customerId,omitempty"`
	Fields      FlowVariableFields `json:"fields,omitempty"`
	FlowID      string             `json:"flowId,omitempty"`
	Type        string             `json:"type,omitempty"`
	UpdatedDate int64              `json:"updatedDate,omitempty"`
	Visibility  string             `json:"visibility,omitempty"`
	Name        string             `json:"name,omitempty"`
	CompanyID   string             `json:"companyId,omitempty"`
}

type FlowVariableFields added in v0.0.46

type FlowVariableFields struct {
	Type        string `json:"type,omitempty"`
	DisplayName string `json:"displayName,omitempty"`
	Mutable     bool   `json:"mutable,omitempty"`
	Min         int    `json:"min,omitempty"`
	Max         int    `json:"max,omitempty"`
}

type Flows added in v0.0.31

type Flows struct {
	Flow []Flow `json:"flows,omitempty"`
}

type FlowsImport added in v0.0.31

type FlowsImport struct {
	Name            string            `json:"name,omitempty"`
	Description     string            `json:"description,omitempty"`
	FlowInfo        Flows             `json:"flowInfo,omitempty"`
	FlowNameMapping map[string]string `json:"flowNameMapping,omitempty"`
}

func ParseFlowsImportJson added in v0.0.32

func ParseFlowsImportJson(payload *string) (*FlowsImport, error)

type FlowsInfo

type FlowsInfo struct {
	Flow []Flow `json:"flowsInfo,omitempty"`
}

type GraphData

type GraphData struct {
	Elements            Elements `json:"elements,omitempty"`
	Data                Data     `json:"data,omitempty"`
	ZoomingEnabled      bool     `json:"zoomingEnabled,omitempty"`
	UserZoomingEnabled  bool     `json:"userZoomingEnabled,omitempty"`
	Zoom                int      `json:"zoom,omitempty"`
	MinZoom             float64  `json:"minZoom,omitempty"`
	MaxZoom             float64  `json:"maxZoom,omitempty"`
	PanningEnabled      bool     `json:"panningEnabled,omitempty"`
	UserPanningEnabled  bool     `json:"userPanningEnabled,omitempty"`
	Pan                 Pan      `json:"pan,omitempty"`
	BoxSelectionEnabled bool     `json:"boxSelectionEnabled,omitempty"`
	Renderer            Renderer `json:"renderer,omitempty"`
}

type IssuerURL added in v0.0.37

type IssuerURL struct {
	PreferredControlType string `json:"preferredControlType,omitempty"`
	DisplayName          string `json:"displayName,omitempty"`
	Info                 string `json:"info,omitempty"`
	Value                string `json:"value,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
}

type LastName added in v0.0.37

type LastName struct {
	Value1 string `json:"value1,omitempty"`
}

type LoginResponse

type LoginResponse struct {
	AccessToken     string     `json:"access_token"`
	TokenType       string     `json:"token_type"`
	MfaRequired     bool       `json:"mfaRequired"`
	Status          string     `json:"status"`
	CustomerID      string     `json:"customerId"`
	AppConfig       bool       `json:"appConfig"`
	SkSdkToken      SkSdkToken `json:"skSdkToken"`
	FlowPolicyID    string     `json:"flowPolicyId"`
	CompanyID       string     `json:"companyId"`
	SelectedCompany string     `json:"selectedCompany"`
}

type LogosCanvas added in v0.0.49

type LogosCanvas struct {
	ImageFileName string `json:"imageFileName,omitempty"`
}

type Mapping added in v0.0.37

type Mapping struct {
	Username  Username  `json:"username,omitempty"`
	FirstName FirstName `json:"firstName,omitempty"`
	LastName  LastName  `json:"lastName,omitempty"`
	Name      Name      `json:"name,omitempty"`
	Email     Email     `json:"email,omitempty"`
}

type Message

type Message struct {
	Message string `json:"message,omitempty"`
	Value   string `json:"value,omitempty"`
}

type Metadata

type Metadata struct {
	RpName string `json:"rpName,omitempty"`
}

type Name added in v0.0.37

type Name struct {
	Value1 string `json:"value1,omitempty"`
}

type NodeData added in v0.0.37

type NodeData struct {
	ID             string     `json:"id,omitempty"`
	NodeType       string     `json:"nodeType,omitempty"`
	ConnectionID   string     `json:"connectionId,omitempty"`
	ConnectorID    string     `json:"connectorId,omitempty"`
	Name           string     `json:"name,omitempty"`
	Label          string     `json:"label,omitempty"`
	Status         string     `json:"status,omitempty"`
	CapabilityName string     `json:"capabilityName,omitempty"`
	Type           string     `json:"type,omitempty"`
	Properties     Properties `json:"properties"`
	Source         string     `json:"source,omitempty"`
	Target         string     `json:"target,omitempty"`
}

type Nodes added in v0.0.32

type Nodes struct {
	Data       NodeData `json:"data,omitempty"`
	Position   Position `json:"position,omitempty"`
	Group      string   `json:"group"`
	Removed    bool     `json:"removed"`
	Selected   bool     `json:"selected"`
	Selectable bool     `json:"selectable"`
	Locked     bool     `json:"locked"`
	Grabbable  bool     `json:"grabbable"`
	Pannable   bool     `json:"pannable"`
	Classes    string   `json:"classes"`
}

type Oauth

type Oauth struct {
	Enabled bool         `json:"enabled,omitempty"`
	Values  *OauthValues `json:"values,omitempty"`
}

type OauthValues

type OauthValues struct {
	Enabled                    bool     `json:"enabled,omitempty"`
	ClientSecret               string   `json:"clientSecret,omitempty"`
	RedirectUris               []string `json:"redirectUris,omitempty"`
	LogoutUris                 []string `json:"logoutUris,omitempty"`
	AllowedScopes              []string `json:"allowedScopes,omitempty"`
	AllowedGrants              []string `json:"allowedGrants,omitempty"`
	EnforceSignedRequestOpenid bool     `json:"enforceSignedRequestOpenid,omitempty"`
	SpjwksUrl                  string   `json:"spjwksUrl,omitempty"`
	SpJwksOpenid               string   `json:"spJwksOpenid,omitempty"`
}

type Options added in v0.0.37

type Options struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

type OutputSchema added in v0.0.44

type OutputSchema struct {
	Output interface{} `json:"output,omitempty"`
}

type Pan added in v0.0.32

type Pan struct {
	X float64 `json:"x,omitempty"`
	Y float64 `json:"y,omitempty"`
}

type Params

type Params struct {
	Page        string
	Limit       string
	ExtraParams map[string]string
}

func (Params) QueryParams

func (args Params) QueryParams() url.Values

type Placeholder added in v0.0.37

type Placeholder struct {
	Name          string      `json:"name,omitempty"`
	Description   string      `json:"description,omitempty"`
	Type          string      `json:"type,omitempty"`
	Value         interface{} `json:"value,omitempty"`
	MinLength     string      `json:"minLength,omitempty"`
	MaxLength     string      `json:"maxLength,omitempty"`
	Required      bool        `json:"required,omitempty"`
	AttributeType string      `json:"attributeType,omitempty"`
}

type Policy added in v0.0.30

type Policy struct {
	PolicyFlows []PolicyFlow `json:"flows,omitempty"`
	Name        string       `json:"name,omitempty"`
	Status      string       `json:"status,omitempty"`
	PolicyID    string       `json:"policyId,omitempty"`
	CreatedDate int64        `json:"createdDate,omitempty"`
	Trigger     *Trigger     `json:"trigger,omitempty"`
}

type PolicyFlow added in v0.0.30

type PolicyFlow struct {
	FlowID       string   `json:"flowId,omitempty"`
	VersionID    int      `json:"versionId,omitempty"`
	Weight       int      `json:"weight,omitempty"`
	SuccessNodes []string `json:"successNodes,omitempty"`
}

type Position added in v0.0.32

type Position struct {
	X float64 `json:"x,omitempty"`
	Y float64 `json:"y,omitempty"`
}

type Properties

type Properties map[string]interface{}

type ProviderName added in v0.0.37

type ProviderName struct {
	DisplayName          string `json:"displayName,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Required             bool   `json:"required,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
	Value                string `json:"value,omitempty"`
}

type ReadApp

type ReadApp struct {
	App App `json:"app"`
}

type Renderer added in v0.0.32

type Renderer struct {
	Name string `json:"name,omitempty"`
}

type ReturnToURL added in v0.0.37

type ReturnToURL struct {
	DisplayName          string `json:"displayName,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Info                 string `json:"info,omitempty"`
	Value                string `json:"value,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
}

type Role

type Role struct {
	ID struct {
		Name      string `json:"name,omitempty"`
		CompanyID string `json:"companyId,omitempty"`
	} `json:"_id,omitempty"`
	CreatedDate int64  `json:"createdDate,omitempty"`
	Description string `json:"description,omitempty"`
	Policy      []struct {
		Resource string `json:"resource,omitempty"`
		Actions  []struct {
			Action string `json:"action,omitempty"`
			Allow  bool   `json:"allow,omitempty"`
		} `json:"actions,omitempty"`
	} `json:"policy,omitempty"`
}

TODO: Cleanup roles

type RoleCreate

type RoleCreate struct {
	Name string `json:"name"`
}

type RoleCreateResponse

type RoleCreateResponse struct {
	ID struct {
		Name      string `json:"name,omitempty"`
		CompanyID string `json:"companyId,omitempty"`
	} `json:"_id,omitempty"`
	CreatedDate int64 `json:"createdDate,omitempty"`
}

type RoleUpdate

type RoleUpdate struct {
	Description string `json:"description,omitempty"`
	Policy      []struct {
		Resource string `json:"resource,omitempty"`
		Actions  []struct {
			Action string `json:"action,omitempty"`
			Allow  bool   `json:"allow,omitempty"`
		} `json:"actions,omitempty"`
	} `json:"policy,omitempty"`
}

type Saml

type Saml struct {
	Values *SamlValues `json:"values,omitempty"`
}

type SamlValues

type SamlValues struct {
	Enabled              bool   `json:"enabled,omitempty"`
	RedirectURI          string `json:"redirectUri,omitempty"`
	Audience             string `json:"audience,omitempty"`
	EnforceSignedRequest bool   `json:"enforceSignedRequest,omitempty"`
	SpCert               string `json:"spCert,omitempty"`
}

type Scope added in v0.0.37

type Scope struct {
	DisplayName          string `json:"displayName,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Required             bool   `json:"required,omitempty"`
	Value                string `json:"value,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
}

type SkRedirectURI added in v0.0.37

type SkRedirectURI struct {
	DisplayName          string `json:"displayName,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Disabled             bool   `json:"disabled,omitempty"`
	InitializeValue      string `json:"initializeValue,omitempty"`
	CopyToClip           bool   `json:"copyToClip,omitempty"`
}

type SkSdkToken

type SkSdkToken struct {
	CapabilityName string `json:"capabilityName"`
	AccessToken    string `json:"access_token"`
	TokenType      string `json:"token_type"`
	ExpiresIn      int    `json:"expires_in"`
	Success        bool   `json:"success"`
}

type SubFlowID added in v0.0.32

type SubFlowID struct {
	Value SubFlowValue `json:"value,omitempty" mapstructure:"value"`
}

type SubFlowProperties added in v0.0.32

type SubFlowProperties struct {
	SubFlowID        SubFlowID        `json:"subFlowId,omitempty" mapstructure:"subFlowId"`
	SubFlowVersionID SubFlowVersionID `json:"subFlowVersionId,omitempty" mapstructure:"subFlowVersionId"`
}

Used for type assertion on Properties of a Node Data

type SubFlowValue added in v0.0.32

type SubFlowValue struct {
	Label string `json:"label,omitempty" mapstructure:"label"`
	Value string `json:"value,omitempty" mapstructure:"value"`
}
type ShowContinueButton struct {
	Value bool `json:"value,omitempty"`
}

type SubFlowVersionID added in v0.0.32

type SubFlowVersionID struct {
	Value string `json:"value,omitempty" mapstructure:"value"`
}

type TokenEndpoint added in v0.0.37

type TokenEndpoint struct {
	DisplayName          string `json:"displayName,omitempty"`
	PreferredControlType string `json:"preferredControlType,omitempty"`
	Required             bool   `json:"required,omitempty"`
	Value                string `json:"value,omitempty"`
	Placeholder          string `json:"placeholder,omitempty"`
}

type Trigger added in v0.0.42

type Trigger struct {
	TriggerType string `json:"type,omitempty"`
}

type UpdateAnnotationProperties added in v0.0.49

type UpdateAnnotationProperties struct {
	Type           string                  `json:"type,omitempty"`
	Title          string                  `json:"title,omitempty"`
	SubTitle       string                  `json:"subTitle,omitempty"`
	UserViews      []interface{}           `json:"userViews,omitempty"`
	FlowConfigView ConnectorFlowConfigView `json:"flowConfigView,omitempty"`
}

type UserConnectorAttributeMapping added in v0.0.37

type UserConnectorAttributeMapping struct {
	Type                 string                                   `json:"type,omitempty"`
	DisplayName          interface{}                              `json:"displayName,omitempty"`
	PreferredControlType string                                   `json:"preferredControlType,omitempty"`
	NewMappingAllowed    bool                                     `json:"newMappingAllowed,omitempty"`
	Title1               interface{}                              `json:"title1,omitempty"`
	Title2               interface{}                              `json:"title2,omitempty"`
	Sections             []string                                 `json:"sections,omitempty"`
	Value                UserConnectorAttributeMappingValue       `json:"value,omitempty"`
	Placeholder          UserConnectorAttributeMappingPlaceholder `json:"placeholder,omitempty"`
}

type UserConnectorAttributeMappingPlaceholder added in v0.0.37

type UserConnectorAttributeMappingPlaceholder struct {
	UserPoolConnectionID string  `json:"userPoolConnectionId,omitempty"`
	Mapping              Mapping `json:"mapping,omitempty"`
}

type UserConnectorAttributeMappingValue added in v0.0.37

type UserConnectorAttributeMappingValue struct {
	UserPoolConnectionID string  `json:"userPoolConnectionId,omitempty"`
	Mapping              Mapping `json:"mapping,omitempty"`
}

type UserInfoEndpoint added in v0.0.37

type UserInfoEndpoint struct {
	DisplayName          string   `json:"displayName,omitempty"`
	PreferredControlType string   `json:"preferredControlType,omitempty"`
	Required             bool     `json:"required,omitempty"`
	Value                []string `json:"value,omitempty"`
	Placeholder          []string `json:"placeholder,omitempty"`
}

type UserPools

type UserPools struct {
	ConnectionID string `json:"connectionId,omitempty"`
	ConnectorID  string `json:"connectorId,omitempty"`
}

type UserPortal

type UserPortal struct {
	Values *UserPortalValues `json:"values"`
}

type UserPortalValues

type UserPortalValues struct {
	UpTitle                 string `json:"upTitle"`
	AddAuthMethodTitle      string `json:"addAuthMethodTitle"`
	FlowTimeoutInSeconds    int    `json:"flowTimeoutInSeconds"`
	CredentialPageTitle     string `json:"credentialPageTitle"`
	CredentialPageSubTitle  string `json:"credentialPageSubTitle"`
	ShowUserInfo            bool   `json:"showUserInfo"`
	ShowMfaButton           bool   `json:"showMfaButton"`
	ShowVariables           bool   `json:"showVariables"`
	ShowLogoutButton        bool   `json:"showLogoutButton"`
	NameAuthMethodTitle     string `json:"nameAuthMethodTitle"`
	NameConfirmButtonText   string `json:"nameConfirmButtonText"`
	UpdateMessage           string `json:"updateMessage"`
	UpdateBodyMessage       string `json:"updateBodyMessage"`
	RemoveAuthMethodTitle   string `json:"removeAuthMethodTitle"`
	RemoveMessage           string `json:"removeMessage"`
	RemoveBodyMessage       string `json:"removeBodyMessage"`
	RemoveConfirmButtonText string `json:"removeConfirmButtonText"`
	RemoveCancelButtonText  string `json:"removeCancelButtonText"`
}

type Username added in v0.0.37

type Username struct {
	Value1 string `json:"value1,omitempty"`
}

type Values

type Values struct {
	Enabled       bool          `json:"enabled,omitempty"`
	ClientSecret  string        `json:"clientSecret,omitempty"`
	RedirectUris  []string      `json:"redirectUris,omitempty"`
	LogoutUris    []interface{} `json:"logoutUris,omitempty"`
	AllowedScopes []string      `json:"allowedScopes,omitempty"`
	AllowedGrants []string      `json:"allowedGrants,omitempty"`
}

type Variable added in v0.0.27

type Variable struct {
	Context     string `json:"context,omitempty"`
	CreatedDate int64  `json:"createdDate,omitempty"`
	CustomerID  string `json:"customerId,omitempty"`
	Type        string `json:"type,omitempty"`
	Visibility  string `json:"visibility,omitempty"`
	CompanyID   string `json:"companyId,omitempty"`
	TotalCount  int    `json:"totalCount,omitempty"`
	DisplayName string `json:"displayName,omitempty"`
	Value       string `json:"value,omitempty"`
	Mutable     bool   `json:"mutable,omitempty"`
	Min         int    `json:"min,omitempty"`
	Max         int    `json:"max,omitempty"`
}

type VariablePayload added in v0.0.27

type VariablePayload struct {
	Name string `json:"name,omitempty"`
	//Description in UI, displayName in API
	Description string `json:"displayName,omitempty"`
	FlowId      string `json:"flowId,omitempty"`
	Context     string `json:"context,omitempty" validate:"oneof=company flowInstance user flow"`
	Type        string `json:"type,omitempty"`
	Value       string `json:"value,omitempty"`
	Mutable     bool   `json:"mutable,omitempty"`
	Min         int    `json:"min,omitempty"`
	Max         int    `json:"max,omitempty"`
}

type VariablesValueInterface added in v0.0.46

type VariablesValueInterface struct {
	Context     string      `json:"context,omitempty"`
	CreatedDate int64       `json:"createdDate,omitempty"`
	CustomerID  string      `json:"customerId,omitempty"`
	Type        string      `json:"type,omitempty"`
	Visibility  string      `json:"visibility,omitempty"`
	CompanyID   string      `json:"companyId,omitempty"`
	TotalCount  int         `json:"totalCount,omitempty"`
	DisplayName string      `json:"displayName,omitempty"`
	Value       interface{} `json:"value,omitempty"`
	Mutable     bool        `json:"mutable,omitempty"`
	Min         int         `json:"min,omitempty"`
	Max         int         `json:"max,omitempty"`
}

Jump to

Keyboard shortcuts

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