models

package
v0.0.0-...-27c9e6d Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

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 Credential struct {
	Key         string `json:"key" yaml:"key"`
	Type        string `json:"type" yaml:"type"`
	Description string `json:"description" yaml:"description"`
	DisplayName string `json:"display_name" yaml:"display_name"`
}

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 DatabaseTable struct {
	Name          string     `json:"name"`
	IsPublic      bool       `json:"is_public"`
	IsWritePublic bool       `json:"is_write_public"`
	Columns       []PgColumn `json:"columns"`
}

type DatabaseUser

type DatabaseUser struct {
	AccountId   string `json:"account_id"   db:"account_id"`
	ProjectName string `json:"project_name" db:"project_name"`
	Username    string `json:"username"     db:"username"`
	Password    string `json:"password"     db:"password"`
}

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 DomainContactInfo struct {
	FirstName  string `json:"first_name"`
	LastName   string `json:"last_name"`
	AuIdNumber string `json:"au_id_number"`
	AuIdType   string `json:"au_id_type" binding:"oneof='' 'ABN' 'ACN' 'TM'"`
	City       string `json:"city"`
}

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 Execution

type Execution struct {
	Id                  int
	PipelineVersionId   int       `db:"pipeline_version_id"`
	StartedAt           time.Time `db:"started_at"`
	InitialData         InputData `db:"initial_data"`
	ThirdPartyAccountId string    `db:"tp_account_id"`
}

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 Function

type Function struct {
	Name           string `json:"name"             db:"name"`
	AccountId      string `json:"accountId"        db:"account_id"`
	Enabled        bool   `json:"enabled"          db:"enabled"`
	DefinitionFile string `json:"definitionFile"   db:"definition_file"`
	Type           string `json:"type"             db:"type"`
}

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 GlobalState struct {
	AccountId   string   `json:"account_id"   db:"account_id"`
	ProjectName string   `json:"project_name" db:"project_name"`
	States      []string `json:"states"       db:"states"`
}

type InputData

type InputData map[string]interface{}

func (*InputData) Scan

func (e *InputData) Scan(value interface{}) error

func (InputData) Value

func (e InputData) Value() (driver.Value, error)

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 IntegrationSecret struct {
	Name     string `json:"name" yaml:"name"`
	Key      string `json:"key" yaml:"key"`
	Internal bool   `json:"internal" yaml:"internal"`
}

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"`
}

func (*Manifest) Scan

func (m *Manifest) Scan(value interface{}) error

func (Manifest) Value

func (m Manifest) Value() (driver.Value, error)

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 MarketplaceItemFeature struct {
	Icon        string `db:"icon" json:"icon"`
	Description string `db:"description" json:"description"`
}

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 MiniTaskField struct {
	Name        string `json:"name" yaml:"name"`
	Type        string `json:"type" yaml:"type"`
	Description string `json:"description" yaml:"description"`
}

type OauthProvider

type OauthProvider struct {
	Name      string   `json:"name"`
	Secret    string   `json:"secret,omitempty"`
	Key       string   `json:"key,omitempty"`
	DirectUrl string   `json:"direct_url"`
	Scopes    []string `json:"scopes,omitempty"`
}

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 PgColumn

type PgColumn struct {
	Name string `json:"name"`
	Type string `json:"type"`
}

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 PipelineDto struct {
	Name     string
	Manifest Manifest
}

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 PipelineSummery struct {
	AccountId        string `db:"account_id" json:"-" yaml:"-"`
	PipelineDetailes PipelineVersion
	Endpoint         string
	IsActive         bool
	IsTemplate       bool
	IsInteraction    bool
	IsPublic         bool
	UserGroups       []string
	ProjectName      string
	ParentId         int
	CreatedFor       string
}

type PipelineVersion

