Files
upstream-corteza/server/compose/automation/records_handler.yaml
upstream-mirror 7e385fc126
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
snapshot of https://github.com/cortezaproject/corteza.git (2024.9.x, 2026-09-18; blobs > 131072B omitted)
2026-09-18 01:22:23 +05:00

301 lines
6.5 KiB
YAML

prefix: compose
imports:
- github.com/cortezaproject/corteza/server/compose/types
params:
moduleLookup: &moduleLookup
required: true
types:
- { wf: ID, }
- { wf: Handle, }
- { wf: ComposeModule, suffix: res }
meta:
label: Module
description: |-
Even with unique record ID across all modules, module needs to be known
before doing any record operations. Mainly because records of different
modules can be located in different stores.
namespaceLookup: &namespaceLookup
meta: { label: Namespace }
required: true
types:
- { wf: ID, }
- { wf: Handle, }
- { wf: ComposeNamespace, suffix: res }
recordLookup: &recordLookup
meta: { label: Record }
required: true
types:
- { wf: ID, }
- { wf: ComposeRecord, suffix: res }
record: &record
meta: { label: Record }
required: true
types:
- { wf: ComposeRecord, }
rvRecord: &rvRecord
wf: ComposeRecord
rvTotal: &rvTotal
wf: UnsignedInteger
meta:
label: Total records found
description: |-
Total items that satisfy given conditions.
Needs to be explicitly requested with incTotal argument
rvIndex: &rvIndex
wf: UnsignedInteger
meta:
label: Iteration counter
description: |-
Zero-based number iteration counter
rvPageCursor: &rvPageCursor
wf: String
rvPageNavigation: &rvPageNavigation
wf: Array
filterParams: &filterParams
namespace: *namespaceLookup
module: *moduleLookup
query:
meta: { label: Query }
types:
- { wf: String }
meta:
meta: { label: Meta }
types:
- { wf: Meta }
deleted:
meta: { label: Deleted }
types:
- { wf: UnsignedInteger }
sort:
meta: { label: Sort }
types:
- { wf: String }
limit:
meta: { label: Limit }
types:
- { wf: UnsignedInteger }
incTotal:
meta: { label: Include total }
types:
- { wf: Boolean }
incPageNavigation:
meta: { label: Include page navigation }
types:
- { wf: Boolean }
pageCursor:
meta: { label: Page cursor }
types:
- { wf: String }
edgeParams: &edgeParams
namespace: *namespaceLookup
module: *moduleLookup
labels: &labels
record: "step,workflow"
compose: "step,workflow"
functions:
lookup:
meta:
short: Compose record lookup
description: Find specific record by ID
labels:
<<: *labels
params:
namespace: *namespaceLookup
module: *moduleLookup
record: *recordLookup
results:
record: *rvRecord
search:
meta:
short: Compose records search
labels:
<<: *labels
params: *filterParams
results:
records:
<<: *rvRecord
isArray: true
total: *rvTotal
nextPage: *rvPageCursor
prevPage: *rvPageCursor
pageNavigation: *rvPageNavigation
first:
meta:
short: Compose record lookup (oldest)
labels:
<<: *labels
params: *edgeParams
results:
record: *rvRecord
last:
meta:
short: Compose record lookup (newest)
labels:
<<: *labels
params: *edgeParams
results:
record: *rvRecord
each:
kind: iterator
meta:
short: Compose records
labels:
<<: *labels
params: *filterParams
results:
record: *rvRecord
index: *rvIndex
total: *rvTotal
new:
meta:
short: Compose record maker
description: Creates new compose record instance without saving it
labels:
<<: *labels
params:
namespace: *namespaceLookup
module: *moduleLookup
results:
record: *rvRecord
validate:
meta:
short: Compose record validator
labels:
<<: *labels
params:
record: *record
results:
valid:
wf: Boolean
meta:
label: Set to true when record is valid
create:
meta:
short: Compose record create
labels:
<<: *labels
create: "step"
params:
record:
<<: *record
meta: { label: Record }
required: true
results:
record: *rvRecord
update:
meta:
short: Compose record update
labels:
<<: *labels
update: "step"
params:
record:
<<: *record
meta: { label: Record }
required: true
results:
record: *rvRecord
delete:
meta:
short: Compose record delete
labels:
<<: *labels
delete: "step"
params:
module:
<<: *moduleLookup
required: false
namespace:
<<: *namespaceLookup
meta: { label: Namespace }
required: false
record: *recordLookup
# undelete:
# meta:
# short: Recovers deleted record by ID
# params:
# record: *recordLookup
report:
meta:
short: Report
description: Compose records report
labels:
<<: *labels
params:
namespace: *namespaceLookup
module: *moduleLookup
metrics:
required: true
types: [ { wf: String } ]
meta:
label: Metrics for records report
description: |-
List of comma delimited expressions with aggregation functions (count, sum, min, avg)
dimensons:
required: true
types: [ { wf: String } ]
meta:
label: Dimensons for records report
description: |-
List of comma delimited dimension (i.e.: group by) expressions or fields
filter:
required: true
types: [ { wf: String } ]
meta:
label: Filter for records report
description: |-
Filter in CortezaQL format
results:
report:
wf: Any
meta:
label: Complex structure holding complete records report
description: |-
Example of a result value
[]map[string]interface{}{
{"count": 3, "dimension_0": 1, "metric_0": 3},
{"count": 2, "dimension_0": 2, "metric_0": 5},
{"count": 1, "dimension_0": nil, "metric_0": nil},
}
clone:
meta:
short: Compose record cloner
description: Creates a copy of an existing record
labels:
<<: *labels
params:
namespace: *namespaceLookup
module: *moduleLookup
record: *recordLookup
results:
record: *rvRecord