{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}

module Hercules.API.Accounts.NotificationSettings where

import Data.OpenApi qualified as O3
import Hercules.API.Accounts.SimpleAccount (SimpleAccount)
import Hercules.API.Forge.SimpleForge (SimpleForge)
import Hercules.API.Prelude

data NotificationLevel
  = Ignore
  | All
  deriving ((forall x. NotificationLevel -> Rep NotificationLevel x)
-> (forall x. Rep NotificationLevel x -> NotificationLevel)
-> Generic NotificationLevel
forall x. Rep NotificationLevel x -> NotificationLevel
forall x. NotificationLevel -> Rep NotificationLevel x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NotificationLevel -> Rep NotificationLevel x
from :: forall x. NotificationLevel -> Rep NotificationLevel x
$cto :: forall x. Rep NotificationLevel x -> NotificationLevel
to :: forall x. Rep NotificationLevel x -> NotificationLevel
Generic, Int -> NotificationLevel -> ShowS
[NotificationLevel] -> ShowS
NotificationLevel -> String
(Int -> NotificationLevel -> ShowS)
-> (NotificationLevel -> String)
-> ([NotificationLevel] -> ShowS)
-> Show NotificationLevel
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NotificationLevel -> ShowS
showsPrec :: Int -> NotificationLevel -> ShowS
$cshow :: NotificationLevel -> String
show :: NotificationLevel -> String
$cshowList :: [NotificationLevel] -> ShowS
showList :: [NotificationLevel] -> ShowS
Show, NotificationLevel -> NotificationLevel -> Bool
(NotificationLevel -> NotificationLevel -> Bool)
-> (NotificationLevel -> NotificationLevel -> Bool)
-> Eq NotificationLevel
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NotificationLevel -> NotificationLevel -> Bool
== :: NotificationLevel -> NotificationLevel -> Bool
$c/= :: NotificationLevel -> NotificationLevel -> Bool
/= :: NotificationLevel -> NotificationLevel -> Bool
Eq)
  deriving anyclass (NotificationLevel -> ()
(NotificationLevel -> ()) -> NFData NotificationLevel
forall a. (a -> ()) -> NFData a
$crnf :: NotificationLevel -> ()
rnf :: NotificationLevel -> ()
NFData, [NotificationLevel] -> Value
[NotificationLevel] -> Encoding
NotificationLevel -> Value
NotificationLevel -> Encoding
(NotificationLevel -> Value)
-> (NotificationLevel -> Encoding)
-> ([NotificationLevel] -> Value)
-> ([NotificationLevel] -> Encoding)
-> ToJSON NotificationLevel
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: NotificationLevel -> Value
toJSON :: NotificationLevel -> Value
$ctoEncoding :: NotificationLevel -> Encoding
toEncoding :: NotificationLevel -> Encoding
$ctoJSONList :: [NotificationLevel] -> Value
toJSONList :: [NotificationLevel] -> Value
$ctoEncodingList :: [NotificationLevel] -> Encoding
toEncodingList :: [NotificationLevel] -> Encoding
ToJSON, Value -> Parser [NotificationLevel]
Value -> Parser NotificationLevel
(Value -> Parser NotificationLevel)
-> (Value -> Parser [NotificationLevel])
-> FromJSON NotificationLevel
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser NotificationLevel
parseJSON :: Value -> Parser NotificationLevel
$cparseJSONList :: Value -> Parser [NotificationLevel]
parseJSONList :: Value -> Parser [NotificationLevel]
FromJSON, Proxy NotificationLevel -> Declare (Definitions Schema) NamedSchema
(Proxy NotificationLevel
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NotificationLevel
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NotificationLevel -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NotificationLevel -> Declare (Definitions Schema) NamedSchema
ToSchema, Typeable NotificationLevel
Typeable NotificationLevel =>
(Proxy NotificationLevel
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NotificationLevel
Proxy NotificationLevel -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NotificationLevel -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NotificationLevel -> Declare (Definitions Schema) NamedSchema
O3.ToSchema)

data NotificationSetting = NotificationSetting
  { NotificationSetting -> Maybe NotificationLevel
notificationLevel :: Maybe NotificationLevel,
    NotificationSetting -> Maybe Text
notificationEmail :: Maybe Text
  }
  deriving ((forall x. NotificationSetting -> Rep NotificationSetting x)
-> (forall x. Rep NotificationSetting x -> NotificationSetting)
-> Generic NotificationSetting
forall x. Rep NotificationSetting x -> NotificationSetting
forall x. NotificationSetting -> Rep NotificationSetting x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NotificationSetting -> Rep NotificationSetting x
from :: forall x. NotificationSetting -> Rep NotificationSetting x
$cto :: forall x. Rep NotificationSetting x -> NotificationSetting
to :: forall x. Rep NotificationSetting x -> NotificationSetting
Generic, Int -> NotificationSetting -> ShowS
[NotificationSetting] -> ShowS
NotificationSetting -> String
(Int -> NotificationSetting -> ShowS)
-> (NotificationSetting -> String)
-> ([NotificationSetting] -> ShowS)
-> Show NotificationSetting
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NotificationSetting -> ShowS
showsPrec :: Int -> NotificationSetting -> ShowS
$cshow :: NotificationSetting -> String
show :: NotificationSetting -> String
$cshowList :: [NotificationSetting] -> ShowS
showList :: [NotificationSetting] -> ShowS
Show, NotificationSetting -> NotificationSetting -> Bool
(NotificationSetting -> NotificationSetting -> Bool)
-> (NotificationSetting -> NotificationSetting -> Bool)
-> Eq NotificationSetting
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NotificationSetting -> NotificationSetting -> Bool
== :: NotificationSetting -> NotificationSetting -> Bool
$c/= :: NotificationSetting -> NotificationSetting -> Bool
/= :: NotificationSetting -> NotificationSetting -> Bool
Eq)
  deriving anyclass (NotificationSetting -> ()
(NotificationSetting -> ()) -> NFData NotificationSetting
forall a. (a -> ()) -> NFData a
$crnf :: NotificationSetting -> ()
rnf :: NotificationSetting -> ()
NFData, [NotificationSetting] -> Value
[NotificationSetting] -> Encoding
NotificationSetting -> Value
NotificationSetting -> Encoding
(NotificationSetting -> Value)
-> (NotificationSetting -> Encoding)
-> ([NotificationSetting] -> Value)
-> ([NotificationSetting] -> Encoding)
-> ToJSON NotificationSetting
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: NotificationSetting -> Value
toJSON :: NotificationSetting -> Value
$ctoEncoding :: NotificationSetting -> Encoding
toEncoding :: NotificationSetting -> Encoding
$ctoJSONList :: [NotificationSetting] -> Value
toJSONList :: [NotificationSetting] -> Value
$ctoEncodingList :: [NotificationSetting] -> Encoding
toEncodingList :: [NotificationSetting] -> Encoding
ToJSON, Value -> Parser [NotificationSetting]
Value -> Parser NotificationSetting
(Value -> Parser NotificationSetting)
-> (Value -> Parser [NotificationSetting])
-> FromJSON NotificationSetting
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser NotificationSetting
parseJSON :: Value -> Parser NotificationSetting
$cparseJSONList :: Value -> Parser [NotificationSetting]
parseJSONList :: Value -> Parser [NotificationSetting]
FromJSON, Proxy NotificationSetting
-> Declare (Definitions Schema) NamedSchema
(Proxy NotificationSetting
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NotificationSetting
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NotificationSetting
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NotificationSetting
-> Declare (Definitions Schema) NamedSchema
ToSchema, Typeable NotificationSetting
Typeable NotificationSetting =>
(Proxy NotificationSetting
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NotificationSetting
Proxy NotificationSetting
-> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NotificationSetting
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NotificationSetting
-> Declare (Definitions Schema) NamedSchema
O3.ToSchema)

data NotificationAccountOverride = NotificationSettingsOverride
  { NotificationAccountOverride -> SimpleAccount
account :: SimpleAccount,
    NotificationAccountOverride -> NotificationSetting
setting :: NotificationSetting
  }
  deriving ((forall x.
 NotificationAccountOverride -> Rep NotificationAccountOverride x)
-> (forall x.
    Rep NotificationAccountOverride x -> NotificationAccountOverride)
-> Generic NotificationAccountOverride
forall x.
Rep NotificationAccountOverride x -> NotificationAccountOverride
forall x.
NotificationAccountOverride -> Rep NotificationAccountOverride x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
NotificationAccountOverride -> Rep NotificationAccountOverride x
from :: forall x.
NotificationAccountOverride -> Rep NotificationAccountOverride x
$cto :: forall x.
Rep NotificationAccountOverride x -> NotificationAccountOverride
to :: forall x.
Rep NotificationAccountOverride x -> NotificationAccountOverride
Generic, Int -> NotificationAccountOverride -> ShowS
[NotificationAccountOverride] -> ShowS
NotificationAccountOverride -> String
(Int -> NotificationAccountOverride -> ShowS)
-> (NotificationAccountOverride -> String)
-> ([NotificationAccountOverride] -> ShowS)
-> Show NotificationAccountOverride
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NotificationAccountOverride -> ShowS
showsPrec :: Int -> NotificationAccountOverride -> ShowS
$cshow :: NotificationAccountOverride -> String
show :: NotificationAccountOverride -> String
$cshowList :: [NotificationAccountOverride] -> ShowS
showList :: [NotificationAccountOverride] -> ShowS
Show, NotificationAccountOverride -> NotificationAccountOverride -> Bool
(NotificationAccountOverride
 -> NotificationAccountOverride -> Bool)
-> (NotificationAccountOverride
    -> NotificationAccountOverride -> Bool)
-> Eq NotificationAccountOverride
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NotificationAccountOverride -> NotificationAccountOverride -> Bool
== :: NotificationAccountOverride -> NotificationAccountOverride -> Bool
$c/= :: NotificationAccountOverride -> NotificationAccountOverride -> Bool
/= :: NotificationAccountOverride -> NotificationAccountOverride -> Bool
Eq)
  deriving anyclass (NotificationAccountOverride -> ()
(NotificationAccountOverride -> ())
-> NFData NotificationAccountOverride
forall a. (a -> ()) -> NFData a
$crnf :: NotificationAccountOverride -> ()
rnf :: NotificationAccountOverride -> ()
NFData, [NotificationAccountOverride] -> Value
[NotificationAccountOverride] -> Encoding
NotificationAccountOverride -> Value
NotificationAccountOverride -> Encoding
(NotificationAccountOverride -> Value)
-> (NotificationAccountOverride -> Encoding)
-> ([NotificationAccountOverride] -> Value)
-> ([NotificationAccountOverride] -> Encoding)
-> ToJSON NotificationAccountOverride
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: NotificationAccountOverride -> Value
toJSON :: NotificationAccountOverride -> Value
$ctoEncoding :: NotificationAccountOverride -> Encoding
toEncoding :: NotificationAccountOverride -> Encoding
$ctoJSONList :: [NotificationAccountOverride] -> Value
toJSONList :: [NotificationAccountOverride] -> Value
$ctoEncodingList :: [NotificationAccountOverride] -> Encoding
toEncodingList :: [NotificationAccountOverride] -> Encoding
ToJSON, Value -> Parser [NotificationAccountOverride]
Value -> Parser NotificationAccountOverride
(Value -> Parser NotificationAccountOverride)
-> (Value -> Parser [NotificationAccountOverride])
-> FromJSON NotificationAccountOverride
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser NotificationAccountOverride
parseJSON :: Value -> Parser NotificationAccountOverride
$cparseJSONList :: Value -> Parser [NotificationAccountOverride]
parseJSONList :: Value -> Parser [NotificationAccountOverride]
FromJSON, Proxy NotificationAccountOverride
-> Declare (Definitions Schema) NamedSchema
(Proxy NotificationAccountOverride
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NotificationAccountOverride
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NotificationAccountOverride
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NotificationAccountOverride
-> Declare (Definitions Schema) NamedSchema
ToSchema, Typeable NotificationAccountOverride
Typeable NotificationAccountOverride =>
(Proxy NotificationAccountOverride
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NotificationAccountOverride
Proxy NotificationAccountOverride
-> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NotificationAccountOverride
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NotificationAccountOverride
-> Declare (Definitions Schema) NamedSchema
O3.ToSchema)

data AuthorizedEmail = AuthorizedEmail
  { AuthorizedEmail -> Text
address :: Text,
    AuthorizedEmail -> Bool
isPrimary :: Bool,
    AuthorizedEmail -> Maybe SimpleForge
source :: Maybe SimpleForge
  }
  deriving ((forall x. AuthorizedEmail -> Rep AuthorizedEmail x)
-> (forall x. Rep AuthorizedEmail x -> AuthorizedEmail)
-> Generic AuthorizedEmail
forall x. Rep AuthorizedEmail x -> AuthorizedEmail
forall x. AuthorizedEmail -> Rep AuthorizedEmail x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. AuthorizedEmail -> Rep AuthorizedEmail x
from :: forall x. AuthorizedEmail -> Rep AuthorizedEmail x
$cto :: forall x. Rep AuthorizedEmail x -> AuthorizedEmail
to :: forall x. Rep AuthorizedEmail x -> AuthorizedEmail
Generic, Int -> AuthorizedEmail -> ShowS
[AuthorizedEmail] -> ShowS
AuthorizedEmail -> String
(Int -> AuthorizedEmail -> ShowS)
-> (AuthorizedEmail -> String)
-> ([AuthorizedEmail] -> ShowS)
-> Show AuthorizedEmail
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AuthorizedEmail -> ShowS
showsPrec :: Int -> AuthorizedEmail -> ShowS
$cshow :: AuthorizedEmail -> String
show :: AuthorizedEmail -> String
$cshowList :: [AuthorizedEmail] -> ShowS
showList :: [AuthorizedEmail] -> ShowS
Show, AuthorizedEmail -> AuthorizedEmail -> Bool
(AuthorizedEmail -> AuthorizedEmail -> Bool)
-> (AuthorizedEmail -> AuthorizedEmail -> Bool)
-> Eq AuthorizedEmail
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AuthorizedEmail -> AuthorizedEmail -> Bool
== :: AuthorizedEmail -> AuthorizedEmail -> Bool
$c/= :: AuthorizedEmail -> AuthorizedEmail -> Bool
/= :: AuthorizedEmail -> AuthorizedEmail -> Bool
Eq)
  deriving anyclass (AuthorizedEmail -> ()
(AuthorizedEmail -> ()) -> NFData AuthorizedEmail
forall a. (a -> ()) -> NFData a
$crnf :: AuthorizedEmail -> ()
rnf :: AuthorizedEmail -> ()
NFData, [AuthorizedEmail] -> Value
[AuthorizedEmail] -> Encoding
AuthorizedEmail -> Value
AuthorizedEmail -> Encoding
(AuthorizedEmail -> Value)
-> (AuthorizedEmail -> Encoding)
-> ([AuthorizedEmail] -> Value)
-> ([AuthorizedEmail] -> Encoding)
-> ToJSON AuthorizedEmail
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: AuthorizedEmail -> Value
toJSON :: AuthorizedEmail -> Value
$ctoEncoding :: AuthorizedEmail -> Encoding
toEncoding :: AuthorizedEmail -> Encoding
$ctoJSONList :: [AuthorizedEmail] -> Value
toJSONList :: [AuthorizedEmail] -> Value
$ctoEncodingList :: [AuthorizedEmail] -> Encoding
toEncodingList :: [AuthorizedEmail] -> Encoding
ToJSON, Value -> Parser [AuthorizedEmail]
Value -> Parser AuthorizedEmail
(Value -> Parser AuthorizedEmail)
-> (Value -> Parser [AuthorizedEmail]) -> FromJSON AuthorizedEmail
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser AuthorizedEmail
parseJSON :: Value -> Parser AuthorizedEmail
$cparseJSONList :: Value -> Parser [AuthorizedEmail]
parseJSONList :: Value -> Parser [AuthorizedEmail]
FromJSON, Proxy AuthorizedEmail -> Declare (Definitions Schema) NamedSchema
(Proxy AuthorizedEmail -> Declare (Definitions Schema) NamedSchema)
-> ToSchema AuthorizedEmail
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy AuthorizedEmail -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy AuthorizedEmail -> Declare (Definitions Schema) NamedSchema
ToSchema, Typeable AuthorizedEmail
Typeable AuthorizedEmail =>
(Proxy AuthorizedEmail -> Declare (Definitions Schema) NamedSchema)
-> ToSchema AuthorizedEmail
Proxy AuthorizedEmail -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy AuthorizedEmail -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy AuthorizedEmail -> Declare (Definitions Schema) NamedSchema
O3.ToSchema)

data NotificationSettings = NotificationSettings
  { NotificationSettings -> [AuthorizedEmail]
authorizedEmails :: [AuthorizedEmail],
    NotificationSettings -> Maybe NotificationSetting
defaultSetting :: Maybe NotificationSetting,
    NotificationSettings -> [NotificationAccountOverride]
accountOverrides :: [NotificationAccountOverride]
  }
  deriving ((forall x. NotificationSettings -> Rep NotificationSettings x)
-> (forall x. Rep NotificationSettings x -> NotificationSettings)
-> Generic NotificationSettings
forall x. Rep NotificationSettings x -> NotificationSettings
forall x. NotificationSettings -> Rep NotificationSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NotificationSettings -> Rep NotificationSettings x
from :: forall x. NotificationSettings -> Rep NotificationSettings x
$cto :: forall x. Rep NotificationSettings x -> NotificationSettings
to :: forall x. Rep NotificationSettings x -> NotificationSettings
Generic, Int -> NotificationSettings -> ShowS
[NotificationSettings] -> ShowS
NotificationSettings -> String
(Int -> NotificationSettings -> ShowS)
-> (NotificationSettings -> String)
-> ([NotificationSettings] -> ShowS)
-> Show NotificationSettings
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NotificationSettings -> ShowS
showsPrec :: Int -> NotificationSettings -> ShowS
$cshow :: NotificationSettings -> String
show :: NotificationSettings -> String
$cshowList :: [NotificationSettings] -> ShowS
showList :: [NotificationSettings] -> ShowS
Show, NotificationSettings -> NotificationSettings -> Bool
(NotificationSettings -> NotificationSettings -> Bool)
-> (NotificationSettings -> NotificationSettings -> Bool)
-> Eq NotificationSettings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NotificationSettings -> NotificationSettings -> Bool
== :: NotificationSettings -> NotificationSettings -> Bool
$c/= :: NotificationSettings -> NotificationSettings -> Bool
/= :: NotificationSettings -> NotificationSettings -> Bool
Eq)
  deriving anyclass (NotificationSettings -> ()
(NotificationSettings -> ()) -> NFData NotificationSettings
forall a. (a -> ()) -> NFData a
$crnf :: NotificationSettings -> ()
rnf :: NotificationSettings -> ()
NFData, [NotificationSettings] -> Value
[NotificationSettings] -> Encoding
NotificationSettings -> Value
NotificationSettings -> Encoding
(NotificationSettings -> Value)
-> (NotificationSettings -> Encoding)
-> ([NotificationSettings] -> Value)
-> ([NotificationSettings] -> Encoding)
-> ToJSON NotificationSettings
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: NotificationSettings -> Value
toJSON :: NotificationSettings -> Value
$ctoEncoding :: NotificationSettings -> Encoding
toEncoding :: NotificationSettings -> Encoding
$ctoJSONList :: [NotificationSettings] -> Value
toJSONList :: [NotificationSettings] -> Value
$ctoEncodingList :: [NotificationSettings] -> Encoding
toEncodingList :: [NotificationSettings] -> Encoding
ToJSON, Value -> Parser [NotificationSettings]
Value -> Parser NotificationSettings
(Value -> Parser NotificationSettings)
-> (Value -> Parser [NotificationSettings])
-> FromJSON NotificationSettings
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser NotificationSettings
parseJSON :: Value -> Parser NotificationSettings
$cparseJSONList :: Value -> Parser [NotificationSettings]
parseJSONList :: Value -> Parser [NotificationSettings]
FromJSON, Proxy NotificationSettings
-> Declare (Definitions Schema) NamedSchema
(Proxy NotificationSettings
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NotificationSettings
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NotificationSettings
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NotificationSettings
-> Declare (Definitions Schema) NamedSchema
ToSchema, Typeable NotificationSettings
Typeable NotificationSettings =>
(Proxy NotificationSettings
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NotificationSettings
Proxy NotificationSettings
-> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NotificationSettings
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NotificationSettings
-> Declare (Definitions Schema) NamedSchema
O3.ToSchema)