packages feed

keiro-dsl-0.17.0.0: test/conformance-process-state-authority/Generated/IncidentResponse/Nominals.hs

{-# LANGUAGE DeriveAnyClass #-}
-- @generated by keiro-dsl 0.17.0.0 (language keiro-dsl 6) from context incident-response generated nominal declarations; do not edit.
module Generated.IncidentResponse.Nominals
  ( EscalationNoOp (..)
  , escalationNoOpText
  , EscalationRejection (..)
  , escalationRejectionText
  , IncidentId
  , parseIncidentId
  , mkIncidentId
  , incidentIdText
  , Severity (..)
  , severityText
  ) where

import Data.Aeson (FromJSON, ToJSON)
import Data.Text (Text)
import GHC.Generics (Generic)
import Keiki.Shape (CanonicalTypeName)
import Generated.IncidentResponse.Nominals.Internal (IncidentId, mkIncidentId, parseIncidentId, incidentIdText)

data EscalationNoOp = Ignored
  deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
  deriving anyclass (ToJSON, FromJSON)

instance CanonicalTypeName EscalationNoOp

escalationNoOpText :: EscalationNoOp -> Text
escalationNoOpText = \case
  Ignored -> "ignored"

data EscalationRejection = Invalid
  deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
  deriving anyclass (ToJSON, FromJSON)

instance CanonicalTypeName EscalationRejection

escalationRejectionText :: EscalationRejection -> Text
escalationRejectionText = \case
  Invalid -> "invalid"



data Severity = Sev1 | Sev2 | Sev3
  deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
  deriving anyclass (ToJSON, FromJSON)

instance CanonicalTypeName Severity

severityText :: Severity -> Text
severityText = \case
  Sev1 -> "sev1"
  Sev2 -> "sev2"
  Sev3 -> "sev3"