packages feed

keiro-dsl-0.4.0.1: test/conformance-dispatch-full/Generated/HospitalCapacity/Reservation_work/QueueCodec.hs

{-# LANGUAGE OverloadedStrings #-}

-- @generated by keiro-dsl; do not edit. Regenerated from the .keiro spec.

{- | Versioned job payload envelope: @{\"v\",\"t\",\"data\"}@.

Deploy workers before producers when raising its schema version. Do not
adopt this codec on a non-empty bare-payload queue without draining it
(or supplying a transitional codec), or in-flight messages will
dead-letter. This is telemetry-neutral:
docs/adr/0001-keiro-pgmq-job-processing-telemetry-contract.md owns
spans and acknowledgement vocabulary.
-}
module Generated.HospitalCapacity.Reservation_work.QueueCodec (reservationWorkPayloadCodec, reservationWorkJobCodec) where

import Data.List.NonEmpty (NonEmpty (..))
import Generated.HospitalCapacity.Reservation_work.Queue (ReservationWorkItem, encodeReservationWorkItem, parseReservationWorkItem)
import Keiro.Codec (Codec (..), EventType (..))
import Keiro.PGMQ.Codec (JobCodec, keiroJobCodec)

reservationWorkPayloadCodec :: Codec ReservationWorkItem
reservationWorkPayloadCodec =
    Codec
        { eventTypes = EventType "ReservationWorkItem" :| []
        , eventType = \_ -> EventType "ReservationWorkItem"
        , schemaVersion = 1
        , encode = encodeReservationWorkItem
        , decode = \_ -> parseReservationWorkItem
        , upcasters = []
        }

reservationWorkJobCodec :: JobCodec ReservationWorkItem
reservationWorkJobCodec = keiroJobCodec reservationWorkPayloadCodec