keiro-dsl-0.9.0.0: test/conformance-skeletons/SkelProcess/Generated/MyService/Hospital/Domain.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
-- @generated by keiro-dsl 0.8.0.0 (language keiro-dsl 4) from aggregate Hospital; do not edit.
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, parseHospitalId)
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)