{-# LANGUAGE TemplateHaskell #-}

module Hasura.RQL.Types.GraphqlSchemaIntrospection
  ( SetGraphqlIntrospectionOptions (..),
  )
where

import Data.Aeson.TH
import Data.HashSet qualified as Set
import Hasura.Incremental (Cacheable)
import Hasura.Prelude
import Hasura.Session

newtype SetGraphqlIntrospectionOptions = SetGraphqlIntrospectionOptions {SetGraphqlIntrospectionOptions -> HashSet RoleName
_idrDisabledForRoles :: (Set.HashSet RoleName)}
  deriving (Int -> SetGraphqlIntrospectionOptions -> ShowS
[SetGraphqlIntrospectionOptions] -> ShowS
SetGraphqlIntrospectionOptions -> String
(Int -> SetGraphqlIntrospectionOptions -> ShowS)
-> (SetGraphqlIntrospectionOptions -> String)
-> ([SetGraphqlIntrospectionOptions] -> ShowS)
-> Show SetGraphqlIntrospectionOptions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetGraphqlIntrospectionOptions] -> ShowS
$cshowList :: [SetGraphqlIntrospectionOptions] -> ShowS
show :: SetGraphqlIntrospectionOptions -> String
$cshow :: SetGraphqlIntrospectionOptions -> String
showsPrec :: Int -> SetGraphqlIntrospectionOptions -> ShowS
$cshowsPrec :: Int -> SetGraphqlIntrospectionOptions -> ShowS
Show, SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> Bool
(SetGraphqlIntrospectionOptions
 -> SetGraphqlIntrospectionOptions -> Bool)
-> (SetGraphqlIntrospectionOptions
    -> SetGraphqlIntrospectionOptions -> Bool)
-> Eq SetGraphqlIntrospectionOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> Bool
$c/= :: SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> Bool
== :: SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> Bool
$c== :: SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> Bool
Eq, (forall x.
 SetGraphqlIntrospectionOptions
 -> Rep SetGraphqlIntrospectionOptions x)
-> (forall x.
    Rep SetGraphqlIntrospectionOptions x
    -> SetGraphqlIntrospectionOptions)
-> Generic SetGraphqlIntrospectionOptions
forall x.
Rep SetGraphqlIntrospectionOptions x
-> SetGraphqlIntrospectionOptions
forall x.
SetGraphqlIntrospectionOptions
-> Rep SetGraphqlIntrospectionOptions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep SetGraphqlIntrospectionOptions x
-> SetGraphqlIntrospectionOptions
$cfrom :: forall x.
SetGraphqlIntrospectionOptions
-> Rep SetGraphqlIntrospectionOptions x
Generic, b
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
NonEmpty SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions
SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
(SetGraphqlIntrospectionOptions
 -> SetGraphqlIntrospectionOptions
 -> SetGraphqlIntrospectionOptions)
-> (NonEmpty SetGraphqlIntrospectionOptions
    -> SetGraphqlIntrospectionOptions)
-> (forall b.
    Integral b =>
    b
    -> SetGraphqlIntrospectionOptions
    -> SetGraphqlIntrospectionOptions)
-> Semigroup SetGraphqlIntrospectionOptions
forall b.
Integral b =>
b
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
forall a.
(a -> a -> a)
-> (NonEmpty a -> a)
-> (forall b. Integral b => b -> a -> a)
-> Semigroup a
stimes :: b
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
$cstimes :: forall b.
Integral b =>
b
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
sconcat :: NonEmpty SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions
$csconcat :: NonEmpty SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions
<> :: SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
$c<> :: SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
Semigroup, Semigroup SetGraphqlIntrospectionOptions
SetGraphqlIntrospectionOptions
Semigroup SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions
-> (SetGraphqlIntrospectionOptions
    -> SetGraphqlIntrospectionOptions
    -> SetGraphqlIntrospectionOptions)
-> ([SetGraphqlIntrospectionOptions]
    -> SetGraphqlIntrospectionOptions)
-> Monoid SetGraphqlIntrospectionOptions
[SetGraphqlIntrospectionOptions] -> SetGraphqlIntrospectionOptions
SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
forall a.
Semigroup a -> a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
mconcat :: [SetGraphqlIntrospectionOptions] -> SetGraphqlIntrospectionOptions
$cmconcat :: [SetGraphqlIntrospectionOptions] -> SetGraphqlIntrospectionOptions
mappend :: SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
$cmappend :: SetGraphqlIntrospectionOptions
-> SetGraphqlIntrospectionOptions -> SetGraphqlIntrospectionOptions
mempty :: SetGraphqlIntrospectionOptions
$cmempty :: SetGraphqlIntrospectionOptions
$cp1Monoid :: Semigroup SetGraphqlIntrospectionOptions
Monoid)

instance NFData SetGraphqlIntrospectionOptions

instance Cacheable SetGraphqlIntrospectionOptions

instance Hashable SetGraphqlIntrospectionOptions

$(deriveJSON hasuraJSON ''SetGraphqlIntrospectionOptions)