Skip to content

Commit 92e4a48

Browse files
author
apidbere
committed
Modified validTransitionAndEnd func to skip validation for compensation states
1 parent 4afc5f3 commit 92e4a48

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

model/workflow_validator.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,9 @@ func transitionStructLevelValidationCtx(ctx ValidatorContext, structLevel valida
201201
func validTransitionAndEnd(structLevel validator.StructLevel, field any, transition *Transition, end *End) {
202202
hasTransition := transition != nil
203203
isEnd := end != nil && (end.Terminate || end.ContinueAs != nil || len(end.ProduceEvents) > 0) // TODO: check the spec continueAs/produceEvents to see how it influences the end
204+
usedForCompensation := field.(BaseState).UsedForCompensation
204205

205-
if !hasTransition && !isEnd {
206+
if !hasTransition && !isEnd && !usedForCompensation {
206207
structLevel.ReportError(field, "Transition", "transition", val.TagRequired, "")
207208
} else if hasTransition && isEnd {
208209
structLevel.ReportError(field, "Transition", "transition", val.TagExclusive, "")

0 commit comments

Comments
 (0)