-- | Guilds that are unavailable
module Calamity.Types.Model.Guild.UnavailableGuild
    ( UnavailableGuild(..) ) where

import           Calamity.Internal.AesonThings
import           Calamity.Types.Model.Guild.Guild
import           Calamity.Types.Snowflake

import           Data.Aeson

import           GHC.Generics

import           TextShow
import qualified TextShow.Generic                 as TSG

data UnavailableGuild = UnavailableGuild
  { UnavailableGuild -> Snowflake Guild
id          :: Snowflake Guild
  , UnavailableGuild -> Bool
unavailable :: Bool
  }
  deriving ( UnavailableGuild -> UnavailableGuild -> Bool
(UnavailableGuild -> UnavailableGuild -> Bool)
-> (UnavailableGuild -> UnavailableGuild -> Bool)
-> Eq UnavailableGuild
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UnavailableGuild -> UnavailableGuild -> Bool
$c/= :: UnavailableGuild -> UnavailableGuild -> Bool
== :: UnavailableGuild -> UnavailableGuild -> Bool
$c== :: UnavailableGuild -> UnavailableGuild -> Bool
Eq, Int -> UnavailableGuild -> ShowS
[UnavailableGuild] -> ShowS
UnavailableGuild -> String
(Int -> UnavailableGuild -> ShowS)
-> (UnavailableGuild -> String)
-> ([UnavailableGuild] -> ShowS)
-> Show UnavailableGuild
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UnavailableGuild] -> ShowS
$cshowList :: [UnavailableGuild] -> ShowS
show :: UnavailableGuild -> String
$cshow :: UnavailableGuild -> String
showsPrec :: Int -> UnavailableGuild -> ShowS
$cshowsPrec :: Int -> UnavailableGuild -> ShowS
Show, (forall x. UnavailableGuild -> Rep UnavailableGuild x)
-> (forall x. Rep UnavailableGuild x -> UnavailableGuild)
-> Generic UnavailableGuild
forall x. Rep UnavailableGuild x -> UnavailableGuild
forall x. UnavailableGuild -> Rep UnavailableGuild x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UnavailableGuild x -> UnavailableGuild
$cfrom :: forall x. UnavailableGuild -> Rep UnavailableGuild x
Generic )
  deriving ( Int -> UnavailableGuild -> Builder
Int -> UnavailableGuild -> Text
Int -> UnavailableGuild -> Text
[UnavailableGuild] -> Builder
[UnavailableGuild] -> Text
[UnavailableGuild] -> Text
UnavailableGuild -> Builder
UnavailableGuild -> Text
UnavailableGuild -> Text
(Int -> UnavailableGuild -> Builder)
-> (UnavailableGuild -> Builder)
-> ([UnavailableGuild] -> Builder)
-> (Int -> UnavailableGuild -> Text)
-> (UnavailableGuild -> Text)
-> ([UnavailableGuild] -> Text)
-> (Int -> UnavailableGuild -> Text)
-> (UnavailableGuild -> Text)
-> ([UnavailableGuild] -> Text)
-> TextShow UnavailableGuild
forall a.
(Int -> a -> Builder)
-> (a -> Builder)
-> ([a] -> Builder)
-> (Int -> a -> Text)
-> (a -> Text)
-> ([a] -> Text)
-> (Int -> a -> Text)
-> (a -> Text)
-> ([a] -> Text)
-> TextShow a
showtlList :: [UnavailableGuild] -> Text
$cshowtlList :: [UnavailableGuild] -> Text
showtl :: UnavailableGuild -> Text
$cshowtl :: UnavailableGuild -> Text
showtlPrec :: Int -> UnavailableGuild -> Text
$cshowtlPrec :: Int -> UnavailableGuild -> Text
showtList :: [UnavailableGuild] -> Text
$cshowtList :: [UnavailableGuild] -> Text
showt :: UnavailableGuild -> Text
$cshowt :: UnavailableGuild -> Text
showtPrec :: Int -> UnavailableGuild -> Text
$cshowtPrec :: Int -> UnavailableGuild -> Text
showbList :: [UnavailableGuild] -> Builder
$cshowbList :: [UnavailableGuild] -> Builder
showb :: UnavailableGuild -> Builder
$cshowb :: UnavailableGuild -> Builder
showbPrec :: Int -> UnavailableGuild -> Builder
$cshowbPrec :: Int -> UnavailableGuild -> Builder
TextShow ) via TSG.FromGeneric UnavailableGuild
  deriving ( [UnavailableGuild] -> Encoding
[UnavailableGuild] -> Value
UnavailableGuild -> Encoding
UnavailableGuild -> Value
(UnavailableGuild -> Value)
-> (UnavailableGuild -> Encoding)
-> ([UnavailableGuild] -> Value)
-> ([UnavailableGuild] -> Encoding)
-> ToJSON UnavailableGuild
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [UnavailableGuild] -> Encoding
$ctoEncodingList :: [UnavailableGuild] -> Encoding
toJSONList :: [UnavailableGuild] -> Value
$ctoJSONList :: [UnavailableGuild] -> Value
toEncoding :: UnavailableGuild -> Encoding
$ctoEncoding :: UnavailableGuild -> Encoding
toJSON :: UnavailableGuild -> Value
$ctoJSON :: UnavailableGuild -> Value
ToJSON, Value -> Parser [UnavailableGuild]
Value -> Parser UnavailableGuild
(Value -> Parser UnavailableGuild)
-> (Value -> Parser [UnavailableGuild])
-> FromJSON UnavailableGuild
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [UnavailableGuild]
$cparseJSONList :: Value -> Parser [UnavailableGuild]
parseJSON :: Value -> Parser UnavailableGuild
$cparseJSON :: Value -> Parser UnavailableGuild
FromJSON ) via CalamityJSON UnavailableGuild
  deriving ( HasID Guild ) via HasIDField "id" UnavailableGuild