packages feed

keiro-dsl-0.15.0.0: test/fixtures/dispatch-dedup-bad-field.keiro

language keiro-dsl 4
context repro

readmodel accepted_transfer_needs {
  table = "accepted_transfer_needs"
  schema = "hospital_capacity"
  columns {
    reservation_id text required
    hospital_id text required
  }
  version = 1
  shape = "fnv1a:fec517dae7760b8a"
  consistency = Eventual
  feed = subscription
}

readmodel transfer_decisions {
  table = "transfer_decisions"
  schema = "hospital_capacity"
  columns {
    reservation_id text required
  }
  version = 1
  shape = "fnv1a:d44d218822582783"
  consistency = Eventual
  feed = subscription
}

workqueue reservation_work {
  queue logical = "hospital_capacity.reservation_work"
  derive physical = "hospital_capacity_reservation_work"
         dlq = "hospital_capacity_reservation_work_dlq"
         table = "pgmq.q_hospital_capacity_reservation_work"

  payload ReservationWorkItem {
    reservationId -> "reservation_id" text required
  }

  retry maxRetries = 3 delay = 5s dlq = on

  disposition {
    storeFailure -> retry 5s
    commandRejected -> deadLetter
    decodeFailure -> deadLetter
    onCodecReject -> deadLetter
  }
}

dispatch reservation_work_dispatch {
  source readModel = accepted_transfer_needs key = reservationId
  fanout body = resolveTransferCandidates
  dedup key = reservationId
        seenIn readModel = transfer_decisions field = reservation_id
        seenIn queue = reservation_work field = wrong_field
  enqueue to = reservation_work
}