module Hasura.Metadata.DTO.MetadataV3 (MetadataV3 (..)) where
import Autodocodec (Autodocodec (Autodocodec), HasCodec (codec), object, optionalField, requiredFieldWith, (.=))
import Autodocodec.OpenAPI ()
import Data.Aeson (FromJSON, ToJSON)
import Data.OpenApi qualified as OpenApi
import Hasura.Metadata.DTO.Placeholder (PlaceholderArray, PlaceholderObject)
import Hasura.Metadata.DTO.Utils (versionField)
import Hasura.Prelude
import Hasura.RQL.Types.Metadata.Common (Sources, sourcesCodec)
data MetadataV3 = MetadataV3
{ MetadataV3 -> Sources
metaV3Sources :: Sources,
MetadataV3 -> Maybe PlaceholderArray
metaV3RemoteSchemas :: Maybe PlaceholderArray,
MetadataV3 -> Maybe PlaceholderArray
metaV3QueryCollections :: Maybe PlaceholderArray,
MetadataV3 -> Maybe PlaceholderArray
metaV3Allowlist :: Maybe PlaceholderArray,
MetadataV3 -> Maybe PlaceholderArray
metaV3Actions :: Maybe PlaceholderArray,
MetadataV3 -> Maybe PlaceholderObject
metaV3CustomTypes :: Maybe PlaceholderObject,
MetadataV3 -> Maybe PlaceholderArray
metaV3CronTriggers :: Maybe PlaceholderArray,
MetadataV3 -> Maybe PlaceholderArray
metaV3RestEndpoints :: Maybe PlaceholderArray,
MetadataV3 -> Maybe PlaceholderObject
metaV3ApiLimits :: Maybe PlaceholderObject,
MetadataV3 -> Maybe PlaceholderObject
metaV3MetricsConfig :: Maybe PlaceholderObject,
MetadataV3 -> Maybe PlaceholderArray
metaV3InheritedRoles :: Maybe PlaceholderArray,
MetadataV3 -> Maybe PlaceholderObject
metaV3GraphqlSchemaIntrospection :: Maybe PlaceholderObject,
MetadataV3 -> Maybe PlaceholderObject
metaV3Network :: Maybe PlaceholderObject,
MetadataV3 -> Maybe PlaceholderObject
metaV3BackendConfigs :: Maybe PlaceholderObject
}
deriving stock (Int -> MetadataV3 -> ShowS
[MetadataV3] -> ShowS
MetadataV3 -> String
(Int -> MetadataV3 -> ShowS)
-> (MetadataV3 -> String)
-> ([MetadataV3] -> ShowS)
-> Show MetadataV3
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MetadataV3] -> ShowS
$cshowList :: [MetadataV3] -> ShowS
show :: MetadataV3 -> String
$cshow :: MetadataV3 -> String
showsPrec :: Int -> MetadataV3 -> ShowS
$cshowsPrec :: Int -> MetadataV3 -> ShowS
Show, MetadataV3 -> MetadataV3 -> Bool
(MetadataV3 -> MetadataV3 -> Bool)
-> (MetadataV3 -> MetadataV3 -> Bool) -> Eq MetadataV3
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MetadataV3 -> MetadataV3 -> Bool
$c/= :: MetadataV3 -> MetadataV3 -> Bool
== :: MetadataV3 -> MetadataV3 -> Bool
$c== :: MetadataV3 -> MetadataV3 -> Bool
Eq, (forall x. MetadataV3 -> Rep MetadataV3 x)
-> (forall x. Rep MetadataV3 x -> MetadataV3) -> Generic MetadataV3
forall x. Rep MetadataV3 x -> MetadataV3
forall x. MetadataV3 -> Rep MetadataV3 x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MetadataV3 x -> MetadataV3
$cfrom :: forall x. MetadataV3 -> Rep MetadataV3 x
Generic)
deriving (Value -> Parser [MetadataV3]
Value -> Parser MetadataV3
(Value -> Parser MetadataV3)
-> (Value -> Parser [MetadataV3]) -> FromJSON MetadataV3
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [MetadataV3]
$cparseJSONList :: Value -> Parser [MetadataV3]
parseJSON :: Value -> Parser MetadataV3
$cparseJSON :: Value -> Parser MetadataV3
FromJSON, [MetadataV3] -> Value
[MetadataV3] -> Encoding
MetadataV3 -> Value
MetadataV3 -> Encoding
(MetadataV3 -> Value)
-> (MetadataV3 -> Encoding)
-> ([MetadataV3] -> Value)
-> ([MetadataV3] -> Encoding)
-> ToJSON MetadataV3
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [MetadataV3] -> Encoding
$ctoEncodingList :: [MetadataV3] -> Encoding
toJSONList :: [MetadataV3] -> Value
$ctoJSONList :: [MetadataV3] -> Value
toEncoding :: MetadataV3 -> Encoding
$ctoEncoding :: MetadataV3 -> Encoding
toJSON :: MetadataV3 -> Value
$ctoJSON :: MetadataV3 -> Value
ToJSON, Typeable MetadataV3
Typeable MetadataV3
-> (Proxy MetadataV3 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema MetadataV3
Proxy MetadataV3 -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a
-> (Proxy a -> Declare (Definitions Schema) NamedSchema)
-> ToSchema a
declareNamedSchema :: Proxy MetadataV3 -> Declare (Definitions Schema) NamedSchema
$cdeclareNamedSchema :: Proxy MetadataV3 -> Declare (Definitions Schema) NamedSchema
$cp1ToSchema :: Typeable MetadataV3
OpenApi.ToSchema) via (Autodocodec MetadataV3)
instance HasCodec MetadataV3 where
codec :: JSONCodec MetadataV3
codec =
Text -> ObjectCodec MetadataV3 MetadataV3 -> JSONCodec MetadataV3
forall input output.
Text -> ObjectCodec input output -> ValueCodec input output
object Text
"MetadataV3" (ObjectCodec MetadataV3 MetadataV3 -> JSONCodec MetadataV3)
-> ObjectCodec MetadataV3 MetadataV3 -> JSONCodec MetadataV3
forall a b. (a -> b) -> a -> b
$
Sources
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3
MetadataV3
(Sources
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 Scientific
-> Codec
Object
MetadataV3
(Sources
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Functor f => a -> f b -> f a
<$ Integer -> Codec Object MetadataV3 Scientific
forall a. Integer -> ObjectCodec a Scientific
versionField Integer
3
Codec
Object
MetadataV3
(Sources
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 Sources
-> Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> ValueCodec Sources Sources
-> Text
-> ObjectCodec Sources Sources
forall input output.
Text -> ValueCodec input output -> Text -> ObjectCodec input output
requiredFieldWith Text
"sources" ValueCodec Sources Sources
sourcesCodec Text
"configured databases" ObjectCodec Sources Sources
-> (MetadataV3 -> Sources) -> Codec Object MetadataV3 Sources
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Sources
metaV3Sources
Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
-> Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"remote_schemas" Text
"merge remote GraphQL schemas and provide a unified GraphQL API" ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
-> (MetadataV3 -> Maybe PlaceholderArray)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderArray
metaV3RemoteSchemas
Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
-> Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"query_collections" Text
"group queries using query collections" ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
-> (MetadataV3 -> Maybe PlaceholderArray)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderArray
metaV3QueryCollections
Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
-> Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"allowlist" Text
"safe GraphQL operations - when allow lists are enabled only these operations are allowed" ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
-> (MetadataV3 -> Maybe PlaceholderArray)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderArray
metaV3Allowlist
Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
-> Codec
Object
MetadataV3
(Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"actions" Text
"action definitions which extend Hasura's schema with custom business logic using custom queries and mutations" ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
-> (MetadataV3 -> Maybe PlaceholderArray)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderArray
metaV3Actions
Codec
Object
MetadataV3
(Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
-> Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"custom_types" Text
"custom type definitions" ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
-> (MetadataV3 -> Maybe PlaceholderObject)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderObject
metaV3CustomTypes
Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
-> Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"cron_triggers" Text
"reliably trigger HTTP endpoints to run custom business logic periodically based on a cron schedule" ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
-> (MetadataV3 -> Maybe PlaceholderArray)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderArray
metaV3CronTriggers
Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
-> Codec
Object
MetadataV3
(Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"rest_endpoints" Text
"REST interfaces to saved GraphQL queries and mutations" ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
-> (MetadataV3 -> Maybe PlaceholderArray)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderArray
metaV3RestEndpoints
Codec
Object
MetadataV3
(Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
-> Codec
Object
MetadataV3
(Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"api_limits" Text
"limts to depth and/or rate of API requests" ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
-> (MetadataV3 -> Maybe PlaceholderObject)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderObject
metaV3ApiLimits
Codec
Object
MetadataV3
(Maybe PlaceholderObject
-> Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
-> Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"metrics_config" Text
"TODO" ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
-> (MetadataV3 -> Maybe PlaceholderObject)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderObject
metaV3MetricsConfig
Codec
Object
MetadataV3
(Maybe PlaceholderArray
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
-> Codec
Object
MetadataV3
(Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"inherited_roles" Text
"an inherited role is a way to create a new role which inherits permissions from two or more roles" ObjectCodec (Maybe PlaceholderArray) (Maybe PlaceholderArray)
-> (MetadataV3 -> Maybe PlaceholderArray)
-> Codec Object MetadataV3 (Maybe PlaceholderArray)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderArray
metaV3InheritedRoles
Codec
Object
MetadataV3
(Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> Maybe PlaceholderObject
-> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
-> Codec
Object
MetadataV3
(Maybe PlaceholderObject -> Maybe PlaceholderObject -> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"graphql_schema_introspection" Text
"TODO" ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
-> (MetadataV3 -> Maybe PlaceholderObject)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderObject
metaV3GraphqlSchemaIntrospection
Codec
Object
MetadataV3
(Maybe PlaceholderObject -> Maybe PlaceholderObject -> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
-> Codec Object MetadataV3 (Maybe PlaceholderObject -> MetadataV3)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"network" Text
"TODO" ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
-> (MetadataV3 -> Maybe PlaceholderObject)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderObject
metaV3Network
Codec Object MetadataV3 (Maybe PlaceholderObject -> MetadataV3)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
-> ObjectCodec MetadataV3 MetadataV3
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text
-> Text
-> ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
forall output.
HasCodec output =>
Text -> Text -> ObjectCodec (Maybe output) (Maybe output)
optionalField Text
"backend_configs" Text
"TODO" ObjectCodec (Maybe PlaceholderObject) (Maybe PlaceholderObject)
-> (MetadataV3 -> Maybe PlaceholderObject)
-> Codec Object MetadataV3 (Maybe PlaceholderObject)
forall oldInput output newInput.
ObjectCodec oldInput output
-> (newInput -> oldInput) -> ObjectCodec newInput output
.= MetadataV3 -> Maybe PlaceholderObject
metaV3BackendConfigs