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