keiro-dsl-0.10.0.0: test/conformance-import-planning/Generated/ImportPlanningCollisions/CollisionLedger/Domain.hs
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
-- @generated by keiro-dsl 0.9.0.0 (language keiro-dsl 4) from aggregate CollisionLedger; do not edit.
module Generated.ImportPlanningCollisions.CollisionLedger.Domain where
import Data.Proxy (Proxy (..))
import Data.Text (Text)
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import ImportPlanning.Consumer.Domain qualified as Domain
import ImportPlanning.Consumer.Invoice.Types qualified as InvoiceTypes
import ImportPlanning.Consumer.Order.Types qualified as OrderTypes
import ImportPlanning.Consumer.Shared.Types (Details)
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)
data CollisionLedgerVertex = CollisionLedgerEmpty | CollisionLedgerRecorded
deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
data RecordData = RecordData
{ orderStatus :: !OrderTypes.Status
, invoiceStatus :: !InvoiceTypes.Status
, localCollision :: !Domain.CollisionLedgerCommand
, details :: !Details
}
deriving stock (Generic, Eq, Show)
data CollisionLedgerCommand = Record !RecordData
deriving stock (Generic, Eq, Show)
data RecordedValuesData = RecordedValuesData
{ orderStatus :: !OrderTypes.Status
, invoiceStatus :: !InvoiceTypes.Status
, localCollision :: !Domain.CollisionLedgerCommand
, details :: !Details
}
deriving stock (Generic, Eq, Show)
data CollisionLedgerEvent = RecordedValues !RecordedValuesData
deriving stock (Generic, Eq, Show)
type CollisionLedgerRegs =
'[]
initialCollisionLedgerRegs :: RegFile CollisionLedgerRegs
initialCollisionLedgerRegs =
RNil
$(deriveAggregateCtorsAll ''CollisionLedgerCommand ''CollisionLedgerRegs)
$(deriveWireCtorsAll ''CollisionLedgerEvent)