packages feed

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)