diff --git a/src/builder.rs b/src/builder.rs index 6bd3b20c..73800466 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -1945,6 +1945,7 @@ pub struct __DirectiveBuilder { #[allow(dead_code)] #[serde(untagged)] pub enum __SchemaField { + Description, Types(Vec<__TypeBuilder>), QueryType(__TypeBuilder), MutationType(Option<__TypeBuilder>), @@ -1961,6 +1962,7 @@ pub struct __SchemaSelection { #[derive(Clone)] pub struct __SchemaBuilder { + pub description: String, pub selections: Vec<__SchemaSelection>, } @@ -2516,6 +2518,7 @@ impl __Schema { builder_fields.push(__SchemaSelection { alias: alias_or_name(&selection_field), selection: match f.name().as_str() { + "description" => __SchemaField::Description, "types" => { let builders = self .types() @@ -2601,6 +2604,7 @@ impl __Schema { } Ok(__SchemaBuilder { + description: "Represents the GraphQL schema of the database".to_string(), selections: builder_fields, }) } diff --git a/src/transpile.rs b/src/transpile.rs index 8d559b54..efe981da 100644 --- a/src/transpile.rs +++ b/src/transpile.rs @@ -1660,6 +1660,9 @@ impl Serialize for __SchemaBuilder { for selection in &self.selections { match &selection.selection { + __SchemaField::Description => { + map.serialize_entry(&selection.alias, &self.description)?; + } __SchemaField::Types(type_builders) => { map.serialize_entry(&selection.alias, &type_builders)?; } diff --git a/test/expected/issue_581_missing_desc_on_schema.out b/test/expected/issue_581_missing_desc_on_schema.out new file mode 100644 index 00000000..a7ce6cdc --- /dev/null +++ b/test/expected/issue_581_missing_desc_on_schema.out @@ -0,0 +1,105 @@ +begin; +select graphql.resolve($$ +query IntrospectionQuery { + __schema { + description + queryType { name } + mutationType { name } + subscriptionType { name } + types { + ...FullType + } + directives { + name + description + + locations + args(includeDeprecated: true) { + ...InputValue + } + } + } +} + +fragment FullType on __Type { + kind + name + description + + fields(includeDeprecated: true) { + name + description + args(includeDeprecated: true) { + ...InputValue + } + type { + ...TypeRef + } + isDeprecated + deprecationReason + } + inputFields(includeDeprecated: true) { + ...InputValue + } + interfaces { + ...TypeRef + } + enumValues(includeDeprecated: true) { + name + description + isDeprecated + deprecationReason + } + possibleTypes { + ...TypeRef + } +} + +fragment InputValue on __InputValue { + name + description + type { ...TypeRef } + defaultValue + isDeprecated + deprecationReason +} + +fragment TypeRef on __Type { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + } + } + } + } + } + } + } +} +$$, NULL, 'IntrospectionQuery'); + resolve +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + {"data": {"__schema": {"types": [{"kind": "SCALAR", "name": "BigFloat", "fields": null, "enumValues": [], "interfaces": [], "description": "A high precision floating point value represented as a string", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "BigFloatFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"BigFloat\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gt", "type": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gte", "type": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "in", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lt", "type": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lte", "type": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "neq", "type": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "BigFloatListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"BigFloatList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigFloat", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "BigInt", "fields": null, "enumValues": [], "interfaces": [], "description": "An arbitrary size integer represented as a string", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "BigIntFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"BigInt\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "BigInt", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gt", "type": {"kind": "SCALAR", "name": "BigInt", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gte", "type": {"kind": "SCALAR", "name": "BigInt", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "in", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigInt", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lt", "type": {"kind": "SCALAR", "name": "BigInt", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lte", "type": {"kind": "SCALAR", "name": "BigInt", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "neq", "type": {"kind": "SCALAR", "name": "BigInt", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "BigIntListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"BigIntList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigInt", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigInt", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigInt", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "BigInt", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "Boolean", "fields": null, "enumValues": [], "interfaces": [], "description": "A value that is true or false", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "BooleanFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"Boolean\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "BooleanListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"BooleanList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "Cursor", "fields": null, "enumValues": [], "interfaces": [], "description": "An opaque string using for tracking a position in results during pagination", "inputFields": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "Date", "fields": null, "enumValues": [], "interfaces": [], "description": "A date without time information", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "DateFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"Date\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "Date", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gt", "type": {"kind": "SCALAR", "name": "Date", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gte", "type": {"kind": "SCALAR", "name": "Date", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "in", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Date", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lt", "type": {"kind": "SCALAR", "name": "Date", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lte", "type": {"kind": "SCALAR", "name": "Date", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "neq", "type": {"kind": "SCALAR", "name": "Date", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "DateListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"DateList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Date", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Date", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Date", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Date", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "Datetime", "fields": null, "enumValues": [], "interfaces": [], "description": "A date and time", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "DatetimeFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"Datetime\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "Datetime", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gt", "type": {"kind": "SCALAR", "name": "Datetime", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gte", "type": {"kind": "SCALAR", "name": "Datetime", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "in", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Datetime", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lt", "type": {"kind": "SCALAR", "name": "Datetime", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lte", "type": {"kind": "SCALAR", "name": "Datetime", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "neq", "type": {"kind": "SCALAR", "name": "Datetime", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "DatetimeListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"DatetimeList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Datetime", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Datetime", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Datetime", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Datetime", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "ENUM", "name": "FilterIs", "fields": null, "enumValues": [{"name": "NULL", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "NOT_NULL", "description": null, "isDeprecated": false, "deprecationReason": null}], "interfaces": [], "description": null, "inputFields": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "Float", "fields": null, "enumValues": [], "interfaces": [], "description": "A scalar floating point value up to 32 bits", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "FloatFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"Float\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "Float", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gt", "type": {"kind": "SCALAR", "name": "Float", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gte", "type": {"kind": "SCALAR", "name": "Float", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "in", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Float", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lt", "type": {"kind": "SCALAR", "name": "Float", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lte", "type": {"kind": "SCALAR", "name": "Float", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "neq", "type": {"kind": "SCALAR", "name": "Float", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "FloatListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"FloatList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Float", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Float", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Float", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Float", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "ID", "fields": null, "enumValues": [], "interfaces": [], "description": "A globally unique identifier for a given record", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "IDFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"ID\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "ID", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "Int", "fields": null, "enumValues": [], "interfaces": [], "description": "A scalar integer up to 32 bits", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "IntFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"Int\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gt", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gte", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "in", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lt", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lte", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "neq", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "IntListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"IntList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "JSON", "fields": null, "enumValues": [], "interfaces": [], "description": "A Javascript Object Notation value serialized as a string", "inputFields": null, "possibleTypes": null}, {"kind": "INTERFACE", "name": "Node", "fields": [{"args": [], "name": "nodeId", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "description": "Retrieves a record by `ID`", "isDeprecated": false, "deprecationReason": null}], "enumValues": [], "interfaces": [], "description": null, "inputFields": null, "possibleTypes": []}, {"kind": "SCALAR", "name": "Opaque", "fields": null, "enumValues": [], "interfaces": [], "description": "Any type not handled by the type system", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "OpaqueFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"Opaque\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "Opaque", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "ENUM", "name": "OrderByDirection", "fields": null, "enumValues": [{"name": "AscNullsFirst", "description": "Ascending order, nulls first", "isDeprecated": false, "deprecationReason": null}, {"name": "AscNullsLast", "description": "Ascending order, nulls last", "isDeprecated": false, "deprecationReason": null}, {"name": "DescNullsFirst", "description": "Descending order, nulls first", "isDeprecated": false, "deprecationReason": null}, {"name": "DescNullsLast", "description": "Descending order, nulls last", "isDeprecated": false, "deprecationReason": null}], "interfaces": [], "description": "Defines a per-field sorting order", "inputFields": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "PageInfo", "fields": [{"args": [], "name": "endCursor", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "hasNextPage", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "hasPreviousPage", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "startCursor", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}], "enumValues": [], "interfaces": [], "description": null, "inputFields": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Query", "fields": [{"args": [{"name": "nodeId", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "description": "The record's `ID`", "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "name": "node", "type": {"kind": "INTERFACE", "name": "Node", "ofType": null}, "description": "Retrieve a record by its `ID`", "isDeprecated": false, "deprecationReason": null}], "enumValues": [], "interfaces": [], "description": "The root type for querying data", "inputFields": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "String", "fields": null, "enumValues": [], "interfaces": [], "description": "A string", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "StringFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"String\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gt", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gte", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "ilike", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "in", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "iregex", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "like", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lt", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lte", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "neq", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "regex", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "startsWith", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "StringListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"StringList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "Time", "fields": null, "enumValues": [], "interfaces": [], "description": "A time without date information", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "TimeFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"Time\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "Time", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gt", "type": {"kind": "SCALAR", "name": "Time", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "gte", "type": {"kind": "SCALAR", "name": "Time", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "in", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Time", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lt", "type": {"kind": "SCALAR", "name": "Time", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "lte", "type": {"kind": "SCALAR", "name": "Time", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "neq", "type": {"kind": "SCALAR", "name": "Time", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "TimeListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"TimeList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Time", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Time", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Time", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Time", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "UUID", "fields": null, "enumValues": [], "interfaces": [], "description": "A universally unique identifier", "inputFields": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "UUIDFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"UUID\"", "inputFields": [{"name": "eq", "type": {"kind": "SCALAR", "name": "UUID", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "in", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "UUID", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "neq", "type": {"kind": "SCALAR", "name": "UUID", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "UUIDListFilter", "fields": null, "enumValues": [], "interfaces": [], "description": "Boolean expression comparing fields on type \"UUIDList\"", "inputFields": [{"name": "containedBy", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "UUID", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "contains", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "UUID", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "eq", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "UUID", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "is", "type": {"kind": "ENUM", "name": "FilterIs", "ofType": null}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}, {"name": "overlaps", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "UUID", "ofType": null}}}, "description": null, "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "OBJECT", "name": "__Directive", "fields": [{"args": [{"name": "includeDeprecated", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "description": null, "defaultValue": "false", "isDeprecated": false, "deprecationReason": null}], "name": "args", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "description", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "isRepeatable", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "locations", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "__DirectiveLocation", "ofType": null}}}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "name", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}], "enumValues": [], "interfaces": [], "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\\n\\nIn some cases, you need to provide options to alter GraphQL execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", "inputFields": null, "possibleTypes": null}, {"kind": "ENUM", "name": "__DirectiveLocation", "fields": null, "enumValues": [{"name": "QUERY", "description": "Location adjacent to a query operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "MUTATION", "description": "Location adjacent to a mutation operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "SUBSCRIPTION", "description": "Location adjacent to a subscription operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "FIELD", "description": "Location adjacent to a field.", "isDeprecated": false, "deprecationReason": null}, {"name": "FRAGMENT_DEFINITION", "description": "Location adjacent to a fragment definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "FRAGMENT_SPREAD", "description": "Location adjacent to a fragment spread.", "isDeprecated": false, "deprecationReason": null}, {"name": "INLINE_FRAGMENT", "description": "Location adjacent to an inline fragment.", "isDeprecated": false, "deprecationReason": null}, {"name": "VARIABLE_DEFINITION", "description": "Location adjacent to a variable definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "SCHEMA", "description": "Location adjacent to a schema definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "SCALAR", "description": "Location adjacent to a scalar definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "OBJECT", "description": "Location adjacent to an object type definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "FIELD_DEFINITION", "description": "Location adjacent to a field definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ARGUMENT_DEFINITION", "description": "Location adjacent to an argument definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INTERFACE", "description": "Location adjacent to an interface definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "UNION", "description": "Location adjacent to a union definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM", "description": "Location adjacent to an enum definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM_VALUE", "description": "Location adjacent to an enum value definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_OBJECT", "description": "Location adjacent to an input object type definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_FIELD_DEFINITION", "description": "Location adjacent to an input object field definition.", "isDeprecated": false, "deprecationReason": null}], "interfaces": [], "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", "inputFields": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__EnumValue", "fields": [{"args": [], "name": "deprecationReason", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "description", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "isDeprecated", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "name", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}], "enumValues": [], "interfaces": [], "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", "inputFields": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Field", "fields": [{"args": [{"name": "includeDeprecated", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "description": null, "defaultValue": "false", "isDeprecated": false, "deprecationReason": null}], "name": "args", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "deprecationReason", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "description", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "isDeprecated", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "name", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "type", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}], "enumValues": [], "interfaces": [], "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", "inputFields": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__InputValue", "fields": [{"args": [], "name": "defaultValue", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": "A GraphQL-formatted string representing the default value for this input value.", "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "deprecationReason", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "description", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "isDeprecated", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "name", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "type", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}], "enumValues": [], "interfaces": [], "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", "inputFields": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Schema", "fields": [{"args": [], "name": "description", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [{"name": "includeDeprecated", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "description": null, "defaultValue": "false", "isDeprecated": false, "deprecationReason": null}], "name": "directives", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Directive", "ofType": null}}}}, "description": "A list of all directives supported by this server.", "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "mutationType", "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "description": "If this server supports mutation, the type that mutation operations will be rooted at.", "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "queryType", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "description": "The type that query operations will be rooted at.", "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "subscriptionType", "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "description": "If this server support subscription, the type that subscription operations will be rooted at.", "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "types", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}}, "description": "A list of all types supported by this server.", "isDeprecated": false, "deprecationReason": null}], "enumValues": [], "interfaces": [], "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", "inputFields": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Type", "fields": [{"args": [], "name": "description", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [{"name": "includeDeprecated", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "description": null, "defaultValue": "false", "isDeprecated": false, "deprecationReason": null}], "name": "enumValues", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__EnumValue", "ofType": null}}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [{"name": "includeDeprecated", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "description": null, "defaultValue": "false", "isDeprecated": false, "deprecationReason": null}], "name": "fields", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Field", "ofType": null}}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [{"name": "includeDeprecated", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "description": null, "defaultValue": "false", "isDeprecated": false, "deprecationReason": null}], "name": "inputFields", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "interfaces", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "kind", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "__TypeKind", "ofType": null}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "name", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "ofType", "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "possibleTypes", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}, "description": null, "isDeprecated": false, "deprecationReason": null}, {"args": [], "name": "specifiedByURL", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "description": null, "isDeprecated": false, "deprecationReason": null}], "enumValues": [], "interfaces": [], "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\\n\\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types ", "inputFields": null, "possibleTypes": null}, {"kind": "ENUM", "name": "__TypeKind", "fields": null, "enumValues": [{"name": "SCALAR", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "OBJECT", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "INTERFACE", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "UNION", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_OBJECT", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "LIST", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "NON_NULL", "description": null, "isDeprecated": false, "deprecationReason": null}], "interfaces": [], "description": "An enum describing what kind of type a given `__Type` is.", "inputFields": null, "possibleTypes": null}], "queryType": {"name": "Query"}, "directives": [{"args": [{"name": "if", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "description": "Included when true", "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "name": "include", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "description": "This field or fragment will be included only when the `if` argument is true."}, {"args": [{"name": "if", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "description": "Skipped when true", "defaultValue": null, "isDeprecated": false, "deprecationReason": null}], "name": "skip", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "description": "This field or fragment will be skipped when the `if` argument is true."}], "description": "Represents the GraphQL schema of the database", "mutationType": null, "subscriptionType": null}}} +(1 row) + +rollback; diff --git a/test/sql/issue_581_missing_desc_on_schema.sql b/test/sql/issue_581_missing_desc_on_schema.sql new file mode 100644 index 00000000..4723b9ed --- /dev/null +++ b/test/sql/issue_581_missing_desc_on_schema.sql @@ -0,0 +1,102 @@ +begin; + +select graphql.resolve($$ +query IntrospectionQuery { + __schema { + description + queryType { name } + mutationType { name } + subscriptionType { name } + types { + ...FullType + } + directives { + name + description + + locations + args(includeDeprecated: true) { + ...InputValue + } + } + } +} + +fragment FullType on __Type { + kind + name + description + + fields(includeDeprecated: true) { + name + description + args(includeDeprecated: true) { + ...InputValue + } + type { + ...TypeRef + } + isDeprecated + deprecationReason + } + inputFields(includeDeprecated: true) { + ...InputValue + } + interfaces { + ...TypeRef + } + enumValues(includeDeprecated: true) { + name + description + isDeprecated + deprecationReason + } + possibleTypes { + ...TypeRef + } +} + +fragment InputValue on __InputValue { + name + description + type { ...TypeRef } + defaultValue + isDeprecated + deprecationReason +} + +fragment TypeRef on __Type { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + } + } + } + } + } + } + } +} +$$, NULL, 'IntrospectionQuery'); + +rollback;