{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DerivingStrategies #-} module Hercules.API.Accounts.NotificationSettingsPatch where import Data.OpenApi qualified as O3 import Hercules.API.Accounts.Account (Account) import Hercules.API.Accounts.NotificationSettings (NotificationSetting) import Hercules.API.Prelude data NotificationSettingsPatch = NotificationSettingsPatch { NotificationSettingsPatch -> Maybe NotificationSetting defaultSetting :: Maybe NotificationSetting, NotificationSettingsPatch -> Map (Id Account) NotificationSetting accountOverrides :: Map (Id Account) NotificationSetting } deriving ((forall x. NotificationSettingsPatch -> Rep NotificationSettingsPatch x) -> (forall x. Rep NotificationSettingsPatch x -> NotificationSettingsPatch) -> Generic NotificationSettingsPatch forall x. Rep NotificationSettingsPatch x -> NotificationSettingsPatch forall x. NotificationSettingsPatch -> Rep NotificationSettingsPatch x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. NotificationSettingsPatch -> Rep NotificationSettingsPatch x from :: forall x. NotificationSettingsPatch -> Rep NotificationSettingsPatch x $cto :: forall x. Rep NotificationSettingsPatch x -> NotificationSettingsPatch to :: forall x. Rep NotificationSettingsPatch x -> NotificationSettingsPatch Generic, Int -> NotificationSettingsPatch -> ShowS [NotificationSettingsPatch] -> ShowS NotificationSettingsPatch -> String (Int -> NotificationSettingsPatch -> ShowS) -> (NotificationSettingsPatch -> String) -> ([NotificationSettingsPatch] -> ShowS) -> Show NotificationSettingsPatch forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> NotificationSettingsPatch -> ShowS showsPrec :: Int -> NotificationSettingsPatch -> ShowS $cshow :: NotificationSettingsPatch -> String show :: NotificationSettingsPatch -> String $cshowList :: [NotificationSettingsPatch] -> ShowS showList :: [NotificationSettingsPatch] -> ShowS Show, NotificationSettingsPatch -> NotificationSettingsPatch -> Bool (NotificationSettingsPatch -> NotificationSettingsPatch -> Bool) -> (NotificationSettingsPatch -> NotificationSettingsPatch -> Bool) -> Eq NotificationSettingsPatch forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: NotificationSettingsPatch -> NotificationSettingsPatch -> Bool == :: NotificationSettingsPatch -> NotificationSettingsPatch -> Bool $c/= :: NotificationSettingsPatch -> NotificationSettingsPatch -> Bool /= :: NotificationSettingsPatch -> NotificationSettingsPatch -> Bool Eq) deriving anyclass (NotificationSettingsPatch -> () (NotificationSettingsPatch -> ()) -> NFData NotificationSettingsPatch forall a. (a -> ()) -> NFData a $crnf :: NotificationSettingsPatch -> () rnf :: NotificationSettingsPatch -> () NFData, [NotificationSettingsPatch] -> Value [NotificationSettingsPatch] -> Encoding NotificationSettingsPatch -> Value NotificationSettingsPatch -> Encoding (NotificationSettingsPatch -> Value) -> (NotificationSettingsPatch -> Encoding) -> ([NotificationSettingsPatch] -> Value) -> ([NotificationSettingsPatch] -> Encoding) -> ToJSON NotificationSettingsPatch forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a $ctoJSON :: NotificationSettingsPatch -> Value toJSON :: NotificationSettingsPatch -> Value $ctoEncoding :: NotificationSettingsPatch -> Encoding toEncoding :: NotificationSettingsPatch -> Encoding $ctoJSONList :: [NotificationSettingsPatch] -> Value toJSONList :: [NotificationSettingsPatch] -> Value $ctoEncodingList :: [NotificationSettingsPatch] -> Encoding toEncodingList :: [NotificationSettingsPatch] -> Encoding ToJSON, Value -> Parser [NotificationSettingsPatch] Value -> Parser NotificationSettingsPatch (Value -> Parser NotificationSettingsPatch) -> (Value -> Parser [NotificationSettingsPatch]) -> FromJSON NotificationSettingsPatch forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a $cparseJSON :: Value -> Parser NotificationSettingsPatch parseJSON :: Value -> Parser NotificationSettingsPatch $cparseJSONList :: Value -> Parser [NotificationSettingsPatch] parseJSONList :: Value -> Parser [NotificationSettingsPatch] FromJSON, Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema (Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema) -> ToSchema NotificationSettingsPatch forall a. (Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a $cdeclareNamedSchema :: Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema declareNamedSchema :: Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema ToSchema, Typeable NotificationSettingsPatch Typeable NotificationSettingsPatch -> (Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema) -> ToSchema NotificationSettingsPatch Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema forall a. Typeable a -> (Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a $cdeclareNamedSchema :: Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema declareNamedSchema :: Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema O3.ToSchema)