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