packages feed

keiro-dsl-0.17.0.0: test/conformance-process-timers/Generated/ProcessTimers/IncidentSaga/Domain.hs

{-# LANGUAGE TemplateHaskell #-}
-- @generated by keiro-dsl 0.17.0.0 (language keiro-dsl 6) from aggregate IncidentSaga; do not edit.
module Generated.ProcessTimers.IncidentSaga.Domain where

import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import Generated.ProcessTimers.Nominals (IncidentId)
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)

data IncidentSagaVertex = IncidentSagaOpen
  deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)

data RecordIncidentData = RecordIncidentData
  { incidentId :: !IncidentId
  }
  deriving stock (Generic, Eq, Show)

data IncidentSagaCommand = RecordIncident !RecordIncidentData
  deriving stock (Generic, Eq, Show)

data IncidentRecordedData = IncidentRecordedData
  { incidentId :: !IncidentId
  }
  deriving stock (Generic, Eq, Show)

data IncidentSagaEvent = IncidentRecorded !IncidentRecordedData
  deriving stock (Generic, Eq, Show)

type IncidentSagaRegs =
  '[]

initialIncidentSagaRegs :: RegFile IncidentSagaRegs
initialIncidentSagaRegs =
  RNil

$(deriveAggregateCtorsAll ''IncidentSagaCommand ''IncidentSagaRegs)



$(deriveWireCtorsAll ''IncidentSagaEvent)