Documentation
¶
Index ¶
- Constants
- Variables
- func AddCanvasMemory(canvasID uuid.UUID, namespace string, values any) error
- func AddCanvasMemoryInTransaction(tx *gorm.DB, canvasID uuid.UUID, namespace string, values any) error
- func CountActiveHumanUsersByOrganization(orgID string) (int64, error)
- func CountActiveHumanUsersByOrganizationInTransaction(tx *gorm.DB, orgID string) (int64, error)
- func CountActiveNodeExecutionsForRootEventInTransaction(tx *gorm.DB, rootEventID uuid.UUID) (int64, error)
- func CountActiveUsersByOrganizationIDs(orgIDs []string) (map[string]int64, error)
- func CountCanvasChangeRequestsFilteredInTransaction(tx *gorm.DB, workflowID uuid.UUID, options CanvasChangeRequestListOptions) (int64, error)
- func CountCanvasEvents(canvasID uuid.UUID, nodeID string) (int64, error)
- func CountCanvasesByOrganization(orgID string) (int64, error)
- func CountCanvasesByOrganizationIDs(orgIDs []string) (map[string]int64, error)
- func CountCanvasesByOrganizationInTransaction(tx *gorm.DB, orgID string) (int64, error)
- func CountIntegrationsByOrganization(orgID string) (int64, error)
- func CountIntegrationsByOrganizationInTransaction(tx *gorm.DB, orgID string) (int64, error)
- func CountNodeExecutions(workflowID uuid.UUID, nodeID string, states []string, results []string) (int64, error)
- func CountNodeQueueItems(workflowID uuid.UUID, nodeID string) (int64, error)
- func CountNodeQueueItemsForRootEventInTransaction(tx *gorm.DB, rootEventID uuid.UUID) (int64, error)
- func CountOrganizationsByBillingAccount(accountID string) (int64, error)
- func CountOrganizationsByBillingAccountInTransaction(tx *gorm.DB, accountID string) (int64, error)
- func CountPendingRequestsForExecutionsInTransaction(tx *gorm.DB, executionIDs []uuid.UUID) (int64, error)
- func CountPublishedCanvasVersionsInTransaction(tx *gorm.DB, workflowID uuid.UUID) (int64, error)
- func CountRecentMagicCodes(email string, since time.Time) (int64, error)
- func CountRecentMagicCodesInTransaction(tx *gorm.DB, email string, since time.Time) (int64, error)
- func CountRootCanvasEvents(canvasID uuid.UUID) (int64, error)
- func CountRunningExecutionsForNode(workflowID uuid.UUID, nodeID string) (int64, error)
- func CountRunningExecutionsForNodeInTransaction(tx *gorm.DB, workflowID uuid.UUID, nodeID string) (int64, error)
- func CreateCanvasChangeRequestApprovalInTransaction(tx *gorm.DB, approval *CanvasChangeRequestApproval) error
- func CreateNodeExecutionKVInTransaction(tx *gorm.DB, workflowID uuid.UUID, nodeID string, executionID uuid.UUID, ...) error
- func DeleteCanvasMemory(canvasID, memoryID uuid.UUID) error
- func DeleteCanvasMemoryInTransaction(tx *gorm.DB, canvasID, memoryID uuid.UUID) error
- func DeleteCanvasNode(tx *gorm.DB, node CanvasNode) error
- func DeleteEmailSettings(provider string) error
- func DeleteEmailSettingsInTransaction(tx *gorm.DB, provider string) error
- func DeleteGroupMetadata(groupName, domainType, domainID string) error
- func DeleteGroupMetadataInTransaction(tx *gorm.DB, groupName, domainType, domainID string) error
- func DeleteIntegrationSubscriptionsForNodeInTransaction(tx *gorm.DB, workflowID uuid.UUID, nodeID string) error
- func DeleteMetadataForOrganization(tx *gorm.DB, domainType, domainID string) error
- func DeleteRoleMetadata(roleName, domainType, domainID string) error
- func DeleteRoleMetadataInTransaction(tx *gorm.DB, roleName, domainType, domainID string) error
- func DemoteFromInstallationAdmin(accountID string) error
- func FindLiveCanvasSpecInTransaction(tx *gorm.DB, workflowID uuid.UUID) ([]Node, []Edge, error)
- func FindRoleMetadataByNames(roleNames []string, domainType, domainID string) (map[string]*RoleMetadata, error)
- func FormatDomain(domainType, domainID string) string
- func GenerateNodeID(blockName string, nodeName string) string
- func GenerateUniqueNodeID(node Node, reservedIDs map[string]bool) string
- func GetActiveOrganizationIDs() ([]string, error)
- func GetInstallationID() (string, error)
- func GetInstallationIDInTransaction(tx *gorm.DB) (string, error)
- func HardDeleteOrganization(id string) error
- func IncrementAndMaybeInvalidateCodes(email string, maxVerifyAttempts int) (bool, error)
- func IncrementAndMaybeInvalidateCodesInTransaction(conn *gorm.DB, email string, maxVerifyAttempts int) (bool, error)
- func InvalidateActiveMagicCodesInTransaction(tx *gorm.DB, email string) error
- func InvalidateCanvasChangeRequestApprovalsInTransaction(tx *gorm.DB, workflowID, changeRequestID uuid.UUID, invalidatedAt time.Time) error
- func IsCanvasVersioningEnabled(organizationID uuid.UUID) (bool, error)
- func IsCanvasVersioningEnabledInTransaction(tx *gorm.DB, organizationID uuid.UUID) (bool, error)
- func ListCanvasChangeRequestApprovalsByRequestIDsInTransaction(tx *gorm.DB, workflowID uuid.UUID, changeRequestIDs []uuid.UUID) (map[uuid.UUID][]CanvasChangeRequestApproval, error)
- func MarkOrganizationUsageLimitsSynced(orgID string, retentionWindowDays *int32, syncedAt time.Time) error
- func MarkOrganizationUsageLimitsSyncedIfNewer(orgID string, retentionWindowDays *int32, syncedAt time.Time) (bool, error)
- func MarkOrganizationUsageLimitsSyncedIfNewerInTransaction(tx *gorm.DB, orgID string, retentionWindowDays *int32, syncedAt time.Time) (bool, error)
- func MarkOrganizationUsageLimitsSyncedIfNoNewerThan(orgID string, retentionWindowDays *int32, maxExistingSyncedAt time.Time, ...) (bool, error)
- func MarkOrganizationUsageLimitsSyncedIfNoNewerThanInTransaction(tx *gorm.DB, orgID string, retentionWindowDays *int32, ...) (bool, error)
- func MarkOrganizationUsageLimitsSyncedInTransaction(tx *gorm.DB, orgID string, retentionWindowDays *int32, syncedAt time.Time) error
- func MarkOrganizationUsageSynced(orgID string, syncedAt time.Time) error
- func MarkOrganizationUsageSyncedIfUnset(orgID string, syncedAt time.Time) error
- func MarkOrganizationUsageSyncedIfUnsetInTransaction(tx *gorm.DB, orgID string, syncedAt time.Time) error
- func MarkOrganizationUsageSyncedInTransaction(tx *gorm.DB, orgID string, syncedAt time.Time) error
- func MarkOrganizationUsageSyncedWithLimitsIfNoNewerThan(orgID string, usageSyncedAt time.Time, retentionWindowDays *int32, ...) error
- func MarkOrganizationUsageSyncedWithLimitsIfNoNewerThanInTransaction(tx *gorm.DB, orgID string, usageSyncedAt time.Time, retentionWindowDays *int32, ...) error
- func NodeTypeName(node Node) string
- func PrefixGroup(groupName string) string
- func PrefixRole(role string) string
- func PrefixUser(userID string) string
- func PromoteToInstallationAdmin(accountID string) error
- func ResetStuckProvisioningWebhooks() (int64, error)
- func ResolveExecutionErrors(workflowID uuid.UUID, executionIDs []uuid.UUID) error
- func ResolveExecutionErrorsInTransaction(tx *gorm.DB, workflowID uuid.UUID, executionIDs []uuid.UUID) error
- func ResumeStateForNodeInTransaction(tx *gorm.DB, workflowID uuid.UUID, nodeID string) (string, error)
- func SaveInvitation(invitation *OrganizationInvitation) error
- func SaveInviteLink(inviteLink *OrganizationInviteLink) error
- func SoftDeleteOrganization(id string) error
- func SoftDeleteOrganizationInTransaction(tx *gorm.DB, id string) error
- func UpdateInstallationMetadata(metadata *InstallationMetadata) error
- func UpdateInstallationMetadataInTransaction(tx *gorm.DB, metadata *InstallationMetadata) error
- func UpsertEmailSettings(settings *EmailSettings) error
- func UpsertEmailSettingsInTransaction(tx *gorm.DB, settings *EmailSettings) error
- func UpsertGroupMetadata(groupName, domainType, domainID, displayName, description string) error
- func UpsertGroupMetadataInTransaction(tx *gorm.DB, groupName, domainType, domainID, displayName, description string) error
- func UpsertOrganizationAgentSettings(settings *OrganizationAgentSettings) error
- func UpsertOrganizationAgentSettingsInTransaction(tx *gorm.DB, settings *OrganizationAgentSettings) error
- func UpsertRoleMetadata(roleName, domainType, domainID, displayName, description string) error
- func UpsertRoleMetadataInTransaction(tx *gorm.DB, roleName, domainType, domainID, displayName, description string) error
- func ValidateDomainType(domainType string) error
- type Account
- func CreateAccount(name, email string) (*Account, error)
- func CreateAccountInTransaction(tx *gorm.DB, name, email string) (*Account, error)
- func FindAccountByEmail(email string) (*Account, error)
- func FindAccountByID(id string) (*Account, error)
- func FindAccountByProvider(provider, providerID string) (*Account, error)
- func ListAccounts(search string, limit, offset int) ([]Account, int64, error)
- func (a *Account) FindAccountProviderByID(provider, providerID string) (*AccountProvider, error)
- func (a *Account) FindPendingInvitations() ([]OrganizationInvitation, error)
- func (a *Account) GetAccountProvider(provider string) (*AccountProvider, error)
- func (a *Account) GetAccountProviders() ([]AccountProvider, error)
- func (a *Account) IsInstallationAdmin() bool
- func (a *Account) UpdateEmail(newEmail string) error
- func (a *Account) UpdateEmailForProvider(newEmail, provider, providerID string) error
- type AccountMagicCode
- func CreateAccountMagicCode(email, codeHash string, expiresAt time.Time) (*AccountMagicCode, error)
- func CreateAccountMagicCodeInTransaction(tx *gorm.DB, email, codeHash string, expiresAt time.Time) (*AccountMagicCode, error)
- func FindValidAccountMagicCode(email, codeHash string, maxVerifyAttempts int) (*AccountMagicCode, error)
- func FindValidAccountMagicCodeInTransaction(tx *gorm.DB, email, codeHash string, maxVerifyAttempts int) (*AccountMagicCode, error)
- type AccountPasswordAuth
- func CreateAccountPasswordAuth(accountID uuid.UUID, passwordHash string) (*AccountPasswordAuth, error)
- func CreateAccountPasswordAuthInTransaction(tx *gorm.DB, accountID uuid.UUID, passwordHash string) (*AccountPasswordAuth, error)
- func FindAccountPasswordAuthByAccountID(accountID uuid.UUID) (*AccountPasswordAuth, error)
- func FindAccountPasswordAuthByAccountIDInTransaction(tx *gorm.DB, accountID uuid.UUID) (*AccountPasswordAuth, error)
- type AccountProvider
- type Blueprint
- type BlueprintOutputChannel
- type BlueprintRef
- type BrowserAction
- type Canvas
- func FindCanvas(orgID, id uuid.UUID) (*Canvas, error)
- func FindCanvasByName(name string, organizationID uuid.UUID) (*Canvas, error)
- func FindCanvasInTransaction(tx *gorm.DB, orgID, id uuid.UUID) (*Canvas, error)
- func FindCanvasTemplate(id uuid.UUID) (*Canvas, error)
- func FindCanvasTemplateByName(name string) (*Canvas, error)
- func FindCanvasTemplateByNameInTransaction(tx *gorm.DB, name string) (*Canvas, error)
- func FindCanvasTemplateInTransaction(tx *gorm.DB, id uuid.UUID) (*Canvas, error)
- func FindCanvasWithoutOrgScope(id uuid.UUID) (*Canvas, error)
- func FindCanvasWithoutOrgScopeInTransaction(tx *gorm.DB, id uuid.UUID) (*Canvas, error)
- func FindUnscopedCanvas(id uuid.UUID) (*Canvas, error)
- func FindUnscopedCanvasInTransaction(tx *gorm.DB, id uuid.UUID) (*Canvas, error)
- func ListCanvases(orgID string, includeTemplates bool) ([]Canvas, error)
- func ListCanvasesPaginated(orgID, search string, limit, offset int) ([]Canvas, int64, error)
- func ListDeletedCanvases() ([]Canvas, error)
- func ListMaybeDeletedCanvasesByOrganizationInTransaction(tx *gorm.DB, orgID uuid.UUID) ([]Canvas, error)
- func LockCanvas(tx *gorm.DB, id uuid.UUID) (*Canvas, error)
- func (c *Canvas) BeforeCreate(_ *gorm.DB) error
- func (c *Canvas) BeforeSave(_ *gorm.DB) error
- func (c *Canvas) EffectiveChangeRequestApprovers() []CanvasChangeRequestApprover
- func (c *Canvas) FindNode(id string) (*CanvasNode, error)
- func (c *Canvas) SoftDelete() error
- func (c *Canvas) SoftDeleteInTransaction(tx *gorm.DB) error
- func (c *Canvas) TableName() string
- type CanvasChangeRequest
- func FindCanvasChangeRequest(workflowID, changeRequestID uuid.UUID) (*CanvasChangeRequest, error)
- func FindCanvasChangeRequestByVersionInTransaction(tx *gorm.DB, workflowID, versionID uuid.UUID) (*CanvasChangeRequest, error)
- func FindCanvasChangeRequestInTransaction(tx *gorm.DB, workflowID, changeRequestID uuid.UUID) (*CanvasChangeRequest, error)
- func ListCanvasChangeRequests(workflowID uuid.UUID) ([]CanvasChangeRequest, error)
- func ListCanvasChangeRequestsFilteredInTransaction(tx *gorm.DB, workflowID uuid.UUID, options CanvasChangeRequestListOptions) ([]CanvasChangeRequest, error)
- func ListCanvasChangeRequestsInTransaction(tx *gorm.DB, workflowID uuid.UUID) ([]CanvasChangeRequest, error)
- type CanvasChangeRequestApproval
- type CanvasChangeRequestApprover
- type CanvasChangeRequestListOptions
- type CanvasEvent
- func FindCanvasEvent(id uuid.UUID) (*CanvasEvent, error)
- func FindCanvasEventForCanvas(canvasID uuid.UUID, id uuid.UUID) (*CanvasEvent, error)
- func FindCanvasEventInTransaction(tx *gorm.DB, id uuid.UUID) (*CanvasEvent, error)
- func FindCanvasEvents(ids []string) ([]CanvasEvent, error)
- func FindCanvasEventsForExecutions(executionIDs []string) ([]CanvasEvent, error)
- func FindLastEventPerNode(canvasID uuid.UUID) ([]CanvasEvent, error)
- func ListCanvasEvents(canvasID uuid.UUID, nodeID string, limit int, before *time.Time) ([]CanvasEvent, error)
- func ListCanvasEventsForExecutionsInTransaction(tx *gorm.DB, executionIDs []uuid.UUID) ([]CanvasEvent, error)
- func ListExpiredRoutedRootCanvasEvents(referenceTime time.Time, limit int) ([]CanvasEvent, error)
- func ListExpiredRoutedRootCanvasEventsInTransaction(tx *gorm.DB, referenceTime time.Time, limit int) ([]CanvasEvent, error)
- func ListPendingCanvasEvents() ([]CanvasEvent, error)
- func ListRootCanvasEvents(canvasID uuid.UUID, limit int, before *time.Time) ([]CanvasEvent, error)
- func LockCanvasEvent(tx *gorm.DB, id uuid.UUID) (*CanvasEvent, error)
- func LockExpiredRoutedRootCanvasEvent(tx *gorm.DB, id uuid.UUID, referenceTime time.Time) (*CanvasEvent, error)
- type CanvasMemory
- func DeleteCanvasMemoriesByNamespaceAndMatches(canvasID uuid.UUID, namespace string, matches map[string]any) ([]CanvasMemory, error)
- func DeleteCanvasMemoriesByNamespaceAndMatchesInTransaction(tx *gorm.DB, canvasID uuid.UUID, namespace string, matches map[string]any) ([]CanvasMemory, error)
- func FindFirstCanvasMemoryByNamespaceAndMatches(canvasID uuid.UUID, namespace string, matches map[string]any) (*CanvasMemory, error)
- func FindFirstCanvasMemoryByNamespaceAndMatchesInTransaction(tx *gorm.DB, canvasID uuid.UUID, namespace string, matches map[string]any) (*CanvasMemory, error)
- func ListCanvasMemories(canvasID uuid.UUID) ([]CanvasMemory, error)
- func ListCanvasMemoriesByNamespace(canvasID uuid.UUID, namespace string) ([]CanvasMemory, error)
- func ListCanvasMemoriesByNamespaceAndMatches(canvasID uuid.UUID, namespace string, matches map[string]any) ([]CanvasMemory, error)
- func ListCanvasMemoriesByNamespaceAndMatchesInTransaction(tx *gorm.DB, canvasID uuid.UUID, namespace string, matches map[string]any) ([]CanvasMemory, error)
- func ListCanvasMemoriesByNamespaceInTransaction(tx *gorm.DB, canvasID uuid.UUID, namespace string) ([]CanvasMemory, error)
- func ListCanvasMemoriesInTransaction(tx *gorm.DB, canvasID uuid.UUID) ([]CanvasMemory, error)
- func UpdateCanvasMemoriesByNamespaceAndMatches(canvasID uuid.UUID, namespace string, matches map[string]any, ...) ([]CanvasMemory, error)
- func UpdateCanvasMemoriesByNamespaceAndMatchesInTransaction(tx *gorm.DB, canvasID uuid.UUID, namespace string, matches map[string]any, ...) ([]CanvasMemory, error)
- type CanvasNode
- func FindCanvasNode(tx *gorm.DB, canvasID uuid.UUID, nodeID string) (*CanvasNode, error)
- func FindCanvasNodes(canvasID uuid.UUID) ([]CanvasNode, error)
- func FindCanvasNodesByIDs(tx *gorm.DB, canvasID uuid.UUID, nodeIDs []string) ([]CanvasNode, error)
- func FindCanvasNodesInTransaction(tx *gorm.DB, workflowID uuid.UUID) ([]CanvasNode, error)
- func FindCanvasNodesUnscoped(workflowID uuid.UUID) ([]CanvasNode, error)
- func FindCanvasNodesUnscopedInTransaction(tx *gorm.DB, workflowID uuid.UUID) ([]CanvasNode, error)
- func FindWebhookNodes(webhookID uuid.UUID) ([]CanvasNode, error)
- func FindWebhookNodesInTransaction(tx *gorm.DB, webhookID uuid.UUID) ([]CanvasNode, error)
- func ListCanvasNodesReady() ([]CanvasNode, error)
- func ListReadyTriggers() ([]CanvasNode, error)
- func LockCanvasNode(tx *gorm.DB, workflowID uuid.UUID, nodeId string) (*CanvasNode, error)
- func LockCanvasNodeForUpdate(tx *gorm.DB, workflowID uuid.UUID, nodeId string) (*CanvasNode, error)
- func (c *CanvasNode) CreateRequest(tx *gorm.DB, reqType string, spec NodeExecutionRequestSpec, runAt *time.Time) error
- func (c *CanvasNode) FirstQueueItem(tx *gorm.DB) (*CanvasNodeQueueItem, error)
- func (c *CanvasNode) TableName() string
- func (c *CanvasNode) UpdateState(tx *gorm.DB, state string) error
- type CanvasNodeExecution
- func CreatePendingChildExecution(tx *gorm.DB, parent *CanvasNodeExecution, childNodeID string, ...) (*CanvasNodeExecution, error)
- func FindChildExecutions(parentExecutionID uuid.UUID, states []string) ([]CanvasNodeExecution, error)
- func FindChildExecutionsForMultiple(parentExecutionIDs []string) ([]CanvasNodeExecution, error)
- func FindChildExecutionsInTransaction(tx *gorm.DB, parentExecutionID uuid.UUID, states []string) ([]CanvasNodeExecution, error)
- func FindLastExecutionPerNode(workflowID uuid.UUID) ([]CanvasNodeExecution, error)
- func FindNodeExecution(workflowID, id uuid.UUID) (*CanvasNodeExecution, error)
- func FindNodeExecutionInTransaction(tx *gorm.DB, workflowID, id uuid.UUID) (*CanvasNodeExecution, error)
- func FindNodeExecutionWithNodeID(workflowID, id uuid.UUID, nodeID string) (*CanvasNodeExecution, error)
- func FindNodeExecutionWithNodeIDInTransaction(tx *gorm.DB, workflowID, id uuid.UUID, nodeID string) (*CanvasNodeExecution, error)
- func FindNodeExecutionsByIDs(workflowID uuid.UUID, executionIDs []uuid.UUID) ([]CanvasNodeExecution, error)
- func FindNodeExecutionsByIDsInTransaction(tx *gorm.DB, workflowID uuid.UUID, executionIDs []uuid.UUID) ([]CanvasNodeExecution, error)
- func FirstNodeExecutionByKVInTransaction(tx *gorm.DB, workflowID uuid.UUID, nodeID, key, value string) (*CanvasNodeExecution, error)
- func ListAllExecutionsForRootEvent(rootEventID uuid.UUID) ([]CanvasNodeExecution, error)
- func ListAllExecutionsForRootEventInTransaction(tx *gorm.DB, rootEventID uuid.UUID) ([]CanvasNodeExecution, error)
- func ListNodeExecutions(workflowID uuid.UUID, nodeID string, states []string, results []string, ...) ([]CanvasNodeExecution, error)
- func ListParentExecutionsForRootEvents(canvasID uuid.UUID, rootEventIDs []uuid.UUID) ([]CanvasNodeExecution, error)
- func ListParentExecutionsForRootEventsInTransaction(tx *gorm.DB, canvasID uuid.UUID, rootEventIDs []uuid.UUID) ([]CanvasNodeExecution, error)
- func ListPendingNodeExecutions() ([]CanvasNodeExecution, error)
- func LockCanvasNodeExecution(tx *gorm.DB, id uuid.UUID) (*CanvasNodeExecution, error)
- func (e *CanvasNodeExecution) Cancel(cancelledBy *uuid.UUID) error
- func (e *CanvasNodeExecution) CancelInTransaction(tx *gorm.DB, cancelledBy *uuid.UUID) error
- func (e *CanvasNodeExecution) CreateRequest(tx *gorm.DB, reqType string, spec NodeExecutionRequestSpec, runAt *time.Time) error
- func (e *CanvasNodeExecution) Fail(reason, message string) error
- func (e *CanvasNodeExecution) FailInTransaction(tx *gorm.DB, reason, message string) error
- func (e *CanvasNodeExecution) GetInput(tx *gorm.DB) (any, error)
- func (e *CanvasNodeExecution) GetOutputs() ([]CanvasEvent, error)
- func (e *CanvasNodeExecution) GetOutputsInTransaction(tx *gorm.DB) ([]CanvasEvent, error)
- func (e *CanvasNodeExecution) GetParentExecutionID() string
- func (e *CanvasNodeExecution) GetPreviousExecutionID() string
- func (e *CanvasNodeExecution) Pass(outputs map[string][]any) ([]CanvasEvent, error)
- func (e *CanvasNodeExecution) PassInTransaction(tx *gorm.DB, channelOutputs map[string][]any) ([]CanvasEvent, error)
- func (e *CanvasNodeExecution) Start() error
- func (e *CanvasNodeExecution) StartInTransaction(tx *gorm.DB) error
- func (e *CanvasNodeExecution) TableName() string
- type CanvasNodeExecutionKV
- type CanvasNodeQueueItem
- type CanvasNodeReference
- type CanvasNodeRequest
- type CanvasUserDraft
- type CanvasVersion
- func CreateCanvasSnapshotVersionInTransaction(tx *gorm.DB, workflowID uuid.UUID, ownerID uuid.UUID, nodes []Node, ...) (*CanvasVersion, error)
- func CreateOrResetCanvasDraftInTransaction(tx *gorm.DB, workflowID uuid.UUID, userID uuid.UUID, nodes []Node, ...) (*CanvasVersion, error)
- func CreatePublishedCanvasVersionInTransaction(tx *gorm.DB, workflowID uuid.UUID, ownerID *uuid.UUID, nodes []Node, ...) (*CanvasVersion, error)
- func FindCanvasVersion(workflowID, versionID uuid.UUID) (*CanvasVersion, error)
- func FindCanvasVersionInTransaction(tx *gorm.DB, workflowID, versionID uuid.UUID) (*CanvasVersion, error)
- func FindLiveCanvasVersionByCanvasInTransaction(tx *gorm.DB, canvas *Canvas) (*CanvasVersion, error)
- func FindLiveCanvasVersionInTransaction(tx *gorm.DB, workflowID uuid.UUID) (*CanvasVersion, error)
- func ListCanvasVersions(workflowID uuid.UUID) ([]CanvasVersion, error)
- func ListCanvasVersionsInTransaction(tx *gorm.DB, workflowID uuid.UUID) ([]CanvasVersion, error)
- func ListPublishedCanvasVersionsInTransaction(tx *gorm.DB, workflowID uuid.UUID, limit int, before *time.Time) ([]CanvasVersion, error)
- func PublishCanvasDraftInTransaction(tx *gorm.DB, workflowID uuid.UUID, userID uuid.UUID) (*CanvasVersion, error)
- func SaveCanvasDraftInTransaction(tx *gorm.DB, workflowID uuid.UUID, userID uuid.UUID, nodes []Node, ...) (*CanvasVersion, error)
- type ComponentRef
- type Edge
- type EmailSettings
- type GroupMetadata
- type InstallationMetadata
- type Integration
- func CreateIntegration(id, orgID uuid.UUID, appName string, installationName string, ...) (*Integration, error)
- func FindIntegration(orgID, integrationID uuid.UUID) (*Integration, error)
- func FindIntegrationByName(orgID uuid.UUID, integrationName string) (*Integration, error)
- func FindMaybeDeletedIntegrationInTransaction(tx *gorm.DB, integrationID uuid.UUID) (*Integration, error)
- func FindUnscopedIntegration(integrationID uuid.UUID) (*Integration, error)
- func FindUnscopedIntegrationInTransaction(tx *gorm.DB, integrationID uuid.UUID) (*Integration, error)
- func ListDeletedIntegrations() ([]Integration, error)
- func ListIntegrations(orgID uuid.UUID) ([]Integration, error)
- func ListMaybeDeletedIntegrationsByOrganizationInTransaction(tx *gorm.DB, orgID uuid.UUID) ([]Integration, error)
- func LockIntegration(tx *gorm.DB, ID uuid.UUID) (*Integration, error)
- func (a *Integration) CreateActionRequest(tx *gorm.DB, actionName string, parameters any, runAt *time.Time) error
- func (a *Integration) CreateSyncRequest(tx *gorm.DB, runAt *time.Time) error
- func (a *Integration) GetRequest(ID string) (*IntegrationRequest, error)
- func (a *Integration) ListRequests(reqType string) ([]IntegrationRequest, error)
- func (a *Integration) SoftDelete() error
- func (a *Integration) SoftDeleteInTransaction(tx *gorm.DB) error
- func (a *Integration) TableName() string
- type IntegrationInvokeAction
- type IntegrationRequest
- type IntegrationRequestSpec
- type IntegrationSecret
- type IntegrationSubscription
- type InvokeAction
- type Node
- type NodeExecutionRequestSpec
- type NodeRef
- type NodeSubscription
- type Organization
- func CreateOrganization(name, description string) (*Organization, error)
- func CreateOrganizationInTransaction(tx *gorm.DB, name, description string) (*Organization, error)
- func FindOrganizationByID(id string) (*Organization, error)
- func FindOrganizationByIDInTransaction(tx *gorm.DB, id string) (*Organization, error)
- func FindOrganizationByName(name string) (*Organization, error)
- func FindOrganizationsForAccount(email string) ([]Organization, error)
- func ListAllOrganizations(search string, limit, offset int) ([]Organization, int64, error)
- func ListDeletedOrganizations() ([]Organization, error)
- func ListDeletedOrganizationsInTransaction(tx *gorm.DB) ([]Organization, error)
- func ListOrganizationsByIDs(ids []string) ([]Organization, error)
- func ListOrganizationsPendingUsageLimitsRefresh(staleBefore time.Time, limit int) ([]Organization, error)
- func ListOrganizationsPendingUsageLimitsRefreshInTransaction(tx *gorm.DB, staleBefore time.Time, limit int) ([]Organization, error)
- func ListOrganizationsPendingUsageSync(limit int) ([]Organization, error)
- func ListOrganizationsPendingUsageSyncInTransaction(tx *gorm.DB, limit int) ([]Organization, error)
- func LockDeletedOrganization(tx *gorm.DB, id uuid.UUID) (*Organization, error)
- type OrganizationAgentSettings
- type OrganizationInvitation
- func CreateInvitation(organizationID, invitedBy uuid.UUID, email, state string) (*OrganizationInvitation, error)
- func CreateInvitationInTransaction(tx *gorm.DB, organizationID, invitedBy uuid.UUID, email, state string) (*OrganizationInvitation, error)
- func FindInvitationByID(invitationID string) (*OrganizationInvitation, error)
- func FindInvitationByIDWithState(invitationID string, state string) (*OrganizationInvitation, error)
- func FindPendingInvitation(email, organizationID string) (*OrganizationInvitation, error)
- func FindPendingInvitationInTransaction(tx *gorm.DB, email, organizationID string) (*OrganizationInvitation, error)
- func ListInvitationsInState(organizationID string, state string) ([]OrganizationInvitation, error)
- type OrganizationInviteLink
- func CreateInviteLink(organizationID uuid.UUID) (*OrganizationInviteLink, error)
- func CreateInviteLinkInTransaction(tx *gorm.DB, organizationID uuid.UUID) (*OrganizationInviteLink, error)
- func FindInviteLinkByOrganizationID(organizationID string) (*OrganizationInviteLink, error)
- func FindInviteLinkByOrganizationIDInTransaction(tx *gorm.DB, organizationID string) (*OrganizationInviteLink, error)
- func FindInviteLinkByToken(token string) (*OrganizationInviteLink, error)
- func FindInviteLinkByTokenInTransaction(tx *gorm.DB, token string) (*OrganizationInviteLink, error)
- type Position
- type RoleMetadata
- type Secret
- func CreateSecret(name, provider, requesterID, domainType string, domainID uuid.UUID, ...) (*Secret, error)
- func FindSecretByID(domainType string, domainID uuid.UUID, id string) (*Secret, error)
- func FindSecretByIDInTransaction(tx *gorm.DB, domainType string, domainID uuid.UUID, id string) (*Secret, error)
- func FindSecretByName(domainType string, domainID uuid.UUID, name string) (*Secret, error)
- func FindSecretByNameInTransaction(tx *gorm.DB, domainType string, domainID uuid.UUID, name string) (*Secret, error)
- func ListSecrets(domainType string, domainID uuid.UUID) ([]Secret, error)
- type SecretData
- type TriggerRef
- type User
- func CreateServiceAccount(tx *gorm.DB, orgID uuid.UUID, name string, description *string, ...) (*User, error)
- func CreateUser(orgID, accountID uuid.UUID, email, name string) (*User, error)
- func CreateUserInTransaction(tx *gorm.DB, orgID, accountID uuid.UUID, email, name string) (*User, error)
- func FindActiveUserByEmail(orgID, email string) (*User, error)
- func FindActiveUserByID(orgID, id string) (*User, error)
- func FindActiveUserByIDInTransaction(tx *gorm.DB, orgID, id string) (*User, error)
- func FindActiveUserByTokenHash(tokenHash string) (*User, error)
- func FindAnyUserByEmail(email string) (*User, error)
- func FindFirstHumanUserByOrganization(orgID string) (*User, error)
- func FindFirstHumanUserByOrganizationInTransaction(tx *gorm.DB, orgID string) (*User, error)
- func FindHumanUsersByIDs(ids []string) ([]User, error)
- func FindMaybeDeletedUserByEmail(orgID, email string) (*User, error)
- func FindMaybeDeletedUserByEmailInTransaction(tx *gorm.DB, orgID, email string) (*User, error)
- func FindMaybeDeletedUserByID(orgID, id string) (*User, error)
- func FindMaybeDeletedUsersByIDs(ids []uuid.UUID) ([]User, error)
- func FindServiceAccountsByOrganization(orgID string) ([]User, error)
- func FindServiceAccountsByOrganizationInTransaction(tx *gorm.DB, orgID string) ([]User, error)
- func FindUnscopedUserByID(id string) (*User, error)
- func FindUsersByIDs(ids []string) ([]User, error)
- func ListActiveUsersByID(orgID string, ids []string) ([]User, error)
- func ListActiveUsersByIDInTransaction(tx *gorm.DB, orgID string, ids []string) ([]User, error)
- func ListActiveUsersByOrganization(orgID, search string, limit, offset int) ([]User, int64, error)
- type Webhook
- func FindWebhook(id uuid.UUID) (*Webhook, error)
- func FindWebhookInTransaction(tx *gorm.DB, id uuid.UUID) (*Webhook, error)
- func ListDeletedWebhooks() ([]Webhook, error)
- func ListIntegrationWebhooks(tx *gorm.DB, integrationID uuid.UUID) ([]Webhook, error)
- func ListPendingWebhooks() ([]Webhook, error)
- func ListUnscopedIntegrationWebhooks(tx *gorm.DB, integrationID uuid.UUID) ([]Webhook, error)
- func LockDeletedWebhook(tx *gorm.DB, ID uuid.UUID) (*Webhook, error)
- func LockWebhook(tx *gorm.DB, ID uuid.UUID) (*Webhook, error)
- func (w *Webhook) HasExceededRetries() bool
- func (w *Webhook) IncrementRetry(tx *gorm.DB) error
- func (w *Webhook) MarkFailed(tx *gorm.DB) error
- func (w *Webhook) MarkProvisioning(tx *gorm.DB) error
- func (w *Webhook) Ready(tx *gorm.DB) error
- func (w *Webhook) ReadyWithMetadata(tx *gorm.DB, metadata any) error
- type WebhookResource
- type WidgetRef
Constants ¶
const ( CanvasChangeRequestStatusOpen = "open" CanvasChangeRequestStatusPublished = "published" CanvasChangeRequestStatusRejected = "rejected" CanvasChangeRequestApproverTypeAnyone = "anyone" CanvasChangeRequestApproverTypeUser = "user" CanvasChangeRequestApproverTypeRole = "role" CanvasChangeRequestApprovalStateApproved = "approved" CanvasChangeRequestApprovalStateRejected = "rejected" CanvasChangeRequestApprovalStateUnapproved = "unapproved" )
const ( CanvasEventStatePending = "pending" CanvasEventStateRouted = "routed" )
const ( CanvasNodeStateReady = "ready" CanvasNodeStateProcessing = "processing" CanvasNodeStateError = "error" CanvasNodeStatePaused = "paused" NodeTypeTrigger = "trigger" NodeTypeComponent = "component" NodeTypeBlueprint = "blueprint" NodeTypeWidget = "widget" )
const ( CanvasNodeExecutionStatePending = "pending" CanvasNodeExecutionStateStarted = "started" CanvasNodeExecutionStateFinished = "finished" CanvasNodeExecutionResultPassed = "passed" CanvasNodeExecutionResultFailed = "failed" CanvasNodeExecutionResultCancelled = "cancelled" CanvasNodeExecutionResultReasonOk = "ok" CanvasNodeExecutionResultReasonError = "error" CanvasNodeExecutionResultReasonErrorResolved = "error_resolved" )
const ( NodeRequestTypeInvokeAction = "invoke-action" NodeExecutionRequestStatePending = "pending" NodeExecutionRequestStateCompleted = "completed" )
const ( ProviderGitHub = "github" ProviderGoogle = "google" DomainTypeOrganization = "org" DisplayNameOwner = "Owner" DisplayNameAdmin = "Admin" DisplayNameViewer = "Viewer" RoleOrgOwner = "org_owner" RoleOrgAdmin = "org_admin" RoleOrgViewer = "org_viewer" // Role descriptions DescOrgOwner = "Complete control over the organization including settings and deletion" DescOrgAdmin = "Full management access to organization resources including canvases and users" DescOrgViewer = "Read-only access to organization resources" // Metadata descriptions MetaDescOrgOwner = "Full control over organization settings, billing, and member management." MetaDescOrgAdmin = "Can manage canvases, users, groups, and roles within the organization." MetaDescOrgViewer = "Read-only access to organization resources and information." // User types UserTypeHuman = "human" UserTypeServiceAccount = "service_account" )
const ( IntegrationStatePending = "pending" IntegrationStateReady = "ready" IntegrationStateError = "error" )
const ( IntegrationRequestTypeSync = "sync" IntegrationRequestTypeInvokeAction = "invoke-action" IntegrationRequestStatePending = "pending" IntegrationRequestStateCompleted = "completed" )
const ( OrganizationAgentOpenAIKeyStatusNotConfigured = "not_configured" OrganizationAgentOpenAIKeyStatusValid = "valid" OrganizationAgentOpenAIKeyStatusInvalid = "invalid" OrganizationAgentOpenAIKeyStatusUnchecked = "unchecked" )
const ( InvitationStatePending = "pending" InvitationStateAccepted = "accepted" )
const ( WebhookStatePending = "pending" WebhookStateProvisioning = "provisioning" WebhookStateReady = "ready" WebhookStateFailed = "failed" )
const EmailProviderSMTP = "smtp"
Variables ¶
var ( ErrNameAlreadyUsed = fmt.Errorf("name already used") ErrInvitationAlreadyExists = fmt.Errorf("invitation already exists") )
var ErrCanvasDraftNotFound = errors.New("canvas draft not found")
var TemplateOrganizationID = uuid.Nil
Functions ¶
func AddCanvasMemory ¶ added in v0.10.0
func AddCanvasMemoryInTransaction ¶ added in v0.10.0
func CountActiveHumanUsersByOrganization ¶ added in v0.13.0
func CountActiveHumanUsersByOrganizationInTransaction ¶ added in v0.13.0
func CountActiveNodeExecutionsForRootEventInTransaction ¶ added in v0.13.0
func CountActiveUsersByOrganizationIDs ¶ added in v0.0.18
func CountCanvasChangeRequestsFilteredInTransaction ¶ added in v0.11.0
func CountCanvasEvents ¶ added in v0.6.0
func CountCanvasesByOrganization ¶ added in v0.13.0
func CountCanvasesByOrganizationIDs ¶ added in v0.6.0
func CountCanvasesByOrganizationInTransaction ¶ added in v0.13.0
func CountIntegrationsByOrganization ¶ added in v0.13.0
func CountIntegrationsByOrganizationInTransaction ¶ added in v0.13.0
func CountNodeExecutions ¶
func CountNodeQueueItems ¶
func CountNodeQueueItemsForRootEventInTransaction ¶ added in v0.13.0
func CountOrganizationsByBillingAccount ¶ added in v0.13.0
func CountOrganizationsByBillingAccountInTransaction ¶ added in v0.13.0
func CountPendingRequestsForExecutionsInTransaction ¶ added in v0.13.0
func CountPublishedCanvasVersionsInTransaction ¶ added in v0.11.0
func CountRecentMagicCodes ¶ added in v0.14.0
func CountRecentMagicCodesInTransaction ¶ added in v0.14.0
func CountRootCanvasEvents ¶ added in v0.6.0
func CountRunningExecutionsForNode ¶ added in v0.6.0
func CountRunningExecutionsForNodeInTransaction ¶ added in v0.6.0
func CreateCanvasChangeRequestApprovalInTransaction ¶ added in v0.12.0
func CreateCanvasChangeRequestApprovalInTransaction(tx *gorm.DB, approval *CanvasChangeRequestApproval) error
func CreateNodeExecutionKVInTransaction ¶ added in v0.6.0
func DeleteCanvasMemory ¶ added in v0.10.0
func DeleteCanvasMemoryInTransaction ¶ added in v0.10.0
func DeleteCanvasNode ¶ added in v0.6.0
func DeleteCanvasNode(tx *gorm.DB, node CanvasNode) error
func DeleteEmailSettings ¶ added in v0.15.0
func DeleteEmailSettingsInTransaction ¶ added in v0.15.0
func DeleteGroupMetadata ¶
func DeleteIntegrationSubscriptionsForNodeInTransaction ¶ added in v0.6.0
func DeleteRoleMetadata ¶
func DemoteFromInstallationAdmin ¶ added in v0.14.0
func FindLiveCanvasSpecInTransaction ¶ added in v0.11.0
func FindRoleMetadataByNames ¶
func FindRoleMetadataByNames(roleNames []string, domainType, domainID string) (map[string]*RoleMetadata, error)
func FormatDomain ¶
func GenerateNodeID ¶ added in v0.0.43
func GenerateUniqueNodeID ¶ added in v0.0.43
func GetInstallationID ¶ added in v0.1.0
func GetInstallationIDInTransaction ¶ added in v0.1.0
func HardDeleteOrganization ¶
func IncrementAndMaybeInvalidateCodes ¶ added in v0.14.0
IncrementAndMaybeInvalidateCodes atomically increments verify_attempts on all active codes for the given email. If the threshold is reached, it invalidates all active codes in the same transaction. Returns true if codes were invalidated.
func IncrementAndMaybeInvalidateCodesInTransaction ¶ added in v0.14.0
func InvalidateActiveMagicCodesInTransaction ¶ added in v0.14.0
func InvalidateCanvasChangeRequestApprovalsInTransaction ¶ added in v0.12.0
func IsCanvasVersioningEnabled ¶ added in v0.12.0
func IsCanvasVersioningEnabledInTransaction ¶ added in v0.12.0
func ListCanvasChangeRequestApprovalsByRequestIDsInTransaction ¶ added in v0.12.0
func MarkOrganizationUsageLimitsSynced ¶ added in v0.13.0
func MarkOrganizationUsageLimitsSyncedIfNewer ¶ added in v0.13.0
func MarkOrganizationUsageLimitsSyncedIfNewerInTransaction ¶ added in v0.13.0
func MarkOrganizationUsageLimitsSyncedIfNoNewerThan ¶ added in v0.13.0
func MarkOrganizationUsageLimitsSyncedIfNoNewerThanInTransaction ¶ added in v0.13.0
func MarkOrganizationUsageLimitsSyncedInTransaction ¶ added in v0.13.0
func MarkOrganizationUsageSynced ¶ added in v0.13.0
func MarkOrganizationUsageSyncedIfUnset ¶ added in v0.13.0
func MarkOrganizationUsageSyncedIfUnsetInTransaction ¶ added in v0.13.0
func MarkOrganizationUsageSyncedInTransaction ¶ added in v0.13.0
func MarkOrganizationUsageSyncedWithLimitsIfNoNewerThan ¶ added in v0.13.0
func MarkOrganizationUsageSyncedWithLimitsIfNoNewerThanInTransaction ¶ added in v0.13.0
func NodeTypeName ¶ added in v0.0.43
func PrefixGroup ¶
func PrefixRole ¶
func PrefixUser ¶
func PromoteToInstallationAdmin ¶ added in v0.14.0
func ResetStuckProvisioningWebhooks ¶ added in v0.12.0
ResetStuckProvisioningWebhooks resets webhooks that have been stuck in "provisioning" state back to "pending". This handles the edge case where the process crashes during the external API call (Phase 2).
func ResolveExecutionErrors ¶ added in v0.1.5
func ResolveExecutionErrorsInTransaction ¶ added in v0.1.5
func ResumeStateForNodeInTransaction ¶ added in v0.6.0
func SaveInvitation ¶
func SaveInvitation(invitation *OrganizationInvitation) error
func SaveInviteLink ¶ added in v0.0.43
func SaveInviteLink(inviteLink *OrganizationInviteLink) error
func SoftDeleteOrganization ¶
func UpdateInstallationMetadata ¶ added in v0.15.0
func UpdateInstallationMetadata(metadata *InstallationMetadata) error
func UpdateInstallationMetadataInTransaction ¶ added in v0.15.0
func UpdateInstallationMetadataInTransaction(tx *gorm.DB, metadata *InstallationMetadata) error
func UpsertEmailSettings ¶ added in v0.0.43
func UpsertEmailSettings(settings *EmailSettings) error
func UpsertEmailSettingsInTransaction ¶ added in v0.0.43
func UpsertEmailSettingsInTransaction(tx *gorm.DB, settings *EmailSettings) error
func UpsertGroupMetadata ¶
func UpsertOrganizationAgentSettings ¶ added in v0.10.0
func UpsertOrganizationAgentSettings(settings *OrganizationAgentSettings) error
func UpsertOrganizationAgentSettingsInTransaction ¶ added in v0.10.0
func UpsertOrganizationAgentSettingsInTransaction(tx *gorm.DB, settings *OrganizationAgentSettings) error
func UpsertRoleMetadata ¶
func ValidateDomainType ¶
Types ¶
type Account ¶
type Account struct {
ID uuid.UUID `gorm:"primary_key;default:uuid_generate_v4()"`
Email string
Name string
InstallationAdmin bool `gorm:"default:false"`
}
func CreateAccount ¶
func FindAccountByEmail ¶
func FindAccountByID ¶
func FindAccountByProvider ¶
func ListAccounts ¶ added in v0.14.0
func (*Account) FindAccountProviderByID ¶
func (a *Account) FindAccountProviderByID(provider, providerID string) (*AccountProvider, error)
func (*Account) FindPendingInvitations ¶
func (a *Account) FindPendingInvitations() ([]OrganizationInvitation, error)
func (*Account) GetAccountProvider ¶
func (a *Account) GetAccountProvider(provider string) (*AccountProvider, error)
func (*Account) GetAccountProviders ¶
func (a *Account) GetAccountProviders() ([]AccountProvider, error)
func (*Account) IsInstallationAdmin ¶ added in v0.14.0
func (*Account) UpdateEmail ¶
func (*Account) UpdateEmailForProvider ¶
type AccountMagicCode ¶ added in v0.14.0
type AccountMagicCode struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()"`
Email string `gorm:"type:varchar(255);not null"`
CodeHash string `gorm:"type:varchar(64);not null"`
ExpiresAt time.Time `gorm:"not null"`
UsedAt *time.Time `gorm:"default:null"`
VerifyAttempts int `gorm:"not null;default:0"`
CreatedAt time.Time
}
func CreateAccountMagicCode ¶ added in v0.14.0
func CreateAccountMagicCode(email, codeHash string, expiresAt time.Time) (*AccountMagicCode, error)
func CreateAccountMagicCodeInTransaction ¶ added in v0.14.0
func FindValidAccountMagicCode ¶ added in v0.14.0
func FindValidAccountMagicCode(email, codeHash string, maxVerifyAttempts int) (*AccountMagicCode, error)
func FindValidAccountMagicCodeInTransaction ¶ added in v0.14.0
func (*AccountMagicCode) MarkUsed ¶ added in v0.14.0
func (c *AccountMagicCode) MarkUsed() (bool, error)
func (*AccountMagicCode) MarkUsedInTransaction ¶ added in v0.14.0
func (c *AccountMagicCode) MarkUsedInTransaction(tx *gorm.DB) (bool, error)
MarkUsedInTransaction atomically marks the code as used only if it hasn't been used yet. Returns true if the code was successfully marked, false if it was already used by a concurrent request.
func (AccountMagicCode) TableName ¶ added in v0.14.0
func (AccountMagicCode) TableName() string
type AccountPasswordAuth ¶ added in v0.0.18
type AccountPasswordAuth struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()"`
AccountID uuid.UUID
PasswordHash string
CreatedAt time.Time
UpdatedAt time.Time
}
func CreateAccountPasswordAuth ¶ added in v0.0.18
func CreateAccountPasswordAuth(accountID uuid.UUID, passwordHash string) (*AccountPasswordAuth, error)
func CreateAccountPasswordAuthInTransaction ¶ added in v0.0.18
func FindAccountPasswordAuthByAccountID ¶ added in v0.0.18
func FindAccountPasswordAuthByAccountID(accountID uuid.UUID) (*AccountPasswordAuth, error)
func FindAccountPasswordAuthByAccountIDInTransaction ¶ added in v0.0.18
func (AccountPasswordAuth) TableName ¶ added in v0.0.18
func (AccountPasswordAuth) TableName() string
func (*AccountPasswordAuth) UpdatePasswordHash ¶ added in v0.0.18
func (a *AccountPasswordAuth) UpdatePasswordHash(passwordHash string) error
func (*AccountPasswordAuth) UpdatePasswordHashInTransaction ¶ added in v0.0.18
func (a *AccountPasswordAuth) UpdatePasswordHashInTransaction(tx *gorm.DB, passwordHash string) error
type AccountProvider ¶
type AccountProvider struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()"`
AccountID uuid.UUID
Provider string
ProviderID string
Username string
Email string
Name string
AvatarURL string
AccessToken string
RefreshToken string
TokenExpiresAt *time.Time
CreatedAt time.Time
UpdatedAt time.Time
}
type Blueprint ¶
type Blueprint struct {
ID uuid.UUID
OrganizationID uuid.UUID
Name string
Description string
Icon string
Color string
CreatedBy *uuid.UUID
CreatedAt *time.Time
UpdatedAt *time.Time
Nodes datatypes.JSONSlice[Node]
Edges datatypes.JSONSlice[Edge]
Configuration datatypes.JSONSlice[configuration.Field]
OutputChannels datatypes.JSONSlice[BlueprintOutputChannel]
}
func FindBlueprint ¶
func FindBlueprintByName ¶
func FindUnscopedBlueprint ¶
func (*Blueprint) FindRootNode ¶
type BlueprintOutputChannel ¶
type BlueprintRef ¶
type BlueprintRef struct {
ID string `json:"id"`
}
type BrowserAction ¶
type Canvas ¶ added in v0.6.0
type Canvas struct {
ID uuid.UUID
OrganizationID uuid.UUID
LiveVersionID *uuid.UUID
IsTemplate bool
VersioningEnabled bool
ChangeRequestApprovers datatypes.JSONSlice[CanvasChangeRequestApprover]
Name string
Description string
CreatedBy *uuid.UUID
CreatedAt *time.Time
UpdatedAt *time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
func FindCanvasByName ¶ added in v0.6.0
func FindCanvasInTransaction ¶ added in v0.6.0
func FindCanvasTemplateByName ¶ added in v0.6.0
func FindCanvasTemplateByNameInTransaction ¶ added in v0.6.0
func FindCanvasTemplateInTransaction ¶ added in v0.6.0
func FindCanvasWithoutOrgScope ¶ added in v0.6.0
func FindCanvasWithoutOrgScopeInTransaction ¶ added in v0.6.0
func FindUnscopedCanvasInTransaction ¶ added in v0.6.0
func ListCanvases ¶ added in v0.6.0
func ListCanvasesPaginated ¶ added in v0.14.0
func ListDeletedCanvases ¶ added in v0.6.0
func ListMaybeDeletedCanvasesByOrganizationInTransaction ¶ added in v0.13.0
func (*Canvas) EffectiveChangeRequestApprovers ¶ added in v0.12.0
func (c *Canvas) EffectiveChangeRequestApprovers() []CanvasChangeRequestApprover
func (*Canvas) SoftDelete ¶ added in v0.6.0
func (*Canvas) SoftDeleteInTransaction ¶ added in v0.6.0
type CanvasChangeRequest ¶ added in v0.11.0
type CanvasChangeRequest struct {
ID uuid.UUID
WorkflowID uuid.UUID
VersionID uuid.UUID
OwnerID *uuid.UUID
BasedOnVersionID *uuid.UUID
Title string
Description string
Status string
ChangedNodeIDs datatypes.JSONSlice[string]
ConflictingNodeIDs datatypes.JSONSlice[string]
PublishedAt *time.Time
CreatedAt *time.Time
UpdatedAt *time.Time
}
func FindCanvasChangeRequest ¶ added in v0.11.0
func FindCanvasChangeRequest(workflowID, changeRequestID uuid.UUID) (*CanvasChangeRequest, error)
func FindCanvasChangeRequestByVersionInTransaction ¶ added in v0.11.0
func FindCanvasChangeRequestInTransaction ¶ added in v0.11.0
func ListCanvasChangeRequests ¶ added in v0.11.0
func ListCanvasChangeRequests(workflowID uuid.UUID) ([]CanvasChangeRequest, error)
func ListCanvasChangeRequestsFilteredInTransaction ¶ added in v0.11.0
func ListCanvasChangeRequestsFilteredInTransaction( tx *gorm.DB, workflowID uuid.UUID, options CanvasChangeRequestListOptions, ) ([]CanvasChangeRequest, error)
func ListCanvasChangeRequestsInTransaction ¶ added in v0.11.0
func (*CanvasChangeRequest) IsConflicted ¶ added in v0.12.0
func (c *CanvasChangeRequest) IsConflicted() bool
func (*CanvasChangeRequest) TableName ¶ added in v0.11.0
func (c *CanvasChangeRequest) TableName() string
type CanvasChangeRequestApproval ¶ added in v0.12.0
type CanvasChangeRequestApproval struct {
ID uuid.UUID
WorkflowID uuid.UUID
WorkflowChangeRequestID uuid.UUID `gorm:"column:workflow_change_request_id"`
ApproverIndex int
ApproverType string
ApproverUserID *uuid.UUID
ApproverRole *string
ActorUserID *uuid.UUID
State string
InvalidatedAt *time.Time
CreatedAt *time.Time
UpdatedAt *time.Time
}
func ListCanvasChangeRequestApprovals ¶ added in v0.12.0
func ListCanvasChangeRequestApprovals(workflowID, changeRequestID uuid.UUID) ([]CanvasChangeRequestApproval, error)
func ListCanvasChangeRequestApprovalsInTransaction ¶ added in v0.12.0
func (*CanvasChangeRequestApproval) TableName ¶ added in v0.12.0
func (c *CanvasChangeRequestApproval) TableName() string
type CanvasChangeRequestApprover ¶ added in v0.12.0
type CanvasChangeRequestApprover struct {
Type string `json:"type"`
User string `json:"user,omitempty"`
Role string `json:"role,omitempty"`
}
func DefaultCanvasChangeRequestApprovers ¶ added in v0.12.0
func DefaultCanvasChangeRequestApprovers() []CanvasChangeRequestApprover
type CanvasChangeRequestListOptions ¶ added in v0.11.0
type CanvasEvent ¶ added in v0.6.0
type CanvasEvent struct {
ID uuid.UUID `gorm:"primaryKey;default:uuid_generate_v4()"`
WorkflowID uuid.UUID
NodeID string
Channel string
CustomName *string
Data datatypes.JSONType[any]
ExecutionID *uuid.UUID
State string
CreatedAt *time.Time
}
func FindCanvasEvent ¶ added in v0.6.0
func FindCanvasEvent(id uuid.UUID) (*CanvasEvent, error)
func FindCanvasEventForCanvas ¶ added in v0.6.0
func FindCanvasEventInTransaction ¶ added in v0.6.0
func FindCanvasEvents ¶ added in v0.6.0
func FindCanvasEvents(ids []string) ([]CanvasEvent, error)
func FindCanvasEventsForExecutions ¶ added in v0.6.0
func FindCanvasEventsForExecutions(executionIDs []string) ([]CanvasEvent, error)
func FindLastEventPerNode ¶
func FindLastEventPerNode(canvasID uuid.UUID) ([]CanvasEvent, error)
FindLastEventPerNode finds the most recent event for each node in a workflow using DISTINCT ON to get one event per node_id, ordered by created_at DESC Only returns events for nodes that have not been deleted
func ListCanvasEvents ¶ added in v0.6.0
func ListCanvasEventsForExecutionsInTransaction ¶ added in v0.6.0
func ListExpiredRoutedRootCanvasEvents ¶ added in v0.13.0
func ListExpiredRoutedRootCanvasEvents(referenceTime time.Time, limit int) ([]CanvasEvent, error)
func ListExpiredRoutedRootCanvasEventsInTransaction ¶ added in v0.13.0
func ListPendingCanvasEvents ¶ added in v0.6.0
func ListPendingCanvasEvents() ([]CanvasEvent, error)
func ListRootCanvasEvents ¶ added in v0.6.0
func LockCanvasEvent ¶ added in v0.6.0
func LockExpiredRoutedRootCanvasEvent ¶ added in v0.13.0
func (*CanvasEvent) Routed ¶ added in v0.6.0
func (e *CanvasEvent) Routed() error
func (*CanvasEvent) RoutedInTransaction ¶ added in v0.6.0
func (e *CanvasEvent) RoutedInTransaction(tx *gorm.DB) error
func (*CanvasEvent) TableName ¶ added in v0.6.0
func (e *CanvasEvent) TableName() string
type CanvasMemory ¶ added in v0.10.0
type CanvasMemory struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()"`
CreatedAt time.Time
UpdatedAt time.Time
CanvasID uuid.UUID
Namespace string
Values datatypes.JSONType[any]
}
func DeleteCanvasMemoriesByNamespaceAndMatches ¶ added in v0.10.0
func DeleteCanvasMemoriesByNamespaceAndMatchesInTransaction ¶ added in v0.10.0
func FindFirstCanvasMemoryByNamespaceAndMatches ¶ added in v0.10.0
func FindFirstCanvasMemoryByNamespaceAndMatchesInTransaction ¶ added in v0.10.0
func ListCanvasMemories ¶ added in v0.10.0
func ListCanvasMemories(canvasID uuid.UUID) ([]CanvasMemory, error)
func ListCanvasMemoriesByNamespace ¶ added in v0.10.0
func ListCanvasMemoriesByNamespace(canvasID uuid.UUID, namespace string) ([]CanvasMemory, error)
func ListCanvasMemoriesByNamespaceAndMatches ¶ added in v0.10.0
func ListCanvasMemoriesByNamespaceAndMatchesInTransaction ¶ added in v0.10.0
func ListCanvasMemoriesByNamespaceInTransaction ¶ added in v0.10.0
func ListCanvasMemoriesInTransaction ¶ added in v0.10.0
func UpdateCanvasMemoriesByNamespaceAndMatches ¶ added in v0.10.0
func UpdateCanvasMemoriesByNamespaceAndMatchesInTransaction ¶ added in v0.10.0
func (CanvasMemory) TableName ¶ added in v0.10.0
func (CanvasMemory) TableName() string
type CanvasNode ¶ added in v0.6.0
type CanvasNode struct {
WorkflowID uuid.UUID `gorm:"primaryKey"`
NodeID string `gorm:"primaryKey"`
ParentNodeID *string
Name string
State string
StateReason *string
Type string
Position datatypes.JSONType[Position]
Ref datatypes.JSONType[NodeRef]
Configuration datatypes.JSONType[map[string]any]
Metadata datatypes.JSONType[map[string]any]
IsCollapsed bool
WebhookID *uuid.UUID
AppInstallationID *uuid.UUID
CreatedAt *time.Time
UpdatedAt *time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
func FindCanvasNode ¶ added in v0.6.0
func FindCanvasNodes ¶ added in v0.6.0
func FindCanvasNodes(canvasID uuid.UUID) ([]CanvasNode, error)
func FindCanvasNodesByIDs ¶ added in v0.6.0
func FindCanvasNodesInTransaction ¶ added in v0.6.0
func FindCanvasNodesUnscoped ¶ added in v0.6.0
func FindCanvasNodesUnscoped(workflowID uuid.UUID) ([]CanvasNode, error)
func FindCanvasNodesUnscopedInTransaction ¶ added in v0.6.0
func FindWebhookNodes ¶
func FindWebhookNodes(webhookID uuid.UUID) ([]CanvasNode, error)
func ListCanvasNodesReady ¶ added in v0.6.0
func ListCanvasNodesReady() ([]CanvasNode, error)
func ListReadyTriggers ¶
func ListReadyTriggers() ([]CanvasNode, error)
func LockCanvasNode ¶ added in v0.6.0
func LockCanvasNodeForUpdate ¶ added in v0.6.0
func (*CanvasNode) CreateRequest ¶ added in v0.6.0
func (c *CanvasNode) CreateRequest(tx *gorm.DB, reqType string, spec NodeExecutionRequestSpec, runAt *time.Time) error
func (*CanvasNode) FirstQueueItem ¶ added in v0.6.0
func (c *CanvasNode) FirstQueueItem(tx *gorm.DB) (*CanvasNodeQueueItem, error)
func (*CanvasNode) TableName ¶ added in v0.6.0
func (c *CanvasNode) TableName() string
func (*CanvasNode) UpdateState ¶ added in v0.6.0
func (c *CanvasNode) UpdateState(tx *gorm.DB, state string) error
type CanvasNodeExecution ¶ added in v0.6.0
type CanvasNodeExecution struct {
ID uuid.UUID `gorm:"primaryKey;default:uuid_generate_v4()"`
WorkflowID uuid.UUID
NodeID string
CreatedAt *time.Time
UpdatedAt *time.Time
//
// Reference to the root WorkflowEvent record that started
// this whole execution chain.
//
// This gives us an easy way to find all the executions
// for that event with a simple query.
//
RootEventID uuid.UUID
//
// Reference to the previous execution.
// This is what allows us to build execution chains,
// from any execution.
//
PreviousExecutionID *uuid.UUID
//
// Reference to the parent execution.
// This is used for node executions inside of a blueprint node,
// to reference the parent blueprint node execution.
//
ParentExecutionID *uuid.UUID
//
// The reference to a WorkflowEvent record,
// which holds the input for this execution.
//
EventID uuid.UUID
//
// State management fields.
//
State string
Result string
ResultReason string
ResultMessage string
CancelledBy *uuid.UUID
//
// Components can store metadata about each execution here.
// This allows them to control the behavior of each execution.
//
Metadata datatypes.JSONType[map[string]any]
//
// The configuration is copied from the node.
// This enables us to allow node configuration updates
// while executions are running.
// Only new executions will use the new node configuration.
//
Configuration datatypes.JSONType[map[string]any]
}
func CreatePendingChildExecution ¶
func CreatePendingChildExecution(tx *gorm.DB, parent *CanvasNodeExecution, childNodeID string, config map[string]any) (*CanvasNodeExecution, error)
func FindChildExecutions ¶
func FindChildExecutions(parentExecutionID uuid.UUID, states []string) ([]CanvasNodeExecution, error)
func FindChildExecutionsForMultiple ¶
func FindChildExecutionsForMultiple(parentExecutionIDs []string) ([]CanvasNodeExecution, error)
func FindLastExecutionPerNode ¶
func FindLastExecutionPerNode(workflowID uuid.UUID) ([]CanvasNodeExecution, error)
FindLastExecutionPerNode finds the most recent execution for each node in a workflow using DISTINCT ON to get one execution per node_id, ordered by created_at DESC Only returns executions for nodes that have not been deleted
func FindNodeExecution ¶
func FindNodeExecution(workflowID, id uuid.UUID) (*CanvasNodeExecution, error)
func FindNodeExecutionWithNodeID ¶
func FindNodeExecutionWithNodeID(workflowID, id uuid.UUID, nodeID string) (*CanvasNodeExecution, error)
func FindNodeExecutionsByIDs ¶ added in v0.1.5
func FindNodeExecutionsByIDsInTransaction ¶ added in v0.1.5
func ListAllExecutionsForRootEvent ¶ added in v0.15.0
func ListAllExecutionsForRootEvent(rootEventID uuid.UUID) ([]CanvasNodeExecution, error)
func ListAllExecutionsForRootEventInTransaction ¶ added in v0.15.0
func ListNodeExecutions ¶
func ListParentExecutionsForRootEvents ¶ added in v0.15.0
func ListParentExecutionsForRootEventsInTransaction ¶ added in v0.15.0
func ListPendingNodeExecutions ¶
func ListPendingNodeExecutions() ([]CanvasNodeExecution, error)
func LockCanvasNodeExecution ¶ added in v0.6.0
func (*CanvasNodeExecution) Cancel ¶ added in v0.6.0
func (e *CanvasNodeExecution) Cancel(cancelledBy *uuid.UUID) error
func (*CanvasNodeExecution) CancelInTransaction ¶ added in v0.6.0
func (*CanvasNodeExecution) CreateRequest ¶ added in v0.6.0
func (e *CanvasNodeExecution) CreateRequest(tx *gorm.DB, reqType string, spec NodeExecutionRequestSpec, runAt *time.Time) error
func (*CanvasNodeExecution) Fail ¶ added in v0.6.0
func (e *CanvasNodeExecution) Fail(reason, message string) error
func (*CanvasNodeExecution) FailInTransaction ¶ added in v0.6.0
func (e *CanvasNodeExecution) FailInTransaction(tx *gorm.DB, reason, message string) error
func (*CanvasNodeExecution) GetInput ¶ added in v0.6.0
func (e *CanvasNodeExecution) GetInput(tx *gorm.DB) (any, error)
func (*CanvasNodeExecution) GetOutputs ¶ added in v0.6.0
func (e *CanvasNodeExecution) GetOutputs() ([]CanvasEvent, error)
func (*CanvasNodeExecution) GetOutputsInTransaction ¶ added in v0.6.0
func (e *CanvasNodeExecution) GetOutputsInTransaction(tx *gorm.DB) ([]CanvasEvent, error)
func (*CanvasNodeExecution) GetParentExecutionID ¶ added in v0.6.0
func (e *CanvasNodeExecution) GetParentExecutionID() string
func (*CanvasNodeExecution) GetPreviousExecutionID ¶ added in v0.6.0
func (e *CanvasNodeExecution) GetPreviousExecutionID() string
func (*CanvasNodeExecution) Pass ¶ added in v0.6.0
func (e *CanvasNodeExecution) Pass(outputs map[string][]any) ([]CanvasEvent, error)
func (*CanvasNodeExecution) PassInTransaction ¶ added in v0.6.0
func (e *CanvasNodeExecution) PassInTransaction(tx *gorm.DB, channelOutputs map[string][]any) ([]CanvasEvent, error)
func (*CanvasNodeExecution) Start ¶ added in v0.6.0
func (e *CanvasNodeExecution) Start() error
func (*CanvasNodeExecution) StartInTransaction ¶ added in v0.6.0
func (e *CanvasNodeExecution) StartInTransaction(tx *gorm.DB) error
func (*CanvasNodeExecution) TableName ¶ added in v0.6.0
func (e *CanvasNodeExecution) TableName() string
type CanvasNodeExecutionKV ¶ added in v0.6.0
type CanvasNodeExecutionKV struct {
ID uuid.UUID `gorm:"type:uuid;primaryKey;default:gen_random_uuid()"`
WorkflowID uuid.UUID `gorm:"type:uuid;not null"`
NodeID string `gorm:"type:varchar(128);not null"`
ExecutionID uuid.UUID `gorm:"type:uuid;not null"`
Key string `gorm:"type:text;not null"`
Value string `gorm:"type:text;not null"`
CreatedAt *time.Time
}
func (*CanvasNodeExecutionKV) TableName ¶ added in v0.6.0
func (c *CanvasNodeExecutionKV) TableName() string
type CanvasNodeQueueItem ¶ added in v0.6.0
type CanvasNodeQueueItem struct {
ID uuid.UUID `gorm:"primaryKey;default:uuid_generate_v4()"`
WorkflowID uuid.UUID
NodeID string
CreatedAt *time.Time
//
// Reference to the root WorkflowEvent record that started
// this whole execution chain.
//
// This gives us an easy way to find all the queue items
// for that event with a simple query.
//
RootEventID uuid.UUID
RootEvent *CanvasEvent `gorm:"foreignKey:RootEventID"`
//
// The reference to a CanvasEvent record,
// which holds the input for this queue item.
//
EventID uuid.UUID
}
func FindNodeQueueItem ¶
func ListNodeQueueItems ¶
func (*CanvasNodeQueueItem) Delete ¶ added in v0.6.0
func (i *CanvasNodeQueueItem) Delete(tx *gorm.DB) error
func (*CanvasNodeQueueItem) TableName ¶ added in v0.6.0
func (i *CanvasNodeQueueItem) TableName() string
type CanvasNodeReference ¶ added in v0.7.0
type CanvasNodeReference struct {
CanvasID uuid.UUID
CanvasName string
NodeID string
NodeName string
}
func ListIntegrationNodeReferences ¶ added in v0.6.0
func ListIntegrationNodeReferences(integrationID uuid.UUID) ([]CanvasNodeReference, error)
type CanvasNodeRequest ¶ added in v0.6.0
type CanvasNodeRequest struct {
ID uuid.UUID
WorkflowID uuid.UUID
NodeID string
ExecutionID *uuid.UUID
State string
Type string
Spec datatypes.JSONType[NodeExecutionRequestSpec]
RunAt time.Time
CreatedAt time.Time
UpdatedAt time.Time
}
func ListNodeRequests ¶
func ListNodeRequests() ([]CanvasNodeRequest, error)
func LockNodeRequest ¶
func (*CanvasNodeRequest) Complete ¶ added in v0.6.0
func (r *CanvasNodeRequest) Complete(tx *gorm.DB) error
func (*CanvasNodeRequest) TableName ¶ added in v0.6.0
func (r *CanvasNodeRequest) TableName() string
type CanvasUserDraft ¶ added in v0.11.0
type CanvasUserDraft struct {
WorkflowID uuid.UUID `gorm:"primaryKey"`
UserID uuid.UUID `gorm:"primaryKey"`
VersionID uuid.UUID
CreatedAt *time.Time
UpdatedAt *time.Time
}
func FindCanvasDraftByVersionInTransaction ¶ added in v0.11.0
func FindCanvasDraftInTransaction ¶ added in v0.11.0
func (*CanvasUserDraft) TableName ¶ added in v0.11.0
func (c *CanvasUserDraft) TableName() string
type CanvasVersion ¶ added in v0.11.0
type CanvasVersion struct {
ID uuid.UUID
WorkflowID uuid.UUID
OwnerID *uuid.UUID
IsPublished bool
PublishedAt *time.Time
Nodes datatypes.JSONSlice[Node]
Edges datatypes.JSONSlice[Edge]
CreatedAt *time.Time
UpdatedAt *time.Time
}
func CreateCanvasSnapshotVersionInTransaction ¶ added in v0.11.0
func CreateOrResetCanvasDraftInTransaction ¶ added in v0.11.0
func CreatePublishedCanvasVersionInTransaction ¶ added in v0.11.0
func FindCanvasVersion ¶ added in v0.11.0
func FindCanvasVersion(workflowID, versionID uuid.UUID) (*CanvasVersion, error)
func FindCanvasVersionInTransaction ¶ added in v0.11.0
func FindLiveCanvasVersionByCanvasInTransaction ¶ added in v0.11.0
func FindLiveCanvasVersionByCanvasInTransaction(tx *gorm.DB, canvas *Canvas) (*CanvasVersion, error)
func FindLiveCanvasVersionInTransaction ¶ added in v0.11.0
func ListCanvasVersions ¶ added in v0.11.0
func ListCanvasVersions(workflowID uuid.UUID) ([]CanvasVersion, error)
func ListCanvasVersionsInTransaction ¶ added in v0.11.0
func ListPublishedCanvasVersionsInTransaction ¶ added in v0.11.0
func PublishCanvasDraftInTransaction ¶ added in v0.11.0
func SaveCanvasDraftInTransaction ¶ added in v0.11.0
func (*CanvasVersion) TableName ¶ added in v0.11.0
func (c *CanvasVersion) TableName() string
type ComponentRef ¶
type ComponentRef struct {
Name string `json:"name"`
}
type EmailSettings ¶ added in v0.0.43
type EmailSettings struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:uuid_generate_v4()"`
Provider string `gorm:"type:varchar(50);uniqueIndex"`
SMTPHost string
SMTPPort int
SMTPUsername string
SMTPPassword []byte
SMTPFromName string
SMTPFromEmail string
SMTPUseTLS bool
CreatedAt time.Time
UpdatedAt time.Time
}
func FindEmailSettings ¶ added in v0.0.43
func FindEmailSettings(provider string) (*EmailSettings, error)
func FindEmailSettingsInTransaction ¶ added in v0.0.43
func FindEmailSettingsInTransaction(tx *gorm.DB, provider string) (*EmailSettings, error)
type GroupMetadata ¶
type GroupMetadata struct {
ID uuid.UUID `json:"id" gorm:"type:uuid;primary_key;default:gen_random_uuid()"`
GroupName string `json:"group_name" gorm:"not null;index"`
DomainType string `json:"domain_type" gorm:"not null;index"`
DomainID string `json:"domain_id" gorm:"not null;index"`
DisplayName string `json:"display_name" gorm:"not null"`
Description string `json:"description"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
func FindGroupMetadata ¶
func FindGroupMetadata(groupName, domainType, domainID string) (*GroupMetadata, error)
func (*GroupMetadata) BeforeCreate ¶
func (gm *GroupMetadata) BeforeCreate(tx *gorm.DB) error
func (*GroupMetadata) Create ¶
func (gm *GroupMetadata) Create() error
func (*GroupMetadata) CreateInTransaction ¶
func (gm *GroupMetadata) CreateInTransaction(tx *gorm.DB) error
func (*GroupMetadata) Update ¶
func (gm *GroupMetadata) Update() error
func (*GroupMetadata) UpdateInTransaction ¶
func (gm *GroupMetadata) UpdateInTransaction(tx *gorm.DB) error
type InstallationMetadata ¶ added in v0.1.0
type InstallationMetadata struct {
ID int `gorm:"primary_key"`
InstallationID string `gorm:"type:varchar(64)"`
AllowPrivateNetworkAccess bool
CreatedAt time.Time
UpdatedAt time.Time
}
func GetInstallationMetadata ¶ added in v0.15.0
func GetInstallationMetadata() (*InstallationMetadata, error)
func GetInstallationMetadataInTransaction ¶ added in v0.15.0
func GetInstallationMetadataInTransaction(tx *gorm.DB) (*InstallationMetadata, error)
type Integration ¶
type Integration struct {
ID uuid.UUID `gorm:"primary_key;default:uuid_generate_v4()"`
OrganizationID uuid.UUID
AppName string
InstallationName string
State string
StateDescription string
Configuration datatypes.JSONType[map[string]any]
Metadata datatypes.JSONType[map[string]any]
BrowserAction *datatypes.JSONType[BrowserAction]
CreatedAt *time.Time
UpdatedAt *time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
func CreateIntegration ¶
func FindIntegration ¶ added in v0.6.0
func FindIntegration(orgID, integrationID uuid.UUID) (*Integration, error)
func FindIntegrationByName ¶
func FindIntegrationByName(orgID uuid.UUID, integrationName string) (*Integration, error)
func FindMaybeDeletedIntegrationInTransaction ¶ added in v0.6.0
func FindUnscopedIntegration ¶ added in v0.6.0
func FindUnscopedIntegration(integrationID uuid.UUID) (*Integration, error)
func FindUnscopedIntegrationInTransaction ¶ added in v0.6.0
func ListDeletedIntegrations ¶ added in v0.6.0
func ListDeletedIntegrations() ([]Integration, error)
func ListIntegrations ¶
func ListIntegrations(orgID uuid.UUID) ([]Integration, error)
func ListMaybeDeletedIntegrationsByOrganizationInTransaction ¶ added in v0.13.0
func LockIntegration ¶ added in v0.6.0
func (*Integration) CreateActionRequest ¶ added in v0.6.0
func (*Integration) CreateSyncRequest ¶ added in v0.6.0
func (*Integration) GetRequest ¶ added in v0.6.0
func (a *Integration) GetRequest(ID string) (*IntegrationRequest, error)
func (*Integration) ListRequests ¶ added in v0.6.0
func (a *Integration) ListRequests(reqType string) ([]IntegrationRequest, error)
func (*Integration) SoftDelete ¶ added in v0.6.0
func (a *Integration) SoftDelete() error
func (*Integration) SoftDeleteInTransaction ¶ added in v0.6.0
func (a *Integration) SoftDeleteInTransaction(tx *gorm.DB) error
func (*Integration) TableName ¶ added in v0.6.0
func (a *Integration) TableName() string
type IntegrationInvokeAction ¶ added in v0.6.0
type IntegrationRequest ¶ added in v0.6.0
type IntegrationRequest struct {
ID uuid.UUID
AppInstallationID uuid.UUID
State string
Type string
Spec datatypes.JSONType[IntegrationRequestSpec]
RunAt time.Time
CreatedAt time.Time
UpdatedAt time.Time
}
func FindPendingRequestForIntegration ¶ added in v0.6.0
func ListIntegrationRequests ¶ added in v0.6.0
func ListIntegrationRequests() ([]IntegrationRequest, error)
func LockIntegrationRequest ¶ added in v0.6.0
func (*IntegrationRequest) Complete ¶ added in v0.6.0
func (r *IntegrationRequest) Complete(tx *gorm.DB) error
func (*IntegrationRequest) TableName ¶ added in v0.6.0
func (r *IntegrationRequest) TableName() string
type IntegrationRequestSpec ¶ added in v0.6.0
type IntegrationRequestSpec struct {
InvokeAction *IntegrationInvokeAction `json:"invoke_action,omitempty"`
}
type IntegrationSecret ¶ added in v0.6.0
type IntegrationSecret struct {
ID uuid.UUID `gorm:"primary_key;default:uuid_generate_v4()"`
OrganizationID uuid.UUID
InstallationID uuid.UUID
Name string
Value []byte
CreatedAt *time.Time
UpdatedAt *time.Time
}
func (*IntegrationSecret) TableName ¶ added in v0.6.0
func (a *IntegrationSecret) TableName() string
type IntegrationSubscription ¶ added in v0.6.0
type IntegrationSubscription struct {
ID uuid.UUID `gorm:"primary_key;default:uuid_generate_v4()"`
InstallationID uuid.UUID
WorkflowID uuid.UUID
NodeID string
Configuration datatypes.JSONType[any]
CreatedAt *time.Time
UpdatedAt *time.Time
}
func CreateIntegrationSubscription ¶ added in v0.6.0
func CreateIntegrationSubscription(node *CanvasNode, integration *Integration, configuration any) (*IntegrationSubscription, error)
func CreateIntegrationSubscriptionInTransaction ¶ added in v0.6.0
func CreateIntegrationSubscriptionInTransaction(tx *gorm.DB, node *CanvasNode, integration *Integration, configuration any) (*IntegrationSubscription, error)
func (*IntegrationSubscription) TableName ¶ added in v0.6.0
func (a *IntegrationSubscription) TableName() string
type InvokeAction ¶
type Node ¶
type Node struct {
ID string `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
Ref NodeRef `json:"ref"`
Configuration map[string]any `json:"configuration"`
Metadata map[string]any `json:"metadata"`
Position Position `json:"position"`
IsCollapsed bool `json:"isCollapsed"`
IntegrationID *string `json:"integrationId,omitempty"`
ErrorMessage *string `json:"errorMessage,omitempty"`
WarningMessage *string `json:"warningMessage,omitempty"`
}
type NodeExecutionRequestSpec ¶
type NodeExecutionRequestSpec struct {
InvokeAction *InvokeAction `json:"invoke_action,omitempty"`
}
type NodeRef ¶
type NodeRef struct {
Component *ComponentRef `json:"component,omitempty"`
Blueprint *BlueprintRef `json:"blueprint,omitempty"`
Trigger *TriggerRef `json:"trigger,omitempty"`
Widget *WidgetRef `json:"widget,omitempty"`
}
type NodeSubscription ¶ added in v0.0.45
type NodeSubscription struct {
WorkflowID uuid.UUID
NodeID string
NodeType string
NodeRef datatypes.JSONType[NodeRef]
Configuration datatypes.JSONType[any]
}
func ListIntegrationSubscriptions ¶ added in v0.6.0
type Organization ¶
type Organization struct {
ID uuid.UUID `gorm:"primary_key;default:uuid_generate_v4()"`
Name string `gorm:"uniqueIndex"`
Description string
AllowedProviders datatypes.JSONSlice[string]
VersioningEnabled bool
UsageSyncedAt *time.Time
UsageRetentionWindowDays *int32
UsageLimitsSyncedAt *time.Time
CreatedAt *time.Time
UpdatedAt *time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
func CreateOrganization ¶
func CreateOrganization(name, description string) (*Organization, error)
func CreateOrganizationInTransaction ¶
func CreateOrganizationInTransaction(tx *gorm.DB, name, description string) (*Organization, error)
func FindOrganizationByID ¶
func FindOrganizationByID(id string) (*Organization, error)
func FindOrganizationByIDInTransaction ¶ added in v0.11.0
func FindOrganizationByIDInTransaction(tx *gorm.DB, id string) (*Organization, error)
func FindOrganizationByName ¶
func FindOrganizationByName(name string) (*Organization, error)
func FindOrganizationsForAccount ¶
func FindOrganizationsForAccount(email string) ([]Organization, error)
func ListAllOrganizations ¶ added in v0.14.0
func ListAllOrganizations(search string, limit, offset int) ([]Organization, int64, error)
func ListDeletedOrganizations ¶ added in v0.13.0
func ListDeletedOrganizations() ([]Organization, error)
func ListDeletedOrganizationsInTransaction ¶ added in v0.13.0
func ListDeletedOrganizationsInTransaction(tx *gorm.DB) ([]Organization, error)
func ListOrganizationsByIDs ¶
func ListOrganizationsByIDs(ids []string) ([]Organization, error)
func ListOrganizationsPendingUsageLimitsRefresh ¶ added in v0.13.0
func ListOrganizationsPendingUsageLimitsRefresh(staleBefore time.Time, limit int) ([]Organization, error)
func ListOrganizationsPendingUsageLimitsRefreshInTransaction ¶ added in v0.13.0
func ListOrganizationsPendingUsageSync ¶ added in v0.13.0
func ListOrganizationsPendingUsageSync(limit int) ([]Organization, error)
func ListOrganizationsPendingUsageSyncInTransaction ¶ added in v0.13.0
func ListOrganizationsPendingUsageSyncInTransaction(tx *gorm.DB, limit int) ([]Organization, error)
func LockDeletedOrganization ¶ added in v0.13.0
func (*Organization) IsProviderAllowed ¶
func (o *Organization) IsProviderAllowed(provider string) bool
type OrganizationAgentSettings ¶ added in v0.10.0
type OrganizationAgentSettings struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:uuid_generate_v4()"`
OrganizationID uuid.UUID `gorm:"type:uuid;uniqueIndex"`
AgentModeEnabled bool
OpenAIApiKeyCiphertext []byte `gorm:"column:openai_api_key_ciphertext"`
OpenAIKeyEncryptionKeyID *string `gorm:"column:openai_key_encryption_key_id"`
OpenAIKeyLast4 *string `gorm:"column:openai_key_last4"`
OpenAIKeyStatus string `gorm:"column:openai_key_status"`
OpenAIKeyValidatedAt *time.Time `gorm:"column:openai_key_validated_at"`
OpenAIKeyValidationError *string `gorm:"column:openai_key_validation_error"`
UpdatedBy *uuid.UUID `gorm:"type:uuid"`
CreatedAt time.Time
UpdatedAt time.Time
}
func FindOrganizationAgentSettingsByOrganizationID ¶ added in v0.10.0
func FindOrganizationAgentSettingsByOrganizationID(organizationID string) (*OrganizationAgentSettings, error)
func FindOrganizationAgentSettingsByOrganizationIDInTransaction ¶ added in v0.10.0
func FindOrganizationAgentSettingsByOrganizationIDInTransaction( tx *gorm.DB, organizationID string, ) (*OrganizationAgentSettings, error)
func (*OrganizationAgentSettings) TableName ¶ added in v0.10.0
func (s *OrganizationAgentSettings) TableName() string
type OrganizationInvitation ¶
type OrganizationInvitation struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()"`
OrganizationID uuid.UUID
Email string
InvitedBy uuid.UUID
State string
CreatedAt time.Time
UpdatedAt time.Time
}
func CreateInvitation ¶
func CreateInvitation(organizationID, invitedBy uuid.UUID, email, state string) (*OrganizationInvitation, error)
func FindInvitationByID ¶
func FindInvitationByID(invitationID string) (*OrganizationInvitation, error)
func FindInvitationByIDWithState ¶
func FindInvitationByIDWithState(invitationID string, state string) (*OrganizationInvitation, error)
func FindPendingInvitation ¶
func FindPendingInvitation(email, organizationID string) (*OrganizationInvitation, error)
func FindPendingInvitationInTransaction ¶
func FindPendingInvitationInTransaction(tx *gorm.DB, email, organizationID string) (*OrganizationInvitation, error)
func ListInvitationsInState ¶
func ListInvitationsInState(organizationID string, state string) ([]OrganizationInvitation, error)
func (*OrganizationInvitation) Delete ¶
func (i *OrganizationInvitation) Delete() error
type OrganizationInviteLink ¶ added in v0.0.43
type OrganizationInviteLink struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()"`
OrganizationID uuid.UUID `gorm:"uniqueIndex"`
Token uuid.UUID `gorm:"type:uuid;uniqueIndex"`
Enabled bool
CreatedAt time.Time
UpdatedAt time.Time
}
func CreateInviteLink ¶ added in v0.0.43
func CreateInviteLink(organizationID uuid.UUID) (*OrganizationInviteLink, error)
func CreateInviteLinkInTransaction ¶ added in v0.0.43
func FindInviteLinkByOrganizationID ¶ added in v0.0.43
func FindInviteLinkByOrganizationID(organizationID string) (*OrganizationInviteLink, error)
func FindInviteLinkByOrganizationIDInTransaction ¶ added in v0.0.43
func FindInviteLinkByOrganizationIDInTransaction(tx *gorm.DB, organizationID string) (*OrganizationInviteLink, error)
func FindInviteLinkByToken ¶ added in v0.0.43
func FindInviteLinkByToken(token string) (*OrganizationInviteLink, error)
func FindInviteLinkByTokenInTransaction ¶ added in v0.0.43
func FindInviteLinkByTokenInTransaction(tx *gorm.DB, token string) (*OrganizationInviteLink, error)
type RoleMetadata ¶
type RoleMetadata struct {
ID uuid.UUID `json:"id" gorm:"type:uuid;primary_key;default:gen_random_uuid()"`
RoleName string `json:"role_name" gorm:"not null;index"`
DomainType string `json:"domain_type" gorm:"not null;index"`
DomainID string `json:"domain_id" gorm:"not null;index"`
DisplayName string `json:"display_name" gorm:"not null"`
Description string `json:"description"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
func FindRoleMetadata ¶
func FindRoleMetadata(roleName, domainType, domainID string) (*RoleMetadata, error)
func (*RoleMetadata) BeforeCreate ¶
func (rm *RoleMetadata) BeforeCreate(tx *gorm.DB) error
func (*RoleMetadata) Create ¶
func (rm *RoleMetadata) Create() error
func (*RoleMetadata) CreateInTransaction ¶
func (rm *RoleMetadata) CreateInTransaction(tx *gorm.DB) error
func (*RoleMetadata) Update ¶
func (rm *RoleMetadata) Update() error
func (*RoleMetadata) UpdateInTransaction ¶
func (rm *RoleMetadata) UpdateInTransaction(tx *gorm.DB) error
type Secret ¶
type Secret struct {
ID uuid.UUID `gorm:"primary_key;default:uuid_generate_v4()"`
DomainType string
DomainID uuid.UUID
Name string
CreatedAt *time.Time
CreatedBy uuid.UUID
UpdatedAt *time.Time
Provider string
Data []byte
}
func CreateSecret ¶
func FindSecretByID ¶
func FindSecretByIDInTransaction ¶ added in v0.7.0
func FindSecretByName ¶
type SecretData ¶
type TriggerRef ¶
type TriggerRef struct {
Name string `json:"name"`
}
type User ¶
type User struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()"`
OrganizationID uuid.UUID
AccountID *uuid.UUID
Email *string
Name string
Type string
Description *string
CreatedBy *uuid.UUID
TokenHash string
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt gorm.DeletedAt
}
func CreateServiceAccount ¶ added in v0.9.0
func CreateUserInTransaction ¶
func FindActiveUserByEmail ¶
func FindActiveUserByID ¶
func FindAnyUserByEmail ¶
func FindFirstHumanUserByOrganization ¶ added in v0.13.0
func FindFirstHumanUserByOrganizationInTransaction ¶ added in v0.13.0
func FindHumanUsersByIDs ¶ added in v0.9.0
func FindMaybeDeletedUserByEmailInTransaction ¶ added in v0.0.43
func FindMaybeDeletedUserByID ¶
NOTE: this method returns soft deleted users too. Make sure you really need to use it this one, and not FindActiveUserByID instead.
func FindMaybeDeletedUsersByIDs ¶ added in v0.0.43
func FindServiceAccountsByOrganization ¶ added in v0.9.0
func FindServiceAccountsByOrganizationInTransaction ¶ added in v0.9.0
func FindUnscopedUserByID ¶
func FindUsersByIDs ¶ added in v0.9.0
func ListActiveUsersByID ¶ added in v0.0.43
func ListActiveUsersByIDInTransaction ¶ added in v0.0.43
func ListActiveUsersByOrganization ¶ added in v0.14.0
func (*User) IsServiceAccount ¶ added in v0.9.0
func (*User) UpdateTokenHash ¶
type Webhook ¶
type Webhook struct {
ID uuid.UUID `gorm:"primary_key;default:uuid_generate_v4()"`
State string
Secret []byte
Configuration datatypes.JSONType[any]
Metadata datatypes.JSONType[any]
AppInstallationID *uuid.UUID
RetryCount int `gorm:"default:0"`
MaxRetries int `gorm:"default:3"`
CreatedAt *time.Time
UpdatedAt *time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
func ListDeletedWebhooks ¶
func ListIntegrationWebhooks ¶ added in v0.6.0
func ListPendingWebhooks ¶
func ListUnscopedIntegrationWebhooks ¶ added in v0.6.0
func LockDeletedWebhook ¶ added in v0.12.0
LockDeletedWebhook acquires a row-level lock on a soft-deleted webhook regardless of its state. Used by WebhookCleanupWorker to clean up webhooks that were in any state (ready, failed, etc.) when deleted.
func (*Webhook) HasExceededRetries ¶
func (*Webhook) MarkProvisioning ¶ added in v0.12.0
type WebhookResource ¶
Source Files
¶
- account.go
- account_magic_code.go
- account_password_auth.go
- account_provider.go
- blueprint.go
- canvas.go
- canvas_change_request.go
- canvas_change_request_approval.go
- canvas_event.go
- canvas_memory.go
- canvas_node.go
- canvas_node_execution.go
- canvas_node_execution_kvs.go
- canvas_node_request.go
- canvas_version.go
- constants.go
- email_settings.go
- installation_metadata.go
- integration.go
- integration_request.go
- integration_subscription.go
- organization.go
- organization_agent_settings.go
- organization_invitation.go
- organization_invite_link.go
- role_metadata.go
- secret.go
- templates.go
- user.go
- webhook.go