{-# LANGUAGE DeriveAnyClass #-} module Hercules.API.Accounts.NotificationSettingsPatch where 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 $cto :: forall x. Rep NotificationSettingsPatch x -> NotificationSettingsPatch $cfrom :: forall x. NotificationSettingsPatch -> Rep NotificationSettingsPatch x 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 showList :: [NotificationSettingsPatch] -> ShowS $cshowList :: [NotificationSettingsPatch] -> ShowS show :: NotificationSettingsPatch -> String $cshow :: NotificationSettingsPatch -> String showsPrec :: Int -> NotificationSettingsPatch -> ShowS $cshowsPrec :: Int -> NotificationSettingsPatch -> ShowS Show, NotificationSettingsPatch -> NotificationSettingsPatch -> Bool (NotificationSettingsPatch -> NotificationSettingsPatch -> Bool) -> (NotificationSettingsPatch -> NotificationSettingsPatch -> Bool) -> Eq NotificationSettingsPatch forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: NotificationSettingsPatch -> NotificationSettingsPatch -> Bool $c/= :: NotificationSettingsPatch -> NotificationSettingsPatch -> Bool == :: NotificationSettingsPatch -> NotificationSettingsPatch -> Bool $c== :: NotificationSettingsPatch -> NotificationSettingsPatch -> Bool Eq, NotificationSettingsPatch -> () (NotificationSettingsPatch -> ()) -> NFData NotificationSettingsPatch forall a. (a -> ()) -> NFData a rnf :: NotificationSettingsPatch -> () $crnf :: NotificationSettingsPatch -> () NFData, [NotificationSettingsPatch] -> Encoding [NotificationSettingsPatch] -> Value NotificationSettingsPatch -> Encoding NotificationSettingsPatch -> Value (NotificationSettingsPatch -> Value) -> (NotificationSettingsPatch -> Encoding) -> ([NotificationSettingsPatch] -> Value) -> ([NotificationSettingsPatch] -> Encoding) -> ToJSON NotificationSettingsPatch forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a toEncodingList :: [NotificationSettingsPatch] -> Encoding $ctoEncodingList :: [NotificationSettingsPatch] -> Encoding toJSONList :: [NotificationSettingsPatch] -> Value $ctoJSONList :: [NotificationSettingsPatch] -> Value toEncoding :: NotificationSettingsPatch -> Encoding $ctoEncoding :: NotificationSettingsPatch -> Encoding toJSON :: NotificationSettingsPatch -> Value $ctoJSON :: NotificationSettingsPatch -> Value 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 parseJSONList :: Value -> Parser [NotificationSettingsPatch] $cparseJSONList :: Value -> Parser [NotificationSettingsPatch] parseJSON :: Value -> Parser NotificationSettingsPatch $cparseJSON :: 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 declareNamedSchema :: Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema $cdeclareNamedSchema :: Proxy NotificationSettingsPatch -> Declare (Definitions Schema) NamedSchema ToSchema)