keiro-dsl-0.12.0.0: test/conformance-mapped-readmodel/Generated/MappedReadmodel/StructuralProjections.hs
{-# LANGUAGE TypeFamilies #-}
-- @generated by keiro-dsl 0.12.0.0 (language keiro-dsl 5) from context mapped-readmodel mapped structural facade; do not edit.
-- Equality witnesses are emitted for Text, Int, Bool, Natural, and UTCTime.
-- Int, Natural, and UTCTime belong to Keiki's ordered subset.
module Generated.MappedReadmodel.StructuralProjections
( accountLookupAccountIdWitness
, accountLookupTenantTenantIdWitness
, accountProfileDisplayNameWitness
, accountSummaryAccountIdWitness
, accountSummaryTenantTenantIdWitness
, tenantKeyTenantIdWitness
, unusedFilterPrefixWitness
) where
import Data.Text (Text)
import Keiro.Codec.Structural (bindingToShape)
import Keiki.Core (FieldProjection (..), FieldWitness, fieldWitness)
import Conformance.MappedReadModel.Bindings qualified as Bindings
import Conformance.MappedReadModel.Domain (AccountLookup, AccountProfile, AccountSummary, TenantKey, UnusedFilter)
import Generated.MappedReadmodel.Structural.Shape.AccountLookup qualified as ShapeAccountLookup
import Generated.MappedReadmodel.Structural.Shape.AccountProfile qualified as ShapeAccountProfile
import Generated.MappedReadmodel.Structural.Shape.AccountSummary qualified as ShapeAccountSummary
import Generated.MappedReadmodel.Structural.Shape.TenantKey qualified as ShapeTenantKey
import Generated.MappedReadmodel.Structural.Shape.UnusedFilter qualified as ShapeUnusedFilter
data AccountLookupAccountIdProjection
instance FieldProjection AccountLookupAccountIdProjection where
type FieldName AccountLookupAccountIdProjection = "/account_id"
type FieldOwner AccountLookupAccountIdProjection = AccountLookup
type FieldResult AccountLookupAccountIdProjection = Text
fieldShapeId _ = "conformance.mapped-readmodel.AccountLookup.v1"
projectFieldValue _ owner = ShapeAccountLookup.accountId (bindingToShape Bindings.accountLookupBinding owner)
accountLookupAccountIdWitness :: FieldWitness AccountLookupAccountIdProjection
accountLookupAccountIdWitness = fieldWitness @AccountLookupAccountIdProjection
data AccountLookupTenantTenantIdProjection
instance FieldProjection AccountLookupTenantTenantIdProjection where
type FieldName AccountLookupTenantTenantIdProjection = "/tenant/tenant_id"
type FieldOwner AccountLookupTenantTenantIdProjection = AccountLookup
type FieldResult AccountLookupTenantTenantIdProjection = Text
fieldShapeId _ = "conformance.mapped-readmodel.AccountLookup.v1"
projectFieldValue _ owner = ShapeTenantKey.tenantId (ShapeAccountLookup.tenant (bindingToShape Bindings.accountLookupBinding owner))
accountLookupTenantTenantIdWitness :: FieldWitness AccountLookupTenantTenantIdProjection
accountLookupTenantTenantIdWitness = fieldWitness @AccountLookupTenantTenantIdProjection
data AccountProfileDisplayNameProjection
instance FieldProjection AccountProfileDisplayNameProjection where
type FieldName AccountProfileDisplayNameProjection = "/display_name"
type FieldOwner AccountProfileDisplayNameProjection = AccountProfile
type FieldResult AccountProfileDisplayNameProjection = Text
fieldShapeId _ = "conformance.mapped-readmodel.AccountProfile.v1"
projectFieldValue _ owner = ShapeAccountProfile.displayName (bindingToShape Bindings.accountProfileBinding owner)
accountProfileDisplayNameWitness :: FieldWitness AccountProfileDisplayNameProjection
accountProfileDisplayNameWitness = fieldWitness @AccountProfileDisplayNameProjection
data AccountSummaryAccountIdProjection
instance FieldProjection AccountSummaryAccountIdProjection where
type FieldName AccountSummaryAccountIdProjection = "/account_id"
type FieldOwner AccountSummaryAccountIdProjection = AccountSummary
type FieldResult AccountSummaryAccountIdProjection = Text
fieldShapeId _ = "conformance.mapped-readmodel.AccountSummary.v1"
projectFieldValue _ owner = ShapeAccountSummary.accountId (bindingToShape Bindings.accountSummaryBinding owner)
accountSummaryAccountIdWitness :: FieldWitness AccountSummaryAccountIdProjection
accountSummaryAccountIdWitness = fieldWitness @AccountSummaryAccountIdProjection
data AccountSummaryTenantTenantIdProjection
instance FieldProjection AccountSummaryTenantTenantIdProjection where
type FieldName AccountSummaryTenantTenantIdProjection = "/tenant/tenant_id"
type FieldOwner AccountSummaryTenantTenantIdProjection = AccountSummary
type FieldResult AccountSummaryTenantTenantIdProjection = Text
fieldShapeId _ = "conformance.mapped-readmodel.AccountSummary.v1"
projectFieldValue _ owner = ShapeTenantKey.tenantId (ShapeAccountSummary.tenant (bindingToShape Bindings.accountSummaryBinding owner))
accountSummaryTenantTenantIdWitness :: FieldWitness AccountSummaryTenantTenantIdProjection
accountSummaryTenantTenantIdWitness = fieldWitness @AccountSummaryTenantTenantIdProjection
data TenantKeyTenantIdProjection
instance FieldProjection TenantKeyTenantIdProjection where
type FieldName TenantKeyTenantIdProjection = "/tenant_id"
type FieldOwner TenantKeyTenantIdProjection = TenantKey
type FieldResult TenantKeyTenantIdProjection = Text
fieldShapeId _ = "conformance.mapped-readmodel.TenantKey.v1"
projectFieldValue _ owner = ShapeTenantKey.tenantId (bindingToShape Bindings.tenantKeyBinding owner)
tenantKeyTenantIdWitness :: FieldWitness TenantKeyTenantIdProjection
tenantKeyTenantIdWitness = fieldWitness @TenantKeyTenantIdProjection
data UnusedFilterPrefixProjection
instance FieldProjection UnusedFilterPrefixProjection where
type FieldName UnusedFilterPrefixProjection = "/prefix"
type FieldOwner UnusedFilterPrefixProjection = UnusedFilter
type FieldResult UnusedFilterPrefixProjection = Text
fieldShapeId _ = "conformance.mapped-readmodel.UnusedFilter.v1"
projectFieldValue _ owner = ShapeUnusedFilter.prefix (bindingToShape Bindings.unusedFilterBinding owner)
unusedFilterPrefixWitness :: FieldWitness UnusedFilterPrefixProjection
unusedFilterPrefixWitness = fieldWitness @UnusedFilterPrefixProjection