keiro-dsl-0.12.0.0: test/conformance-declarative-router/Generated/TransferRouting/Hospital/Domain.hs
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
-- @generated by keiro-dsl 0.12.0.0 (language keiro-dsl 5) from aggregate Hospital; do not edit.
module Generated.TransferRouting.Hospital.Domain where
import Data.Proxy (Proxy (..))
import Data.Text (Text)
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)
data HospitalVertex = HospitalOpen | HospitalRouted
deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
data RouteAcceptedTransferNeedData = RouteAcceptedTransferNeedData
{ transferNeedId :: !Text
, hospitalId :: !Text
}
deriving stock (Generic, Eq, Show)
data HospitalCommand = RouteAcceptedTransferNeed !RouteAcceptedTransferNeedData
deriving stock (Generic, Eq, Show)
data TransferNeedRoutedData = TransferNeedRoutedData
{ transferNeedId :: !Text
, hospitalId :: !Text
}
deriving stock (Generic, Eq, Show)
data HospitalEvent = TransferNeedRouted !TransferNeedRoutedData
deriving stock (Generic, Eq, Show)
type HospitalRegs =
'[ '("routed", Bool)
]
initialHospitalRegs :: RegFile HospitalRegs
initialHospitalRegs =
RCons (Proxy @"routed") False RNil
$(deriveAggregateCtorsAll ''HospitalCommand ''HospitalRegs)
$(deriveWireCtorsAll ''HospitalEvent)