keiro-dsl-0.7.0.0: test/conformance-skeletons/SkelProcess/Generated/MyService/Hospital/Domain.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
{-# OPTIONS_GHC -Wno-unused-top-binds #-}
-- @generated by keiro-dsl; do not edit. Regenerated from the .keiro spec.
module SkelProcess.Generated.MyService.Hospital.Domain where
import Data.Proxy (Proxy (..))
import Data.Text (Text)
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import SkelProcess.Generated.MyService.Nominals (HospitalId (..))
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)
data HospitalVertex = HospitalOperational | HospitalSurging
deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
data ActivateSurgeData = ActivateSurgeData
{ hospitalId :: !HospitalId
}
deriving stock (Generic, Eq, Show)
data HospitalCommand = ActivateSurge !ActivateSurgeData
deriving stock (Generic, Eq, Show)
data SurgeActivatedData = SurgeActivatedData
{ hospitalId :: !HospitalId
}
deriving stock (Generic, Eq, Show)
data HospitalEvent = SurgeActivated !SurgeActivatedData
deriving stock (Generic, Eq, Show)
type HospitalRegs =
'[]
initialHospitalRegs :: RegFile HospitalRegs
initialHospitalRegs =
RNil
$(deriveAggregateCtorsAll ''HospitalCommand ''HospitalRegs)
$(deriveWireCtorsAll ''HospitalEvent)