keiro-dsl-0.17.0.0: test/fixtures/process-reactions-payload-incomplete.keiro
language keiro-dsl 6
context reaction-negative
id ItemId prefix=item
process P
name "p"
reactions version 1
input A { itemId:ItemId at:Time }
correlate input.itemId via idText
saga Saga category "saga"
target Target
projections [ ]
on A
schedule alarm fireAt input.at + 5m { itemId }
dispatch-id strategy=uuidv5 from=(name, correlationId, sourceEventId, targetStreamName, occurrence)
rejected => halt
poison => halt
timers max-attempts 3 dead-letter "failed"
timer alarm
id uuidv5 "alarm:" <> correlationId
payload { itemId:ItemId note:Text }
fire dispatch Target@correlationId Act { itemId }
fired-event-id uuidv5 "fired:" <> correlationId
on-ok Fired ; on-reject Fired ; on-ambiguous Retry ; on-error Retry ; not-mine Retry
decode unknown-status => Cancelled
aggregate Saga
regs
states Open
command KeepSaga { itemId }
event SagaKept = fields(KeepSaga)
Open -- KeepSaga --> emit SagaKept ; goto Open
aggregate Target
regs
states Open
command KeepTarget { itemId }
event TargetKept = fields(KeepTarget)
Open -- KeepTarget --> emit TargetKept ; goto Open
command Act { itemId }
event Acted = fields(Act)
Open -- Act --> emit Acted ; goto Open