type PipelineVersion struct {
	Id         string   `db:"id" json:"-" yaml:"-"`
	PipelineId int16    `db:"pipeline_id" json:"-"  yaml:"-"`
	Manifest   Manifest `db:"manifest" json:"manifest" yaml:"manifest"`
}

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 ReturnValue interface {
	Value() (driver.Value, error)
	Scan(interface{}) error
}

type ReturnValueMap

type ReturnValueMap map[string]interface{}

func (ReturnValueMap) Scan

func (t ReturnValueMap) Scan(value interface{}) error

func (ReturnValueMap) Value

func (t ReturnValueMap) Value() (driver.Value, error)

type S3Object

type S3Object struct {
	Bucket string `json:"bucket"`
	Key    string `json:"key"`
}

type SecurityCode

type SecurityCode struct {
	Email          string `json:"email"          db:"email"`
	SecurityCode   string `json:"securityCode"   db:"security_code"`
	ExpirationTime int    `json:"expirationTime" db:"expiration_time"`
	Usable         bool   `json:"usable"         db:"usable"`
	UseCase        string `json:"useCase"        db:"use_case"`
}

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) Scan

func (t *Task) Scan(value interface{}) error

func (*Task) UnmarshalJSON

func (t *Task) UnmarshalJSON(data []byte) error

func (Task) Value

func (t Task) Value() (driver.Value, error)

type TaskBody

type TaskBody interface {
	Value() (driver.Value, error)
	Scan(interface{}) error
}

type TaskBodyMap

type TaskBodyMap map[string]interface{}

func (TaskBodyMap) Scan

func (t TaskBodyMap) Scan(value interface{}) error

func (TaskBodyMap) Value

func (t TaskBodyMap) Value() (driver.Value, 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 TaskField

type TaskField struct {
	Key         string `json:"key" yaml:"key"`
	Type        string `json:"type" yaml:"type"`
	Description string `json:"description" yaml:"description"`
	DisplayName string `json:"display_name" yaml:"display_name"`
}

type TaskFieldDetailes

type TaskFieldDetailes struct {
	Formatter *formatter.Formatter `json:"formatter"`
	Type      string               `json:"type"`
	Source    string               `json:"source"`
	Key       string               `json:"key"`
	NestedKey string               `json:"nestedKey"`
	Value     interface{}          `json:"value"`
}

type TaskResultDto

type TaskResultDto struct {
	TaskId int `json:"task_id"`
	//ExecutionId int    `json:"execution_id"`
	Status      string         `json:"status"`
	AccountId   string         `json:"account_id"`
	Log         string         `json:"log"`
	Error       string         `json:"error"`
	ReturnValue ReturnValueMap `json:"return_value"`
}

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

func (TaskStatus) Value

func (t TaskStatus) Value() (driver.Value, error)

type TaskStatusSummery

type TaskStatusSummery struct {
	Id     int
	Name   string `json:"name"`
	Status string `json:"status"`
}

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

func (TriggerObjectList) Value

func (t TriggerObjectList) Value() (driver.Value, 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 UIPageHistory 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"`
	SavedAt    time.Time       `db:"saved_at"    json:"saved_at"`
}

type UiInfrastructure

type UiInfrastructure struct {
	AccountId  string `db:"account_id" json:"-"`
	ProjectTag string `db:"project_tag" json:"-"`
	CdnArn     string `db:"cdn_arn" json:"cdn_arn"`
	CdnDomain  string `db:"cdn_domain" json:"cdn_domain"`
	S3Bucket   string `db:"s3_bucket" json:"s3_bucket"`
}

type UserGroup

type UserGroup struct {
	Name        string            `json:"name"`
	Description string            `json:"description"`
	IsDefault   bool              `json:"is_default"`
	Select      map[string]string `json:"select"`
	Insert      map[string]string `json:"insert"`
	Delete      map[string]string `json:"delete"`
	Update      map[string]string `json:"update"`
}

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

func (ViewJsonObject) Value

func (t ViewJsonObject) Value() (driver.Value, error)

Jump to

Keyboard shortcuts

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