keiro-dsl-0.10.0.0: test/conformance-import-planning/Generated/ImportPlanningCollisions/NominalProjections.hs
{-# LANGUAGE TypeFamilies #-}
-- @generated by keiro-dsl 0.9.0.0 (language keiro-dsl 4) from context import-planning-collisions nominal scalar projection facade; do not edit.
module Generated.ImportPlanningCollisions.NominalProjections where
import Data.Text (Text)
import Keiki.Core (ExactFieldProjection (..), FieldProjection (..), FieldWitness, exactFieldWitness, fieldWitness)
import Keiro.Codec.Nominal (nominalFromRepresentation, nominalToRepresentation)
import ImportPlanning.Bindings qualified as Bindings
import ImportPlanning.Consumer.Domain (CollisionLedgerCommand)
import ImportPlanning.Consumer.Invoice.Types qualified as InvoiceTypes
import ImportPlanning.Consumer.Order.Types qualified as OrderTypes
data InvoiceStatusNominalProjection
instance FieldProjection InvoiceStatusNominalProjection where
type FieldName InvoiceStatusNominalProjection = "InvoiceStatus"
type FieldOwner InvoiceStatusNominalProjection = InvoiceTypes.Status
type FieldResult InvoiceStatusNominalProjection = Text
fieldShapeId _ = "import-planning.InvoiceStatus.v1"
projectFieldValue _ = nominalToRepresentation Bindings.invoiceStatusBinding
invoiceStatusWitness :: FieldWitness InvoiceStatusNominalProjection
invoiceStatusWitness = fieldWitness @InvoiceStatusNominalProjection
data LocalCollisionNominalProjection
instance FieldProjection LocalCollisionNominalProjection where
type FieldName LocalCollisionNominalProjection = "LocalCollision"
type FieldOwner LocalCollisionNominalProjection = CollisionLedgerCommand
type FieldResult LocalCollisionNominalProjection = Text
fieldShapeId _ = "import-planning.LocalCollision.v1"
projectFieldValue _ = nominalToRepresentation Bindings.localCollisionBinding
localCollisionWitness :: FieldWitness LocalCollisionNominalProjection
localCollisionWitness = fieldWitness @LocalCollisionNominalProjection
data OrderStatusNominalProjection
instance FieldProjection OrderStatusNominalProjection where
type FieldName OrderStatusNominalProjection = "OrderStatus"
type FieldOwner OrderStatusNominalProjection = OrderTypes.Status
type FieldResult OrderStatusNominalProjection = Text
fieldShapeId _ = "import-planning.OrderStatus.v1"
projectFieldValue _ = nominalToRepresentation Bindings.orderStatusBinding
orderStatusWitness :: FieldWitness OrderStatusNominalProjection
orderStatusWitness = fieldWitness @OrderStatusNominalProjection