-- | Permission overwrites module Calamity.Types.Model.Guild.Overwrite ( Overwrite(..) ) where import Calamity.Internal.AesonThings import Calamity.Types.Model.Guild.Permissions import Calamity.Types.Snowflake import Data.Aeson import Data.Text.Lazy ( Text ) import GHC.Generics import TextShow import qualified TextShow.Generic as TSG data Overwrite = Overwrite { id :: Snowflake Overwrite , type_ :: Text , allow :: Permissions , deny :: Permissions } deriving ( Eq, Show, Generic ) deriving ( TextShow ) via TSG.FromGeneric Overwrite deriving ( ToJSON, FromJSON ) via CalamityJSON Overwrite deriving ( HasID Overwrite ) via HasIDField "id" Overwrite