keiro-dsl-0.12.0.0: test/conformance-projection-catalog/Generated/CatalogDemo/Shipments/Domain.hs
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
-- @generated by keiro-dsl 0.12.0.0 (language keiro-dsl 5) from aggregate Shipments; do not edit.
module Generated.CatalogDemo.Shipments.Domain where
import Data.Proxy (Proxy (..))
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import CatalogDemo.MappedDomain (SharedReference)
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)
data ShipmentsVertex = ShipmentsEmpty | ShipmentsRecorded
deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
data RecordShipmentData = RecordShipmentData
{ sharedReference :: !SharedReference
, accepted :: !Bool
}
deriving stock (Generic, Eq, Show)
data ShipmentsCommand = RecordShipment !RecordShipmentData
deriving stock (Generic, Eq, Show)
data ShipmentRecordedData = ShipmentRecordedData
{ sharedReference :: !SharedReference
, accepted :: !Bool
}
deriving stock (Generic, Eq, Show)
data ShipmentsEvent = ShipmentRecorded !ShipmentRecordedData
deriving stock (Generic, Eq, Show)
type ShipmentsRegs =
'[ '("accepted", Bool)
]
initialShipmentsRegs :: RegFile ShipmentsRegs
initialShipmentsRegs =
RCons (Proxy @"accepted") False RNil
$(deriveAggregateCtorsAll ''ShipmentsCommand ''ShipmentsRegs)
$(deriveWireCtorsAll ''ShipmentsEvent)