packages feed

keiro-dsl-0.17.0.0: test/conformance-process-state-authority/Generated/IncidentResponse/Incident/Domain.hs

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

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

data IncidentVertex = IncidentOpen
  deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)

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

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

data IncidentCommand = AcknowledgeIncident !AcknowledgeIncidentData
  | EscalateIncident !EscalateIncidentData
  deriving stock (Generic, Eq, Show)

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

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

data IncidentEvent = IncidentAcknowledged !IncidentAcknowledgedData
  | IncidentEscalated !IncidentEscalatedData
  deriving stock (Generic, Eq, Show)

type IncidentRegs =
  '[]

initialIncidentRegs :: RegFile IncidentRegs
initialIncidentRegs =
  RNil

$(deriveAggregateCtorsAll ''IncidentCommand ''IncidentRegs)



$(deriveWireCtorsAll ''IncidentEvent)