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:
300
server/compose/automation/records_handler.yaml
Normal file
300
server/compose/automation/records_handler.yaml
Normal file
@@ -0,0 +1,300 @@
|
||||
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
|
||||
Reference in New Issue
Block a user