packages feed

keiro-dsl-0.18.0.0: test/conformance-id-admission-domains/Generated/IdAdmissionDomains/IdentityLedger/Domain.hs

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

import Data.Proxy (Proxy (..))
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import Generated.IdAdmissionDomains.Nominals (LegacyId, parseLegacyId)
import Conformance.IdAdmissionDomains.Domain (IdentityEnvelope)
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)

data IdentityLedgerVertex = IdentityLedgerOpen
  deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)

data RecordIdentityData = RecordIdentityData
  { legacyId :: !LegacyId
  , envelope :: !IdentityEnvelope
  }
  deriving stock (Generic, Eq, Show)

data ImportLegacyIdentityData = ImportLegacyIdentityData
  { legacyId :: !LegacyId
  , envelope :: !IdentityEnvelope
  }
  deriving stock (Generic, Eq, Show)

data IdentityLedgerCommand = RecordIdentity !RecordIdentityData
  | ImportLegacyIdentity !ImportLegacyIdentityData
  deriving stock (Generic, Eq, Show)

data IdentityRecordedData = IdentityRecordedData
  { legacyId :: !LegacyId
  , envelope :: !IdentityEnvelope
  }
  deriving stock (Generic, Eq, Show)

data IdentityAuditedData = IdentityAuditedData
  { legacyId :: !LegacyId
  , envelope :: !IdentityEnvelope
  }
  deriving stock (Generic, Eq, Show)

data LegacyIdentityImportedData = LegacyIdentityImportedData
  { legacyId :: !LegacyId
  , envelope :: !IdentityEnvelope
  }
  deriving stock (Generic, Eq, Show)

data IdentityLedgerEvent = IdentityRecorded !IdentityRecordedData
  | IdentityAudited !IdentityAuditedData
  | LegacyIdentityImported !LegacyIdentityImportedData
  deriving stock (Generic, Eq, Show)

type IdentityLedgerRegs =
  '[ '("current", LegacyId)
   ]

initialIdentityLedgerRegs :: RegFile IdentityLedgerRegs
initialIdentityLedgerRegs =
  RCons (Proxy @"current") (case parseLegacyId "legacy_01h455vb4pex5vsknk084sn02q" of Right parsed -> parsed; Left _ -> error "generated valid ID sample failed to parse") RNil

$(deriveAggregateCtorsAll ''IdentityLedgerCommand ''IdentityLedgerRegs)



$(deriveWireCtorsAll ''IdentityLedgerEvent)