packages feed

keiro-dsl-0.2.0.0: test/conformance-skeletons/SkelRouter/Generated/MyService/Page/Domain.hs

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
{-# OPTIONS_GHC -Wno-unused-top-binds #-}

-- @generated by keiro-dsl; do not edit. Regenerated from the .keiro spec.
module SkelRouter.Generated.MyService.Page.Domain where

import Data.Proxy (Proxy (..))
import Data.Text (Text)
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)

data PageVertex = PagePending | PageDelivered
    deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)

data SendPageData = SendPageData
    { incidentId :: !Text
    , responderId :: !Text
    }
    deriving stock (Generic, Eq, Show)

data PageCommand = SendPage !SendPageData
    deriving stock (Generic, Eq, Show)

data PageSentData = PageSentData
    { incidentId :: !Text
    , responderId :: !Text
    }
    deriving stock (Generic, Eq, Show)

data PageEvent = PageSent !PageSentData
    deriving stock (Generic, Eq, Show)

type PageRegs =
    '[]

initialPageRegs :: RegFile PageRegs
initialPageRegs =
    RNil

$(deriveAggregateCtorsAll ''PageCommand ''PageRegs)

$(deriveWireCtorsAll ''PageEvent)