packages feed

keiro-dsl-0.15.0.0: test/fixtures/intake-dup-row.keiro

language keiro-dsl 4
context repro

contract emergency {
  schemaVersion 1
  discriminator messageType
  topic incidentEvents "emergency.incident.events"
  event IncidentTransferNeedDeclared on incidentEvents {
    incidentId: typeid "inc"
  }
}

intake incidentInbox {
  contract emergency
  topic incidentEvents
  accept IncidentTransferNeedDeclared

  bind messageId from header "keiro-message-id" required cross-check body
  dedupe key messageId policy PreferIntegrationMessageId

  decode {
    envelope strict-required lenient-optional
    body strict schemaVersion == 1
  }

  disposition {
    processed => ackOk
    duplicate => ackOk
    duplicate => retry 5s
    inProgress => retry 5s
    previouslyFailed => deadLetter "prior failure"
    decodeFailed => deadLetter
    dedupeFailed => deadLetter
    storeFailed => retry 5s
  }
}