Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessControl ¶
type AccessControl struct { models.Base Name string Description string XRole []*Role `gorm:"many2many:access_controls_x_roles"` }
AccessControl represents access control for managing access to resources.
type Account ¶
type Account struct { models.Base UserID uuid.UUID AuthAccessTokenID uuid.UUID `gorm:"unique; type:uuid"` XApp []*App `gorm:"many2many:apps_x_accounts"` }
Account represents credentials needed for an app to authorize access.
type App ¶
type App struct { models.Base Name string PublicID uuid.UUID `gorm:"unique; type:uuid"` IsSecurityReviewed bool IsOnAppEntityBehalf bool CreatorID uuid.UUID AuthInfoID uuid.UUID RESTHook []RESTHook XRole []*Role `gorm:"many2many:apps_x_roles"` XAccount []*Account `gorm:"many2many:apps_x_accounts"` }
App represents the application a workflow step runs.
type Engine ¶
type Engine struct { models.Base WorkflowInstance []WorkflowInstance XWorkflow []*Workflow `gorm:"many2many:workflows_x_engines"` }
Engine represents an engine.
type Folder ¶
type Folder struct { models.Base Name string Description string Avatar32URL string `gorm:"column:avatar_32_url"` CreatorID uuid.UUID Workflow []Workflow }
Folder represents the folder workflows and the likes can be kept.
type Group ¶
type Group struct { models.Base Name string Avatar32URL string `gorm:"column:avatar_32_url"` CreatorID uuid.UUID XUser []*User `gorm:"many2many:users_x_groups"` }
Group represents a group.
type Log ¶
type Log struct { models.Base UserID uuid.UUID EngineID uuid.UUID WorkflowID uuid.UUID WorkflowInstanceID uuid.UUID Message string Level string }
Log represents a log information. Log does not use foreign key constraints because it is supposed to exist even after associated keys are removed.
type Profile ¶
type Profile struct { models.Base Username string FirstName string LastName string Email string Avatar32URL string `gorm:"column:avatar_32_url"` UserID uuid.UUID }
Profile stores information about the user.
type Role ¶
type Role struct { models.Base Name string Description string XApp []*App `gorm:"many2many:apps_x_roles"` XUser []*User `gorm:"many2many:users_x_roles"` XAccessControl []*AccessControl `gorm:"many2many:access_controls_x_roles"` XTheme []*Theme `gorm:"many2many:themes_x_roles"` XWorkflow []*Workflow `gorm:"many2many:workflows_x_roles"` }
Role represents roles with assigned permissions.
type Theme ¶
type Theme struct { models.Base Name string Code datatypes.JSON PublicID uuid.UUID `gorm:"unique; type:uuid"` CreatorID uuid.UUID XRole []*Role `gorm:"many2many:themes_x_roles"` }
Theme represents a theme used to change the look of the application.
type User ¶
type User struct { models.Base AuthUserID *uuid.UUID `gorm:"unique; type:uuid"` Profile Profile RefreshToken string // JWT.1.R Account []Account RESTHook []RESTHook AppID []App `gorm:"foreignKey:CreatorID"` Group []Group `gorm:"foreignKey:CreatorID"` Workflow []Workflow `gorm:"foreignKey:CreatorID"` Workspace []Workspace `gorm:"foreignKey:CreatorID"` Folder []Folder `gorm:"foreignKey:CreatorID"` Theme []Theme `gorm:"foreignKey:CreatorID"` XGroup []*Group `gorm:"many2many:users_x_groups"` XWorkspace []*Workspace `gorm:"many2many:users_x_workspaces"` XRole []*Role `gorm:"many2many:users_x_roles"` }
User stores information about the user.
type Workflow ¶
type Workflow struct { models.Base Name string Code datatypes.JSON IsActive bool IsDraft bool FolderID *uuid.UUID CreatorID *uuid.UUID WorkflowInstance []WorkflowInstance XRole []*Role `gorm:"many2many:workflows_x_roles"` XEngine []*Engine `gorm:"many2many:workflows_x_engines"` }
Workflow represents a workflow.