Files
git.stella-ops.org/src/Workflow/docs/decompiled-samples/json/UpdateSrPolicyIdSrcAndCopyCovers.json
master f5b5f24d95 Add StellaOps.Workflow engine: 14 libraries, WebService, 8 test projects
Extract product-agnostic workflow engine from Ablera.Serdica.Workflow into
standalone StellaOps.Workflow.* libraries targeting net10.0.

Libraries (14):
- Contracts, Abstractions (compiler, decompiler, expression runtime)
- Engine (execution, signaling, scheduling, projections, hosted services)
- ElkSharp (generic graph layout algorithm)
- Renderer.ElkSharp, Renderer.ElkJs, Renderer.Msagl, Renderer.Svg
- Signaling.Redis, Signaling.OracleAq
- DataStore.MongoDB, DataStore.PostgreSQL, DataStore.Oracle

WebService: ASP.NET Core Minimal API with 22 endpoints

Tests (8 projects, 109 tests pass):
- Engine.Tests (105 pass), WebService.Tests (4 E2E pass)
- Renderer.Tests, DataStore.MongoDB/Oracle/PostgreSQL.Tests
- Signaling.Redis.Tests, IntegrationTests.Shared

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 19:14:44 +02:00

151 lines
3.6 KiB
JSON

{
"schemaVersion": "stellaops.workflow.definition/v1",
"workflowName": "UpdateSrPolicyIdSrcAndCopyCovers",
"workflowVersion": "1.0.0",
"displayName": "Update Policy ID Source and Copy Covers",
"startRequest": {
"contractName": "StellaOps.Workflow.Engine.Tests.TestUpdateSrPolicyIdSrcAndCopyCoversStartRequest",
"schema": {
"type": "object",
"properties": {
"srPolicyId": {
"type": "number"
}
}
},
"allowAdditionalProperties": true
},
"workflowRoles": [
"DBA"
],
"businessReference": {
"keyExpression": {
"$type": "path",
"path": "start.srPolicyId"
},
"parts": [
{
"name": "policyId",
"expression": {
"$type": "path",
"path": "start.srPolicyId"
}
}
]
},
"start": {
"initializeStateExpression": {
"$type": "object",
"properties": [
{
"name": "srPolicyId",
"expression": {
"$type": "path",
"path": "start.srPolicyId"
}
},
{
"name": "shouldContinue",
"expression": {
"$type": "boolean",
"value": true
}
}
]
},
"initialSequence": {
"steps": [
{
"$type": "call-transport",
"stepName": "Update Policy Source",
"invocation": {
"address": {
"$type": "legacy-rabbit",
"command": "pas_update_policy_source",
"mode": 1
},
"payloadExpression": {
"$type": "object",
"properties": [
{
"name": "srPolicyId",
"expression": {
"$type": "path",
"path": "state.srPolicyId"
}
}
]
}
}
},
{
"$type": "decision",
"decisionName": "Continue or end process",
"conditionExpression": {
"$type": "binary",
"operator": "eq",
"left": {
"$type": "path",
"path": "state.shouldContinue"
},
"right": {
"$type": "boolean",
"value": true
}
},
"whenTrue": {
"steps": [
{
"$type": "call-transport",
"stepName": "Copy Covers",
"invocation": {
"address": {
"$type": "legacy-rabbit",
"command": "pas_copy_covers",
"mode": 1
},
"payloadExpression": {
"$type": "object",
"properties": [
{
"name": "srPolicyId",
"expression": {
"$type": "path",
"path": "state.srPolicyId"
}
}
]
}
}
},
{
"$type": "complete"
}
]
},
"whenElse": {
"steps": [
{
"$type": "complete"
}
]
}
}
]
}
},
"tasks": [],
"requiredModules": [
{
"moduleName": "transport.legacy-rabbit",
"versionExpression": "\u003E=1.0.0",
"optional": false
},
{
"moduleName": "workflow.dsl.core",
"versionExpression": "\u003E=1.0.0",
"optional": false
}
],
"requiredCapabilities": []
}