{-# 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. 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 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 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 -> () forall a. (a -> ()) -> NFData a rnf :: NotificationSettingsPatch -> () $crnf :: NotificationSettingsPatch -> () NFData, [NotificationSettingsPatch] -> Encoding [NotificationSettingsPatch] -> Value NotificationSettingsPatch -> Encoding NotificationSettingsPatch -> Value 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 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 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)