snapshot of https://github.com/cortezaproject/corteza.git (2024.9.x, 2026-09-18; blobs > 131072B omitted)
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
This commit is contained in:
153
server/automation/workflow.cue
Normal file
153
server/automation/workflow.cue
Normal file
@@ -0,0 +1,153 @@
|
||||
package automation
|
||||
|
||||
import (
|
||||
"github.com/cortezaproject/corteza/server/codegen/schema"
|
||||
)
|
||||
|
||||
workflow: {
|
||||
model: {
|
||||
ident: "automation_workflows"
|
||||
attributes: {
|
||||
id: schema.IdField
|
||||
handle: schema.HandleField
|
||||
meta: {
|
||||
goType: "*types.WorkflowMeta"
|
||||
dal: { type: "JSON", defaultEmptyObject: true }
|
||||
omitSetter: true
|
||||
omitGetter: true
|
||||
}
|
||||
enabled: {
|
||||
sortable: true,
|
||||
goType: "bool"
|
||||
dal: { type: "Boolean", default: true }
|
||||
}
|
||||
trace: {
|
||||
goType: "bool"
|
||||
dal: { type: "Boolean", default: false }
|
||||
}
|
||||
keep_sessions: {
|
||||
goType: "int"
|
||||
dal: { type: "Number", default: 0, meta: { "rdbms:type": "integer" } }
|
||||
}
|
||||
scope: {
|
||||
goType: "*expr.Vars"
|
||||
dal: { type: "JSON", defaultEmptyObject: true }
|
||||
omitSetter: true
|
||||
omitGetter: true
|
||||
}
|
||||
steps: {
|
||||
goType: "types.WorkflowStepSet"
|
||||
dal: { type: "JSON", defaultEmptyObject: true }
|
||||
omitSetter: true
|
||||
omitGetter: true
|
||||
}
|
||||
paths: {
|
||||
goType: "types.WorkflowPathSet"
|
||||
dal: { type: "JSON", defaultEmptyObject: true }
|
||||
omitSetter: true
|
||||
omitGetter: true
|
||||
}
|
||||
issues: {
|
||||
goType: "types.WorkflowIssueSet"
|
||||
dal: { type: "JSON", defaultEmptyObject: true }
|
||||
omitSetter: true
|
||||
omitGetter: true
|
||||
envoy: {
|
||||
yaml: {
|
||||
omitEncoder: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
run_as: schema.AttributeUserRef
|
||||
|
||||
owned_by: schema.AttributeUserRef
|
||||
created_at: schema.SortableTimestampNowField
|
||||
updated_at: schema.SortableTimestampNilField
|
||||
deleted_at: schema.SortableTimestampNilField
|
||||
created_by: schema.AttributeUserRef
|
||||
updated_by: schema.AttributeUserRef
|
||||
deleted_by: schema.AttributeUserRef
|
||||
}
|
||||
|
||||
indexes: {
|
||||
"primary": { attribute: "id" }
|
||||
}
|
||||
}
|
||||
|
||||
envoy: {
|
||||
yaml: {
|
||||
supportMappedInput: true
|
||||
mappedField: "Handle"
|
||||
identKeyAlias: ["workflows"]
|
||||
extendedResourceDecoders: [{
|
||||
ident: "triggers"
|
||||
expIdent: "Triggers"
|
||||
supportMappedInput: false
|
||||
identKeys: ["triggers"]
|
||||
}]
|
||||
extendedResourceEncoders: [{
|
||||
ident: "trigger"
|
||||
expIdent: "Trigger"
|
||||
identKey: "trigger"
|
||||
}]
|
||||
}
|
||||
store: {
|
||||
customFilterBuilder: true
|
||||
extendedDecoder: true
|
||||
}
|
||||
}
|
||||
|
||||
filter: {
|
||||
struct: {
|
||||
workflow_id: { goType: "[]string", ident: "workflowID", storeIdent: "id" }
|
||||
handle: { goType: "string" }
|
||||
sub_workflow: { goType: "filter.State" }
|
||||
deleted: { goType: "filter.State", storeIdent: "deleted_at" }
|
||||
disabled: { goType: "filter.State", storeIdent: "enabled" }
|
||||
}
|
||||
|
||||
query: ["handle"]
|
||||
byValue: ["workflow_id", "handle"]
|
||||
byNilState: ["deleted"]
|
||||
byFalseState: ["disabled"]
|
||||
}
|
||||
|
||||
rbac: {
|
||||
operations: {
|
||||
"read": description: "Read workflow"
|
||||
"update": description: "Update workflow"
|
||||
"delete": description: "Delete workflow"
|
||||
"undelete": description: "Undelete workflow"
|
||||
"execute": description: "Execute workflow"
|
||||
"triggers.manage": description: "Manage workflow triggers"
|
||||
"sessions.manage": description: "Manage workflow sessions"
|
||||
}
|
||||
}
|
||||
|
||||
store: {
|
||||
ident: "automationWorkflow"
|
||||
|
||||
api: {
|
||||
lookups: [
|
||||
{
|
||||
fields: ["id"]
|
||||
description: """
|
||||
searches for workflow by ID
|
||||
|
||||
It returns workflow even if deleted
|
||||
"""
|
||||
}, {
|
||||
fields: ["handle"]
|
||||
nullConstraint: ["deleted_at"]
|
||||
constraintCheck: true
|
||||
description: """
|
||||
searches for workflow by their handle
|
||||
|
||||
It returns only valid workflows
|
||||
"""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user