Documentation ¶
Index ¶
- Constants
- Variables
- func TaskStatusValues() []string
- type AIWebsiteConfigurationType
- type ContactInfoType
- type Credential
- type DatabaseJob
- type DatabaseTable
- type DatabaseUser
- type DatabaseView
- type DomainContactInfo
- type EventTrigger
- type Execution
- type ExportableUIComponent
- type ExportableUIExtension
- type ExportableUIPage
- type Function
- type GitIntegration
- type GlobalState
- type InputData
- type Integration
- type IntegrationDefinition
- type IntegrationSecret
- type Job
- type Manifest
- type MarketplaceItem
- type MarketplaceItemFeature
- type MiniTaskDefinition
- type MiniTaskField
- type OauthProvider
- type Objectstore
- type PgColumn
- type Pipeline
- type PipelineDto
- type PipelineProjectDto
- type PipelineSummery
- type PipelineVersion
- type Project
- type ProjectDomain
- type ProjectDto
- type ReturnValue
- type ReturnValueMap
- type S3Object
- type SecurityCode
- type Task
- type TaskBody
- type TaskBodyMap
- type TaskDefinition
- type TaskDetails
- type TaskField
- type TaskFieldDetailes
- type TaskResultDto
- type TaskStatus
- type TaskStatusSummery
- type ThirdUser
- type TriggerChecker
- type TriggerDefinition
- type TriggerObjectList
- type UIComponent
- type UIExtension
- type UIForm
- type UIPage
- type UIPageHistory
- type UiInfrastructure
- type UserGroup
- type UserProvider
- type ViewJsonObject
Constants ¶
View Source
const ( ProjectItemType = "project" TaskItemType = "task" TriggerItemType = "trigger" UIComponentItemType = "uiComponent" UIDesignSystemItemType = "uiDesignSystem" UIExtensionItemType = "uiExtension" )
View Source
const ( DirectValueFieldType = "directValue" // puth the value directly in the field RefrencedFieldType = "refrenced" // get value from refrenced source NestedFieldType = "nested" // call function to get value from source with nested key (recursive approach) FormattedFieldType = "formatted" // first get arguments wich can be nested, refrenced or direct value, then format the values JsonFieldType = "json" // value is json and each value of the json is a field JsonArrayFieldType = "json_array" // value is json array and each value of the json could be array )
View Source
const ( ForeachSourceType = "foreach" GetAllSourceType = "getAll" SpecificIndexSourceType = "specificIndex" FullObjectSourceType = "fullObject" SpeceficFullObjectSourceType = "specificFullObject" )
Variables ¶
View Source
var AvaliableIntegrations map[string]IntegrationDefinition
View Source
var AvaliableMiniTasks []MiniTaskDefinition
View Source
var AvaliableTasks map[string]TaskDefinition
View Source
var AvaliableTriggers map[string]TriggerDefinition
View Source
var DbRoles = map[string][]string{
"writer": {"select", "update", "delete"},
"editor": {"select", "update"},
"reader": {"select"},
"user": {},
}
Functions ¶
func TaskStatusValues ¶
func TaskStatusValues() []string
Types ¶
type AIWebsiteConfigurationType ¶
type AIWebsiteConfigurationType struct { BusinessName string `json:"business_name"` BusinessType string `json:"business_type"` BusinessSubType string `json:"business_sub_type"` ContactInfo ContactInfoType `json:"contact_info" binding:"dive"` LogoUrl string `json:"logo_url"` LogoKey string `json:"logo_key"` Description string `json:"description"` }
type ContactInfoType ¶
type ContactInfoType struct { Email string `json:"email"` PhoneNumber string `json:"phone_number"` Country string `json:"country" binding:"oneof='' 'AU'"` State string `json:"state" binding:"oneof='' 'ACT' 'NSW' 'NT' 'QLD' 'SA' 'TAS' 'VIC' 'WA'"` City string `json:"city"` Address1 string `json:"address1"` Address2 string `json:"address2"` Postcode string `json:"postcode"` FacebookLink string `json:"facebook_link"` InstagramLink string `json:"instagram_link"` LinkedInLink string `json:"linkedin_link"` XLink string `json:"x_link"` }
type Credential ¶
type DatabaseJob ¶
type DatabaseJob struct { AccountId string `json:"account_id" db:"account_id"` ProjectName string `json:"project_name" db:"project_name"` PgDumpUrl string `json:"pg_dump_url" db:"pg_dump_url"` PgDumpStatus string `json:"pg_dump_status" db:"pg_dump_status"` PgDumpUrlExpirationTime int64 `json:"pg_dump_url_expiration_time" db:"pg_dump_url_expiration_time"` CsvUrl string `json:"csv_url" db:"csv_url"` CsvStatus string `json:"csv_status" db:"csv_status"` CsvUrlExpirationTime int64 `json:"csv_url_expiration_time" db:"csv_url_expiration_time"` }
type DatabaseTable ¶
type DatabaseUser ¶
type DatabaseView ¶
type DatabaseView struct { Name string `db:"name" json:"name"` Query string `db:"query" json:"query,omitempty"` JsonQuery ViewJsonObject `db:"query_as_json" json:"query_as_json,omitempty"` Values ViewJsonObject `db:"values" json:"values,omitempty"` IsPublic bool `db:"is_public" json:"is_public"` }
type DomainContactInfo ¶
type EventTrigger ¶
type EventTrigger struct { Name string `db:"name" json:"name"` AccountId string `db:"account_id" json:"account_id"` Type string `db:"type" json:"type"` Endpoint string `db:"endpoint" json:"endpoint"` Pipeline string `db:"pipeline_name" json:"pipeline_name"` Integration string `db:"integration" json:"integration"` Credentials map[string]interface{} `db:"credentials" json:"credentials"` MetaData TriggerDefinition `json:"meta_data"` ProjectName string `db:"project_name" json:"project_name"` }
func (EventTrigger) IsValid ¶
func (tr EventTrigger) IsValid() bool
type ExportableUIComponent ¶
type ExportableUIComponent struct { Name string `db:"name" json:"name"` Content json.RawMessage `db:"content" json:"content"` Category string `db:"category" json:"category"` }
type ExportableUIExtension ¶
type ExportableUIExtension struct { Name string `db:"name" json:"name"` Content json.RawMessage `db:"content" json:"content"` Category string `db:"category" json:"category"` }
type ExportableUIPage ¶
type ExportableUIPage struct { Name string `db:"name" json:"name"` Content json.RawMessage `db:"content" json:"content"` }
type GitIntegration ¶
type GitIntegration struct { AccountId string `db:"account_id" json:"account_id,omitempty"` GitAccountId string `db:"git_account_id" json:"git_account_id,omitempty"` GitUsername string `db:"git_username" json:"git_username"` Provider string `db:"provider" json:"provider,omitempty"` Secrets json.RawMessage `db:"secrets" json:"-"` HasRefreshToken bool `db:"has_refresh_token" json:"-"` }
type GlobalState ¶
type Integration ¶
type Integration struct { Name string `db:"name" json:"name"` AccountId string `db:"account_id" json:"account_id"` Type string `db:"type" json:"type"` Secrets map[string]string `db:"secrets" json:"secrets"` HasRefreshToken bool `db:"hasRefreshToken" json:"hasRefreshToken"` Provider string `db:"provider" json:"provider"` TpAccountId string `db:"tp_account_id" json:"tp_account_id"` ProjectName string `db:"project_name" json:"project_name"` }
func (Integration) IsValid ¶
func (intg Integration) IsValid() bool
type IntegrationDefinition ¶
type IntegrationDefinition struct { Type string `json:"type" yaml:"type"` Secrets []IntegrationSecret `json:"secrets" yaml:"secrets"` OauthProvider string `json:"oauth_provider" yaml:"oauth_provider"` }
type IntegrationSecret ¶
type Job ¶
type Job struct { ExecutionId int `json:"executionId"` TaskId int `json:"taskId"` Timeout int `json:"timeout"` Name string `json:"name"` Type string `json:"type"` AwsLambda string `json:"aws_lambda"` Image string `json:"image"` AccountId string `json:"account_id"` Body map[string]interface{} `json:"body"` MetaData TaskDefinition `json:"task_meta_data"` ResultEndpoint string `json:"result_endpoint"` WorkSpace string `json:"workspace"` }
func NewJob ¶
func NewJob(task TaskDetails, executionId int, accountId string) *Job
creates a new job dto for runner based on given task for certain execution
func (*Job) AddDynamicValuesToMetaData ¶
func (job *Job) AddDynamicValuesToMetaData()
AddDynamicValuesToMetaData adds dynamic value keys to task meta data
func (*Job) PrepRunMiniTasks ¶
func (job *Job) PrepRunMiniTasks()
func (*Job) SetIntegration ¶
func (job *Job) SetIntegration(integration Integration)
add integration fields to job body and task meta data fields
func (*Job) SetRunCodeFields ¶
func (job *Job) SetRunCodeFields()
TODO change this and use AddDynamicValuesToMetaData logic to handle it
type Manifest ¶
type Manifest struct { Tasks map[string]Task `db:"tasks" json:"tasks" yaml:"tasks"` Triggers map[string]EventTrigger `db:"triggers" json:"triggers" yaml:"triggers"` }
type MarketplaceItem ¶
type MarketplaceItem struct { Id int `db:"id" json:"id"` AccountId string `db:"creator_account_id" json:"-"` Type string `db:"item_type" json:"type"` Category string `db:"category" json:"category"` Title string `db:"title" json:"title"` ShortDescription string `db:"short_description" json:"shortDescription"` Description string `db:"description" json:"description"` Enabled bool `db:"enabled" json:"enabled"` Price int `db:"price" json:"price"` ImageUrl string `db:"image_url" json:"imageUrl"` PreviewUrl string `db:"preview_url" json:"previewUrl"` Features []MarketplaceItemFeature `db:"-" json:"features"` FeaturesForDb []byte `db:"features" json:"-"` CreatedAt time.Time `db:"created_at" json:"createdAt"` UpdatedAtForDb pq.NullTime `db:"updated_at" json:"-"` UpdatedAt time.Time `db:"-" json:"updatedAt"` ProjectName string `db:"project_name" json:"-"` ProjectType string `db:"project_type" json:"project_type"` ProjectTag string `db:"-" json:"project_tag"` ProjectHasDb bool `db:"-" json:"project_has_db"` ComponentName string `db:"component_name" json:"-"` ExtensionName string `db:"-" json:"-"` Theme string `db:"theme" json:"theme"` S3Key string `db:"s3_key" json:"-"` }
type MarketplaceItemFeature ¶
type MiniTaskDefinition ¶
type MiniTaskDefinition struct { Type string `json:"type" yaml:"type"` Description string `json:"description" yaml:"description"` DisplayName string `json:"display_name" yaml:"display_name"` NumberOfParams int `json:"number_of_params" yaml:"number_of_params"` Inputs []MiniTaskField `json:"inputs" yaml:"inputs"` Outputs []MiniTaskField `json:"outputs" yaml:"outputs"` }
type MiniTaskField ¶
type OauthProvider ¶
type Objectstore ¶
type Objectstore struct { Key string `db:"key" json:"key"` AccountId string `db:"account_id" json:"-"` TpAccountId string `db:"tpaccount_id" json:"tpaccount_id"` ProjectTag string `db:"project_tag" json:"project_tag"` Size int `db:"size" json:"size"` Access string `db:"access" json:"access"` Url string `db:"url" json:"url"` IsPublic bool `db:"is_public" json:"is_public"` UserGroups []string `db:"user_groups" json:"user_groups"` DisplayName string `db:"display_name" json:"display_name"` }
type Pipeline ¶
type Pipeline struct { Id int `db:"id" json:"-"` Name string `db:"name" json:"name"` Endpoint string `db:"endpoint" json:"endpoint"` AccountId string `db:"account_id" json:"-"` IsActive bool `db:"is_active" json:"is_active"` IsTemplate bool `db:"is_template" json:"is_template"` IsInteraction bool `db:"is_interaction" json:"is_interaction"` IsPublic bool `db:"is_public" json:"is_public"` UserGroups []string `db:"user_groups" json:"user_groups"` ProjectName string `db:"project_name" json:"project_name"` ParentId int `db:"parent_id" json:"parent_id"` CreatedFor string `db:"created_for" json:"created_for"` }
type PipelineDto ¶
type PipelineProjectDto ¶
type PipelineProjectDto struct { Dto PipelineDto `json:"dto"` IsPublic bool `json:"is_public"` IsInteraction bool `json:"is_interaction"` IsTemplate bool `json:"is_template"` UserGroups []string `json:"user_groups"` }
type PipelineSummery ¶
type PipelineVersion ¶
type Project ¶
type Project struct { Id int `db:"id" json:"-"` Name string `db:"name" json:"name" binding:"regexp=^[a-z][a-z0-9_]*$,min=2,max=20"` Description string `db:"description" json:"description"` AccountId string `db:"account_id" json:"-"` Tag string `db:"tag" json:"tag"` DefaultUserGroup string `json:"default_user_group"` Type string `db:"type" json:"type"` AIWebsiteConfiguration json.RawMessage `db:"ai_website_configuration" json:"ai_website_configuration"` Theme string `db:"theme" json:"theme"` HasDatabase bool `db:"has_database" json:"hasDatabase"` }
type ProjectDomain ¶
type ProjectDomain struct { InternalDomain string `db:"internal_domain" json:"internal_domain"` ExternalDomain string `db:"external_domain" json:"external_domain"` TlsArn string `db:"tls_arn" json:"tls_arn"` TlsValidationRecordName string `db:"tls_validation_record_name" json:"tls_validation_record_name"` TlsValidationRecordValue string `db:"tls_validation_record_value" json:"tls_validation_record_value"` CdnArn string `db:"cdn_arn" json:"cdn_arn"` CdnDomain string `db:"cdn_domain" json:"cdn_domain"` S3Bucket string `db:"s3_bucket" json:"s3_bucket"` PurchasedFromUs bool `db:"purchased_from_us" json:"purchased_from_us"` HostedZoneId string `db:"hosted_zone_id" json:"hosted_zone_id"` RegistrationStatus string `db:"registration_status" json:"registration_status"` // possible values: SUBMITTED | IN_PROGRESS | ERROR | SUCCESSFUL | FAILED CertificateIssued bool `db:"certificate_issued" json:"certificate_issued"` Nameservers []string `db:"nameservers" json:"nameservers"` ContactInfo json.RawMessage `db:"contact_info" json:"contact_info"` AccountId string `db:"account_id" json:"-"` ProjectTag string `db:"project_tag" json:"-"` }
type ProjectDto ¶
type ProjectDto struct { Name string `json:"name"` AccountId string `json:"account_id"` Pipelines []PipelineProjectDto `json:"pipelines"` DataBaseTables []DatabaseTable `json:"database_tables"` UIPages []ExportableUIPage `json:"ui_pages"` }
TODO: Add UI Pages
type ReturnValue ¶
type ReturnValueMap ¶
type ReturnValueMap map[string]interface{}
func (ReturnValueMap) Scan ¶
func (t ReturnValueMap) Scan(value interface{}) error
type SecurityCode ¶
type Task ¶
type Task struct { Id int `db:"id" json:"id" yaml:"-"` Name string `db:"name" json:"-" yaml:"-"` ExecuteAfter map[string][]string `db:"execute_after" json:"executeAfter" yaml:"executeAfter,omitempty"` Type string `db:"task_type" json:"type" yaml:"type"` AwsLambda string `db:"aws_lambda" json:"awsLambda"` Body TaskBody `db:"body" json:"body" yaml:"body"` Description string `db:"description" json:"description" yaml:"description"` Integration string `db:"integration" json:"integration" yaml:"integration"` MetaData TaskDefinition `json:"meta_data"` }
func (*Task) UnmarshalJSON ¶
type TaskBodyMap ¶
type TaskBodyMap map[string]interface{}
func (TaskBodyMap) Scan ¶
func (t TaskBodyMap) Scan(value interface{}) error
type TaskDefinition ¶
type TaskDefinition struct { Service string `json:"service" yaml:"service"` Type string Fields []TaskField Image string Integrations []string Author string `json:"author" yaml:"author"` Icon string `json:"icon" yaml:"icon"` NodeColor string `json:"node_color" yaml:"node_color"` Description string `json:"description" yaml:"description"` Outputs []TaskField `json:"outputs" yaml:"outputs"` HasDynamicVariables bool `json:"has_dynamic_variables" yaml:"has_dynamic_variables"` OnTestStage bool `json:"on_test_stage" yaml:"on_test_stage"` }
type TaskDetails ¶
type TaskDetails struct { Name string Id int Timeout int `db:"timeout" json:"timeout"` Type string `db:"task_type"` AwsLambda string `db:"aws_lambda"` Body TaskBodyMap `db:"body" json:"body"` AccountId string `db:"account_id" json:"account_id"` Integration string `db:"integration" json:"integration"` MetaData TaskDefinition `json:"meta_data"` }
type TaskFieldDetailes ¶
type TaskResultDto ¶
type TaskStatus ¶
type TaskStatus int
Task Status
const ( Success TaskStatus = iota Failed Timedout Started Cancelled Completed Wating )
func (TaskStatus) MarshalJSON ¶
func (t TaskStatus) MarshalJSON() ([]byte, error)
MarshalJSON marshals the enum as a quoted json string
func (*TaskStatus) Scan ¶
func (t *TaskStatus) Scan(value interface{}) error
func (TaskStatus) String ¶
func (t TaskStatus) String() string
func (*TaskStatus) UnmarshalJSON ¶
func (t *TaskStatus) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals a quoted json string to the enum value
type TaskStatusSummery ¶
type ThirdUser ¶
type ThirdUser struct { Email string `json:"email" db:"email"` Password string `json:"password" db:"password"` FullName string `json:"fullname,omitempty" db:"fullname"` AccountId string `json:"accountId" db:"account_id"` CreatedAt string `json:"createdAt" db:"created_at"` UserGroup string `json:"userGroup" db:"user_group"` }
type TriggerChecker ¶
type TriggerChecker struct { AccountId string `db:"account_id" json:"account_id"` ProjectName string `db:"project_name" json:"project_name"` PipelineName string `db:"pipeline_name" json:"pipeline_name"` TriggerName string `db:"trigger_name" json:"trigger_name"` List TriggerObjectList `db:"list" json:"list"` }
type TriggerDefinition ¶
type TriggerDefinition struct { Service string `json:"service" yaml:"service"` Type string `json:"type" yaml:"type"` IntegrationTypes []string `json:"integrations" yaml:"integrations"` Image string `json:"image" yaml:"image"` Credentials []Credential `json:"credentials" yaml:"credentials"` Outputs []Credential `json:"outputs" yaml:"outputs"` Author string `json:"author" yaml:"author"` Icon string `json:"icon" yaml:"icon"` NodeColor string `json:"node_color" yaml:"node_color"` Description string `json:"description" yaml:"description"` OnTestStage bool `json:"on_test_stage" yaml:"on_test_stage"` Strategy string `json:"deduplication_method" yaml:"deduplication_method"` }
type TriggerObjectList ¶
type TriggerObjectList map[string]interface{}
func (*TriggerObjectList) Scan ¶
func (t *TriggerObjectList) Scan(value interface{}) error
type UIComponent ¶
type UIComponent struct { Name string `json:"name" db:"name"` AccountId string `db:"account_id" json:"-"` ProjectTag string `db:"project_tag" json:"project_tag"` Content json.RawMessage `db:"content" json:"content"` Status string `db:"status" json:"status"` Category string `db:"category" json:"category"` }
type UIExtension ¶
type UIExtension struct { Name string `db:"name" json:"name"` AccountId string `db:"account_id" json:"-"` ProjectTag string `db:"project_tag" json:"project_tag"` Content json.RawMessage `db:"content" json:"content"` Status string `db:"status" json:"status"` Category string `db:"category" json:"category"` }
type UIForm ¶
type UIForm struct { Name string `db:"name" json:"name,omitempty"` ProjectTag string `db:"project_tag" json:"project_tag,omitempty"` PageName string `db:"page_name" json:"page_name,omitempty"` FormId string `db:"form_id" json:"form_id,omitempty"` Response json.RawMessage `db:"response" json:"response,omitempty"` SubmittedAt string `db:"submitted_at" json:"submitted_at,omitempty"` }
type UIPage ¶
type UIPage struct { Name string `json:"name" db:"name"` AccountId string `db:"account_id" json:"-"` ProjectTag string `db:"project_tag" json:"project_tag"` Content json.RawMessage `db:"content" json:"content"` Status string `db:"status" json:"status"` LastPublishedAt time.Time `db:"last_published_at" json:"last_published_at"` LastPreviewPublishedAt time.Time `db:"last_preview_published_at" json:"last_preview_published_at"` }
type UIPageHistory ¶
type UiInfrastructure ¶
type UserProvider ¶
type UserProvider struct { Name string `db:"name" json:"name"` Type string `db:"type" json:"type"` Key string `db:"key" json:"key,omitempty"` Secret string `db:"secret" json:"secret,omitempty"` DirectUrl string `db:"direct_url" json:"direct_url"` Scopes pq.StringArray `db:"scopes" json:"scopes"` AccountId string `db:"account_id" json:"account_id"` FrontEndUrl string `db:"front_end_url" json:"front_end_url"` Tag string `db:"tag" json:"tag"` }
type ViewJsonObject ¶
type ViewJsonObject map[string]interface{}
func (*ViewJsonObject) Scan ¶
func (t *ViewJsonObject) Scan(value interface{}) error
Source Files ¶
- database-roles.go
- database_job.go
- database_user.go
- database_view.go
- execution_model.go
- function.go
- git_integration.go
- global_state.go
- integration_consts.go
- integrations.go
- marketplace_item.go
- mini_tasks_consts.go
- oauth-provider.go
- objectstore_model.go
- pipeline_model.go
- project_domain_model.go
- project_model.go
- runner_job.go
- security_code.go
- task_constants.go
- task_field.go
- tasks.go
- third_user.go
- trigger_checker.go
- triggers.go
- ui_form_model.go
- ui_infrastructure_model.go
- uipage_model.go
- user-provider.go
- user_group.go
Click to show internal directories.
Click to hide internal directories.