From 6316b85b0573dc6884175a39c5a47a2b36f95686 Mon Sep 17 00:00:00 2001 From: Lucas Jiang Date: Tue, 6 Jan 2026 14:19:42 +0800 Subject: [PATCH 1/6] fix(inflection): add special case for 'regimen' pluralization Problem: - The 'regimen' word was incorrectly pluralized by the pluralize library - This caused naming conflicts in GraphQL schema generation when both 'regimen' and 'regimens' tables existed - PostGraphile generated conflicting type names (RegimenOrderBy vs RegimensOrderBy) Root Cause: - The underlying 'pluralize' npm package incorrectly handles 'regimen' - singularize('regimen') returned 'regiman' instead of 'regimen' - pluralize('regimen') returned 'regimen' (no change) - isPlural('regimen') returned true Solution: - Added special rules in pluralize() and singularize() methods to handle 'regimen' and 'regimens' correctly - These rules check for exact matches (case-insensitive) before falling back to the default pluralize library behavior - This ensures backward compatibility for all other words Changes: - Added special cases for 'regimen' -> 'regimens' in pluralize() - Added special cases for 'regimens' -> 'regimen' in singularize() - Updated distinctPluralize() to handle 'regimen' correctly - Added comprehensive test suite for singular, plural, and compound table names - Removed all debug console.log statements Testing: - Added inflection-special-cases.test.ts with test cases for: - Singular tables: regimen, child, man, user_login - Plural tables: regimens, children, men, user_logins - Compound tables: user_regimen, user_regimens - All tests pass and snapshots are correct --- .../inflection-special-cases.test.ts.snap | 23787 ++++++++++++++++ .../inflection-special-cases.test.ts | 194 + .../sql/test-child.sql | 14 + .../sql/test-children.sql | 14 + .../sql/test-man.sql | 13 + .../sql/test-men.sql | 13 + .../sql/test-regimen.sql | 13 + .../sql/test-regimens.sql | 13 + .../sql/test-user_login.sql | 14 + .../sql/test-user_logins.sql | 14 + .../sql/test-user_regimen.sql | 14 + .../sql/test-user_regimens.sql | 14 + .../graphile-simple-inflector/src/index.ts | 63 +- 13 files changed, 24178 insertions(+), 2 deletions(-) create mode 100644 graphile/graphile-simple-inflector/__tests__/__snapshots__/inflection-special-cases.test.ts.snap create mode 100644 graphile/graphile-simple-inflector/__tests__/inflection-special-cases.test.ts create mode 100644 graphile/graphile-simple-inflector/sql/test-child.sql create mode 100644 graphile/graphile-simple-inflector/sql/test-children.sql create mode 100644 graphile/graphile-simple-inflector/sql/test-man.sql create mode 100644 graphile/graphile-simple-inflector/sql/test-men.sql create mode 100644 graphile/graphile-simple-inflector/sql/test-regimen.sql create mode 100644 graphile/graphile-simple-inflector/sql/test-regimens.sql create mode 100644 graphile/graphile-simple-inflector/sql/test-user_login.sql create mode 100644 graphile/graphile-simple-inflector/sql/test-user_logins.sql create mode 100644 graphile/graphile-simple-inflector/sql/test-user_regimen.sql create mode 100644 graphile/graphile-simple-inflector/sql/test-user_regimens.sql diff --git a/graphile/graphile-simple-inflector/__tests__/__snapshots__/inflection-special-cases.test.ts.snap b/graphile/graphile-simple-inflector/__tests__/__snapshots__/inflection-special-cases.test.ts.snap new file mode 100644 index 000000000..35bc05be8 --- /dev/null +++ b/graphile/graphile-simple-inflector/__tests__/__snapshots__/inflection-special-cases.test.ts.snap @@ -0,0 +1,23787 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`Inflection Special Cases Compound Table Names user_regimen table should correctly handle user_regimen table: user_regimen-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserRegimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserRegimenCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`UserRegimen\`.", + "isDeprecated": false, + "name": "userRegimens", + "type": { + "kind": "OBJECT", + "name": "UserRegimensConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "userRegimen", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`UserRegimen\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`UserRegimen\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "userRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`UserRegimen\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`UserRegimen\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`UserRegimen\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserRegimensEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`UserRegimen\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UserRegimensConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "userId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "UserRegimen", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "A signed eight-byte integer. The upper big integer values are greater than the +max value for a JavaScript number. Therefore all big integers will be output as +strings and not numbers.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "A \`UserRegimen\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserRegimen\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UserRegimensEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`UserRegimen\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "USER_ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "USER_ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`UserRegimen\` object types. All fields are tested +for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`userId\` field.", + "name": "userId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`name\` field.", + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserRegimenCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateUserRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`UserRegimen\`.", + "isDeprecated": false, + "name": "createUserRegimen", + "type": { + "kind": "OBJECT", + "name": "CreateUserRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUserRegimenByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`UserRegimen\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateUserRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateUserRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUserRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`UserRegimen\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateUserRegimen", + "type": { + "kind": "OBJECT", + "name": "UpdateUserRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteUserRegimenByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`UserRegimen\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteUserRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteUserRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteUserRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`UserRegimen\` using a unique key.", + "isDeprecated": false, + "name": "deleteUserRegimen", + "type": { + "kind": "OBJECT", + "name": "DeleteUserRegimenPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`UserRegimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserRegimen\` that was created by this mutation.", + "isDeprecated": false, + "name": "userRegimen", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserRegimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserRegimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userRegimenEdge", + "type": { + "kind": "OBJECT", + "name": "UserRegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateUserRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the create \`UserRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`UserRegimen\` to be created by this mutation.", + "name": "userRegimen", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserRegimenInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateUserRegimenInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`UserRegimen\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "userId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserRegimenInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`UserRegimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserRegimen\` that was updated by this mutation.", + "isDeprecated": false, + "name": "userRegimen", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserRegimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserRegimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userRegimenEdge", + "type": { + "kind": "OBJECT", + "name": "UserRegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateUserRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateUserRegimenByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`UserRegimen\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`UserRegimen\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserRegimenPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateUserRegimenByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`UserRegimen\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "userId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserRegimenPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateUserRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`UserRegimen\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserRegimenPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateUserRegimenInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`UserRegimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserRegimen\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "userRegimen", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedUserRegimenNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserRegimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserRegimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userRegimenEdge", + "type": { + "kind": "OBJECT", + "name": "UserRegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteUserRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteUserRegimenByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`UserRegimen\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteUserRegimenByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteUserRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteUserRegimenInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; + +exports[`Inflection Special Cases Compound Table Names user_regimens table should correctly handle user_regimens table: user_regimens-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserRegimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserRegimenCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`UserRegimen\`.", + "isDeprecated": false, + "name": "userRegimens", + "type": { + "kind": "OBJECT", + "name": "UserRegimensConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "userRegimen", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`UserRegimen\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`UserRegimen\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "userRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`UserRegimen\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`UserRegimen\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`UserRegimen\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserRegimensEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`UserRegimen\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UserRegimensConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "userId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "UserRegimen", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "A signed eight-byte integer. The upper big integer values are greater than the +max value for a JavaScript number. Therefore all big integers will be output as +strings and not numbers.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "A \`UserRegimen\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserRegimen\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UserRegimensEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`UserRegimen\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "USER_ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "USER_ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`UserRegimen\` object types. All fields are tested +for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`userId\` field.", + "name": "userId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`name\` field.", + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserRegimenCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateUserRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`UserRegimen\`.", + "isDeprecated": false, + "name": "createUserRegimen", + "type": { + "kind": "OBJECT", + "name": "CreateUserRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUserRegimenByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`UserRegimen\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateUserRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateUserRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUserRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`UserRegimen\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateUserRegimen", + "type": { + "kind": "OBJECT", + "name": "UpdateUserRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteUserRegimenByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`UserRegimen\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteUserRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteUserRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteUserRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`UserRegimen\` using a unique key.", + "isDeprecated": false, + "name": "deleteUserRegimen", + "type": { + "kind": "OBJECT", + "name": "DeleteUserRegimenPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`UserRegimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserRegimen\` that was created by this mutation.", + "isDeprecated": false, + "name": "userRegimen", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserRegimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserRegimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userRegimenEdge", + "type": { + "kind": "OBJECT", + "name": "UserRegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateUserRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the create \`UserRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`UserRegimen\` to be created by this mutation.", + "name": "userRegimen", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserRegimenInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateUserRegimenInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`UserRegimen\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "userId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserRegimenInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`UserRegimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserRegimen\` that was updated by this mutation.", + "isDeprecated": false, + "name": "userRegimen", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserRegimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserRegimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userRegimenEdge", + "type": { + "kind": "OBJECT", + "name": "UserRegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateUserRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateUserRegimenByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`UserRegimen\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`UserRegimen\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserRegimenPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateUserRegimenByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`UserRegimen\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "userId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserRegimenPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateUserRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`UserRegimen\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserRegimenPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateUserRegimenInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`UserRegimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserRegimen\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "userRegimen", + "type": { + "kind": "OBJECT", + "name": "UserRegimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedUserRegimenNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserRegimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserRegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserRegimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userRegimenEdge", + "type": { + "kind": "OBJECT", + "name": "UserRegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteUserRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteUserRegimenByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`UserRegimen\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteUserRegimenByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteUserRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteUserRegimenInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; + +exports[`Inflection Special Cases Plural Table Names children table should correctly handle children table: children-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Child\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildrenOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "ChildCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`Child\`.", + "isDeprecated": false, + "name": "children", + "type": { + "kind": "OBJECT", + "name": "ChildrenConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "child", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`Child\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`Child\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "childByNodeId", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`Child\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`Child\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`Child\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ChildrenEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`Child\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ChildrenConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "parentId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Child", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "A signed eight-byte integer. The upper big integer values are greater than the +max value for a JavaScript number. Therefore all big integers will be output as +strings and not numbers.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null, + }, + { + "description": "A \`Child\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Child\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ChildrenEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`Child\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PARENT_ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PARENT_ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ChildrenOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`Child\` object types. All fields are tested for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`name\` field.", + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`parentId\` field.", + "name": "parentId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ChildCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateChildInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`Child\`.", + "isDeprecated": false, + "name": "createChild", + "type": { + "kind": "OBJECT", + "name": "CreateChildPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateChildByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Child\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateChildByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateChildPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateChildInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Child\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateChild", + "type": { + "kind": "OBJECT", + "name": "UpdateChildPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteChildByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Child\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteChildByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteChildPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteChildInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Child\` using a unique key.", + "isDeprecated": false, + "name": "deleteChild", + "type": { + "kind": "OBJECT", + "name": "DeleteChildPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`Child\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Child\` that was created by this mutation.", + "isDeprecated": false, + "name": "child", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Child\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildrenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Child\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "childEdge", + "type": { + "kind": "OBJECT", + "name": "ChildrenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateChildPayload", + "possibleTypes": null, + }, + { + "description": "All input for the create \`Child\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`Child\` to be created by this mutation.", + "name": "child", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ChildInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateChildInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`Child\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "parentId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ChildInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`Child\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Child\` that was updated by this mutation.", + "isDeprecated": false, + "name": "child", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Child\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildrenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Child\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "childEdge", + "type": { + "kind": "OBJECT", + "name": "ChildrenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateChildPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateChildByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Child\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Child\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ChildPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateChildByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`Child\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "parentId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ChildPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateChild\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Child\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ChildPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateChildInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`Child\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Child\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "child", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedChildNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Child\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildrenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Child\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "childEdge", + "type": { + "kind": "OBJECT", + "name": "ChildrenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteChildPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteChildByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Child\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteChildByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteChild\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteChildInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; + +exports[`Inflection Special Cases Plural Table Names men table should correctly handle men table: men-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Man\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "ManCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`Man\`.", + "isDeprecated": false, + "name": "men", + "type": { + "kind": "OBJECT", + "name": "MenConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "man", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`Man\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`Man\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "manByNodeId", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`Man\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`Man\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`Man\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`Man\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "MenConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Man", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "A \`Man\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Man\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "MenEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`Man\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "MenOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`Man\` object types. All fields are tested for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`name\` field.", + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ManCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateManInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`Man\`.", + "isDeprecated": false, + "name": "createMan", + "type": { + "kind": "OBJECT", + "name": "CreateManPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateManByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Man\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateManByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateManPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateManInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Man\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateMan", + "type": { + "kind": "OBJECT", + "name": "UpdateManPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteManByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Man\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteManByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteManPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteManInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Man\` using a unique key.", + "isDeprecated": false, + "name": "deleteMan", + "type": { + "kind": "OBJECT", + "name": "DeleteManPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`Man\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Man\` that was created by this mutation.", + "isDeprecated": false, + "name": "man", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Man\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Man\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "manEdge", + "type": { + "kind": "OBJECT", + "name": "MenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateManPayload", + "possibleTypes": null, + }, + { + "description": "All input for the create \`Man\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`Man\` to be created by this mutation.", + "name": "man", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ManInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateManInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`Man\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ManInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`Man\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Man\` that was updated by this mutation.", + "isDeprecated": false, + "name": "man", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Man\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Man\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "manEdge", + "type": { + "kind": "OBJECT", + "name": "MenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateManPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateManByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Man\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Man\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ManPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateManByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`Man\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ManPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateMan\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Man\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ManPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateManInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`Man\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Man\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "man", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedManNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Man\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Man\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "manEdge", + "type": { + "kind": "OBJECT", + "name": "MenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteManPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteManByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Man\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteManByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteMan\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteManInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; + +exports[`Inflection Special Cases Plural Table Names regimens table should correctly handle regimens table: regimens-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Regimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "RegimenCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`Regimen\`.", + "isDeprecated": false, + "name": "regimens", + "type": { + "kind": "OBJECT", + "name": "RegimensConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "regimen", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`Regimen\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`Regimen\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "regimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`Regimen\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`Regimen\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`Regimen\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RegimensEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`Regimen\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "RegimensConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Regimen", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "A \`Regimen\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Regimen\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "RegimensEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`Regimen\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "RegimensOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`Regimen\` object types. All fields are tested for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`name\` field.", + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "RegimenCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`Regimen\`.", + "isDeprecated": false, + "name": "createRegimen", + "type": { + "kind": "OBJECT", + "name": "CreateRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateRegimenByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Regimen\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Regimen\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateRegimen", + "type": { + "kind": "OBJECT", + "name": "UpdateRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteRegimenByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Regimen\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Regimen\` using a unique key.", + "isDeprecated": false, + "name": "deleteRegimen", + "type": { + "kind": "OBJECT", + "name": "DeleteRegimenPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`Regimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Regimen\` that was created by this mutation.", + "isDeprecated": false, + "name": "regimen", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Regimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Regimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "regimenEdge", + "type": { + "kind": "OBJECT", + "name": "RegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the create \`Regimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`Regimen\` to be created by this mutation.", + "name": "regimen", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RegimenInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateRegimenInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`Regimen\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "RegimenInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`Regimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Regimen\` that was updated by this mutation.", + "isDeprecated": false, + "name": "regimen", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Regimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Regimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "regimenEdge", + "type": { + "kind": "OBJECT", + "name": "RegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateRegimenByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Regimen\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Regimen\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RegimenPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateRegimenByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`Regimen\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "RegimenPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Regimen\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RegimenPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateRegimenInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`Regimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Regimen\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "regimen", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedRegimenNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Regimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Regimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "regimenEdge", + "type": { + "kind": "OBJECT", + "name": "RegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteRegimenByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Regimen\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteRegimenByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteRegimenInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; + +exports[`Inflection Special Cases Plural Table Names user_logins table should correctly handle user_logins table: user_logins-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserLogin\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserLoginCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`UserLogin\`.", + "isDeprecated": false, + "name": "userLogins", + "type": { + "kind": "OBJECT", + "name": "UserLoginsConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "userLogin", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`UserLogin\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`UserLogin\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "userLoginByNodeId", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`UserLogin\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`UserLogin\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`UserLogin\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserLoginsEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`UserLogin\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UserLoginsConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "userId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "loginTime", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Datetime", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "UserLogin", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "A signed eight-byte integer. The upper big integer values are greater than the +max value for a JavaScript number. Therefore all big integers will be output as +strings and not numbers.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null, + }, + { + "description": "A point in time as described by the [ISO +8601](https://en.wikipedia.org/wiki/ISO_8601) standard. May or may not include a timezone.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Datetime", + "possibleTypes": null, + }, + { + "description": "A \`UserLogin\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserLogin\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UserLoginsEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`UserLogin\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "USER_ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "USER_ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "LOGIN_TIME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "LOGIN_TIME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`UserLogin\` object types. All fields are tested +for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`userId\` field.", + "name": "userId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`loginTime\` field.", + "name": "loginTime", + "type": { + "kind": "SCALAR", + "name": "Datetime", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserLoginCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateUserLoginInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`UserLogin\`.", + "isDeprecated": false, + "name": "createUserLogin", + "type": { + "kind": "OBJECT", + "name": "CreateUserLoginPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUserLoginByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`UserLogin\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateUserLoginByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateUserLoginPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUserLoginInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`UserLogin\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateUserLogin", + "type": { + "kind": "OBJECT", + "name": "UpdateUserLoginPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteUserLoginByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`UserLogin\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteUserLoginByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteUserLoginPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteUserLoginInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`UserLogin\` using a unique key.", + "isDeprecated": false, + "name": "deleteUserLogin", + "type": { + "kind": "OBJECT", + "name": "DeleteUserLoginPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`UserLogin\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserLogin\` that was created by this mutation.", + "isDeprecated": false, + "name": "userLogin", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserLogin\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserLogin\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userLoginEdge", + "type": { + "kind": "OBJECT", + "name": "UserLoginsEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateUserLoginPayload", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "All input for the create \`UserLogin\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`UserLogin\` to be created by this mutation.", + "name": "userLogin", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserLoginInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateUserLoginInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`UserLogin\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "userId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "loginTime", + "type": { + "kind": "SCALAR", + "name": "Datetime", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserLoginInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`UserLogin\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserLogin\` that was updated by this mutation.", + "isDeprecated": false, + "name": "userLogin", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserLogin\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserLogin\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userLoginEdge", + "type": { + "kind": "OBJECT", + "name": "UserLoginsEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateUserLoginPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateUserLoginByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`UserLogin\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`UserLogin\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserLoginPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateUserLoginByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`UserLogin\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "userId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "loginTime", + "type": { + "kind": "SCALAR", + "name": "Datetime", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserLoginPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateUserLogin\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`UserLogin\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserLoginPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateUserLoginInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`UserLogin\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserLogin\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "userLogin", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedUserLoginNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserLogin\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserLogin\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userLoginEdge", + "type": { + "kind": "OBJECT", + "name": "UserLoginsEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteUserLoginPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteUserLoginByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`UserLogin\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteUserLoginByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteUserLogin\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteUserLoginInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; + +exports[`Inflection Special Cases Singular Table Names child table should correctly handle child table: child-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Child\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildrenOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "ChildCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`Child\`.", + "isDeprecated": false, + "name": "children", + "type": { + "kind": "OBJECT", + "name": "ChildrenConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "child", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`Child\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`Child\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "childByNodeId", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`Child\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`Child\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`Child\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ChildrenEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`Child\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ChildrenConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "parentId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Child", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "A signed eight-byte integer. The upper big integer values are greater than the +max value for a JavaScript number. Therefore all big integers will be output as +strings and not numbers.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null, + }, + { + "description": "A \`Child\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Child\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "ChildrenEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`Child\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PARENT_ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PARENT_ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "ChildrenOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`Child\` object types. All fields are tested for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`name\` field.", + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`parentId\` field.", + "name": "parentId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ChildCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateChildInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`Child\`.", + "isDeprecated": false, + "name": "createChild", + "type": { + "kind": "OBJECT", + "name": "CreateChildPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateChildByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Child\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateChildByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateChildPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateChildInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Child\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateChild", + "type": { + "kind": "OBJECT", + "name": "UpdateChildPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteChildByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Child\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteChildByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteChildPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteChildInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Child\` using a unique key.", + "isDeprecated": false, + "name": "deleteChild", + "type": { + "kind": "OBJECT", + "name": "DeleteChildPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`Child\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Child\` that was created by this mutation.", + "isDeprecated": false, + "name": "child", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Child\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildrenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Child\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "childEdge", + "type": { + "kind": "OBJECT", + "name": "ChildrenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateChildPayload", + "possibleTypes": null, + }, + { + "description": "All input for the create \`Child\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`Child\` to be created by this mutation.", + "name": "child", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ChildInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateChildInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`Child\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "parentId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ChildInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`Child\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Child\` that was updated by this mutation.", + "isDeprecated": false, + "name": "child", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Child\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildrenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Child\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "childEdge", + "type": { + "kind": "OBJECT", + "name": "ChildrenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateChildPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateChildByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Child\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Child\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ChildPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateChildByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`Child\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "parentId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ChildPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateChild\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Child\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ChildPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateChildInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`Child\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Child\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "child", + "type": { + "kind": "OBJECT", + "name": "Child", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedChildNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Child\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ChildrenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Child\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "childEdge", + "type": { + "kind": "OBJECT", + "name": "ChildrenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteChildPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteChildByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Child\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteChildByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteChild\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteChildInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; + +exports[`Inflection Special Cases Singular Table Names man table should correctly handle man table: man-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Man\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "ManCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`Man\`.", + "isDeprecated": false, + "name": "men", + "type": { + "kind": "OBJECT", + "name": "MenConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "man", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`Man\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`Man\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "manByNodeId", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`Man\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`Man\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`Man\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`Man\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "MenConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Man", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "A \`Man\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Man\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "MenEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`Man\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "MenOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`Man\` object types. All fields are tested for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`name\` field.", + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ManCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateManInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`Man\`.", + "isDeprecated": false, + "name": "createMan", + "type": { + "kind": "OBJECT", + "name": "CreateManPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateManByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Man\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateManByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateManPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateManInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Man\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateMan", + "type": { + "kind": "OBJECT", + "name": "UpdateManPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteManByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Man\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteManByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteManPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteManInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Man\` using a unique key.", + "isDeprecated": false, + "name": "deleteMan", + "type": { + "kind": "OBJECT", + "name": "DeleteManPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`Man\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Man\` that was created by this mutation.", + "isDeprecated": false, + "name": "man", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Man\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Man\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "manEdge", + "type": { + "kind": "OBJECT", + "name": "MenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateManPayload", + "possibleTypes": null, + }, + { + "description": "All input for the create \`Man\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`Man\` to be created by this mutation.", + "name": "man", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ManInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateManInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`Man\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ManInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`Man\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Man\` that was updated by this mutation.", + "isDeprecated": false, + "name": "man", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Man\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Man\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "manEdge", + "type": { + "kind": "OBJECT", + "name": "MenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateManPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateManByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Man\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Man\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ManPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateManByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`Man\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "ManPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateMan\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Man\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ManPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateManInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`Man\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Man\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "man", + "type": { + "kind": "OBJECT", + "name": "Man", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedManNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Man\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Man\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "manEdge", + "type": { + "kind": "OBJECT", + "name": "MenEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteManPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteManByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Man\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteManByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteMan\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteManInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; + +exports[`Inflection Special Cases Singular Table Names regimen table should correctly handle regimen table: regimen-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Regimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "RegimenCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`Regimen\`.", + "isDeprecated": false, + "name": "regimens", + "type": { + "kind": "OBJECT", + "name": "RegimensConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "regimen", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`Regimen\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`Regimen\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "regimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`Regimen\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`Regimen\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`Regimen\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RegimensEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`Regimen\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "RegimensConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Regimen", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "A \`Regimen\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Regimen\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "RegimensEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`Regimen\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NAME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "RegimensOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`Regimen\` object types. All fields are tested for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`name\` field.", + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "RegimenCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`Regimen\`.", + "isDeprecated": false, + "name": "createRegimen", + "type": { + "kind": "OBJECT", + "name": "CreateRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateRegimenByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Regimen\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`Regimen\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateRegimen", + "type": { + "kind": "OBJECT", + "name": "UpdateRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteRegimenByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Regimen\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteRegimenByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteRegimenPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteRegimenInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`Regimen\` using a unique key.", + "isDeprecated": false, + "name": "deleteRegimen", + "type": { + "kind": "OBJECT", + "name": "DeleteRegimenPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`Regimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Regimen\` that was created by this mutation.", + "isDeprecated": false, + "name": "regimen", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Regimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Regimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "regimenEdge", + "type": { + "kind": "OBJECT", + "name": "RegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the create \`Regimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`Regimen\` to be created by this mutation.", + "name": "regimen", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RegimenInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateRegimenInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`Regimen\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "RegimenInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`Regimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Regimen\` that was updated by this mutation.", + "isDeprecated": false, + "name": "regimen", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Regimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Regimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "regimenEdge", + "type": { + "kind": "OBJECT", + "name": "RegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateRegimenByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Regimen\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Regimen\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RegimenPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateRegimenByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`Regimen\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "RegimenPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`Regimen\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RegimenPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateRegimenInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`Regimen\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`Regimen\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "regimen", + "type": { + "kind": "OBJECT", + "name": "Regimen", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedRegimenNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`Regimen\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RegimensOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`Regimen\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "regimenEdge", + "type": { + "kind": "OBJECT", + "name": "RegimensEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteRegimenPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteRegimenByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`Regimen\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteRegimenByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteRegimen\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteRegimenInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; + +exports[`Inflection Special Cases Singular Table Names user_login table should correctly handle user_login table: user_login-table 1`] = ` +{ + "data": { + "__schema": { + "directives": [ + { + "args": [ + { + "defaultValue": null, + "description": "Included when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to include this field or fragment only when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + { + "args": [ + { + "defaultValue": null, + "description": "Skipped when true.", + "name": "if", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "description": "Directs the executor to skip this field or fragment when the \`if\` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + { + "args": [ + { + "defaultValue": ""No longer supported"", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "name": "reason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION", + "ENUM_VALUE", + ], + "name": "deprecated", + }, + { + "args": [ + { + "defaultValue": null, + "description": "The URL that specifies the behaviour of this scalar.", + "name": "url", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": { + "name": "Mutation", + }, + "queryType": { + "name": "Query", + }, + "subscriptionType": null, + "types": [ + { + "description": "The root query type which gives access points into the data universe.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "Exposes the root query type nested one level down. This is helpful for Relay 1 +which can only query top level fields if they are in a particular form.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The root query type must be a \`Node\` to work well with Relay 1 mutations. This just resolves to \`query\`.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Fetches an object given its globally unique \`ID\`.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "Only read the first \`n\` values of the set.", + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Only read the last \`n\` values of the set.", + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Skip the first \`n\` values from our \`after\` cursor, an alternative to cursor +based pagination. May not be used with \`last\`.", + "name": "offset", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set before (above) this cursor.", + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Read all values in the set after (below) this cursor.", + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserLogin\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "ofType": null, + }, + }, + }, + }, + { + "defaultValue": null, + "description": "A condition to be used in determining which values should be returned by the collection.", + "name": "condition", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserLoginCondition", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": "Reads and enables pagination through a set of \`UserLogin\`.", + "isDeprecated": false, + "name": "userLogins", + "type": { + "kind": "OBJECT", + "name": "UserLoginsConnection", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "userLogin", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The globally unique \`ID\` to be used in selecting a single \`UserLogin\`.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Reads a single \`UserLogin\` using its globally unique \`ID\`.", + "isDeprecated": false, + "name": "userLoginByNodeId", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + }, + { + "description": "An object with a globally unique \`ID\`.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + ], + }, + { + "description": "The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "ID", + "possibleTypes": null, + }, + { + "description": "A connection to a list of \`UserLogin\` values.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A list of \`UserLogin\` objects.", + "isDeprecated": false, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of edges which contains the \`UserLogin\` and cursor to aid in pagination.", + "isDeprecated": false, + "name": "edges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserLoginsEdge", + "ofType": null, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Information to aid in pagination.", + "isDeprecated": false, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The count of *all* \`UserLogin\` you could get from the connection.", + "isDeprecated": false, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UserLoginsConnection", + "possibleTypes": null, + }, + { + "description": null, + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A globally unique identifier. Can be used in various places throughout the system to identify this single value.", + "isDeprecated": false, + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "userId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "loginTime", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Datetime", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null, + }, + ], + "kind": "OBJECT", + "name": "UserLogin", + "possibleTypes": null, + }, + { + "description": "The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + }, + { + "description": "A signed eight-byte integer. The upper big integer values are greater than the +max value for a JavaScript number. Therefore all big integers will be output as +strings and not numbers.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null, + }, + { + "description": "A point in time as described by the [ISO +8601](https://en.wikipedia.org/wiki/ISO_8601) standard. May or may not include a timezone.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Datetime", + "possibleTypes": null, + }, + { + "description": "A \`UserLogin\` edge in the connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "A cursor for use in pagination.", + "isDeprecated": false, + "name": "cursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserLogin\` at the end of the edge.", + "isDeprecated": false, + "name": "node", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UserLoginsEdge", + "possibleTypes": null, + }, + { + "description": "A location in a connection that can be used for resuming pagination.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Cursor", + "possibleTypes": null, + }, + { + "description": "Information about pagination in a connection.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, are there more items?", + "isDeprecated": false, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, are there more items?", + "isDeprecated": false, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating backwards, the cursor to continue.", + "isDeprecated": false, + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "When paginating forwards, the cursor to continue.", + "isDeprecated": false, + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "PageInfo", + "possibleTypes": null, + }, + { + "description": "The \`Boolean\` scalar type represents \`true\` or \`false\`.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + }, + { + "description": "Methods to use when ordering \`UserLogin\`.", + "enumValues": [ + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "NATURAL", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "USER_ID_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "USER_ID_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "LOGIN_TIME_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "LOGIN_TIME_DESC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_ASC", + }, + { + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "PRIMARY_KEY_DESC", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "possibleTypes": null, + }, + { + "description": "A condition to be used against \`UserLogin\` object types. All fields are tested +for equality and combined with a logical ‘and.’", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`id\` field.", + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`userId\` field.", + "name": "userId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "Checks for equality with the object’s \`loginTime\` field.", + "name": "loginTime", + "type": { + "kind": "SCALAR", + "name": "Datetime", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserLoginCondition", + "possibleTypes": null, + }, + { + "description": "The root mutation type which contains root level fields which mutate data.", + "enumValues": null, + "fields": [ + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateUserLoginInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Creates a single \`UserLogin\`.", + "isDeprecated": false, + "name": "createUserLogin", + "type": { + "kind": "OBJECT", + "name": "CreateUserLoginPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUserLoginByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`UserLogin\` using its globally unique id and a patch.", + "isDeprecated": false, + "name": "updateUserLoginByNodeId", + "type": { + "kind": "OBJECT", + "name": "UpdateUserLoginPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateUserLoginInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Updates a single \`UserLogin\` using a unique key and a patch.", + "isDeprecated": false, + "name": "updateUserLogin", + "type": { + "kind": "OBJECT", + "name": "UpdateUserLoginPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteUserLoginByNodeIdInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`UserLogin\` using its globally unique id.", + "isDeprecated": false, + "name": "deleteUserLoginByNodeId", + "type": { + "kind": "OBJECT", + "name": "DeleteUserLoginPayload", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": null, + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "name": "input", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteUserLoginInput", + "ofType": null, + }, + }, + }, + ], + "deprecationReason": null, + "description": "Deletes a single \`UserLogin\` using a unique key.", + "isDeprecated": false, + "name": "deleteUserLogin", + "type": { + "kind": "OBJECT", + "name": "DeleteUserLoginPayload", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "Mutation", + "possibleTypes": null, + }, + { + "description": "The output of our create \`UserLogin\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserLogin\` that was created by this mutation.", + "isDeprecated": false, + "name": "userLogin", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserLogin\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserLogin\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userLoginEdge", + "type": { + "kind": "OBJECT", + "name": "UserLoginsEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "CreateUserLoginPayload", + "possibleTypes": null, + }, + { + "description": "The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + }, + { + "description": "All input for the create \`UserLogin\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The \`UserLogin\` to be created by this mutation.", + "name": "userLogin", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserLoginInput", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "CreateUserLoginInput", + "possibleTypes": null, + }, + { + "description": "An input for mutations affecting \`UserLogin\`", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "userId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "loginTime", + "type": { + "kind": "SCALAR", + "name": "Datetime", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserLoginInput", + "possibleTypes": null, + }, + { + "description": "The output of our update \`UserLogin\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserLogin\` that was updated by this mutation.", + "isDeprecated": false, + "name": "userLogin", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserLogin\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserLogin\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userLoginEdge", + "type": { + "kind": "OBJECT", + "name": "UserLoginsEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "UpdateUserLoginPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateUserLoginByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`UserLogin\` to be updated.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`UserLogin\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserLoginPatch", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateUserLoginByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "Represents an update to a \`UserLogin\`. Fields that are set will be updated.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "userId", + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "loginTime", + "type": { + "kind": "SCALAR", + "name": "Datetime", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UserLoginPatch", + "possibleTypes": null, + }, + { + "description": "All input for the \`updateUserLogin\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "An object where the defined keys will be set on the \`UserLogin\` being updated.", + "name": "patch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserLoginPatch", + "ofType": null, + }, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "UpdateUserLoginInput", + "possibleTypes": null, + }, + { + "description": "The output of our delete \`UserLogin\` mutation.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": "The exact same \`clientMutationId\` that was provided in the mutation input, +unchanged and unused. May be used by a client to track mutations.", + "isDeprecated": false, + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The \`UserLogin\` that was deleted by this mutation.", + "isDeprecated": false, + "name": "userLogin", + "type": { + "kind": "OBJECT", + "name": "UserLogin", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deletedUserLoginNodeId", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "Our root query field type. Allows us to run any query from our mutation payload.", + "isDeprecated": false, + "name": "query", + "type": { + "kind": "OBJECT", + "name": "Query", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "[PRIMARY_KEY_ASC]", + "description": "The method to use when ordering \`UserLogin\`.", + "name": "orderBy", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserLoginsOrderBy", + "ofType": null, + }, + }, + }, + }, + ], + "deprecationReason": null, + "description": "An edge for our \`UserLogin\`. May be used by Relay 1.", + "isDeprecated": false, + "name": "userLoginEdge", + "type": { + "kind": "OBJECT", + "name": "UserLoginsEdge", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "DeleteUserLoginPayload", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteUserLoginByNodeId\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": "The globally unique \`ID\` which will identify a single \`UserLogin\` to be deleted.", + "name": "nodeId", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteUserLoginByNodeIdInput", + "possibleTypes": null, + }, + { + "description": "All input for the \`deleteUserLogin\` mutation.", + "enumValues": null, + "fields": null, + "inputFields": [ + { + "defaultValue": null, + "description": "An arbitrary string value with no semantic meaning. Will be included in the +payload verbatim. May be used to track mutations by the client.", + "name": "clientMutationId", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "defaultValue": null, + "description": null, + "name": "id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "DeleteUserLoginInput", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all types supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "The type that query operations will be rooted at.", + "isDeprecated": false, + "name": "queryType", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "isDeprecated": false, + "name": "mutationType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "isDeprecated": false, + "name": "subscriptionType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A list of all directives supported by this server.", + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + }, + { + "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. + +Depending 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "kind", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "fields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "interfaces", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "enumValues", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "inputFields", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "ofType", + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + }, + { + "description": "An enum describing what kind of type a given \`__Type\` is.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an object. \`fields\` and \`interfaces\` are valid fields.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an interface. \`fields\`, \`interfaces\`, and \`possibleTypes\` are valid fields.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a union. \`possibleTypes\` is a valid field.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an enum. \`enumValues\` is a valid field.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Indicates this type is an input object. \`inputFields\` is a valid field.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a list. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "LIST", + }, + { + "deprecationReason": null, + "description": "Indicates this type is a non-null. \`ofType\` is a valid field.", + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "type", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": "A GraphQL-formatted string representing the default value for this input value.", + "isDeprecated": false, + "name": "defaultValue", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + }, + { + "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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + }, + { + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's 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.", + "enumValues": null, + "fields": [ + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "name", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "description", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + { + "args": [], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + { + "args": [ + { + "defaultValue": "false", + "description": null, + "name": "includeDeprecated", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "description": null, + "isDeprecated": false, + "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, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + }, + { + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "enumValues": [ + { + "deprecationReason": null, + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "name": "QUERY", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "name": "MUTATION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field.", + "isDeprecated": false, + "name": "FIELD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "name": "SCHEMA", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "name": "SCALAR", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "name": "OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "name": "INTERFACE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "name": "UNION", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "name": "ENUM", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + { + "deprecationReason": null, + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + }, + ], + }, + }, +} +`; diff --git a/graphile/graphile-simple-inflector/__tests__/inflection-special-cases.test.ts b/graphile/graphile-simple-inflector/__tests__/inflection-special-cases.test.ts new file mode 100644 index 000000000..0260082b6 --- /dev/null +++ b/graphile/graphile-simple-inflector/__tests__/inflection-special-cases.test.ts @@ -0,0 +1,194 @@ +import '../test-utils/env'; +import { GraphQLQueryFn, getConnections, seed, snapshot } from 'graphile-test'; +import { join } from 'path'; +import type { PgTestClient } from 'pgsql-test/test-client'; + +import { PgSimpleInflector } from '../src'; +import { IntrospectionQuery } from '../test-utils/queries'; + +const SCHEMA = 'app_public'; +const sql = (file: string) => join(__dirname, '../sql', file); + +// Helper function to create a test case with its own database setup +function createTestCase( + testName: string, + sqlFile: string, + expectedTypes: { + orderBy?: string[]; + connection?: string[]; + edge?: string[]; + queryField?: string; + } +) { + describe(testName, () => { + let teardown: () => Promise; + let query: GraphQLQueryFn; + let db: PgTestClient; + + beforeAll(async () => { + const connections = await getConnections( + { + schemas: [SCHEMA], + authRole: 'authenticated', + graphile: { + overrideSettings: { + appendPlugins: [PgSimpleInflector] + } + } + }, + [ + seed.sqlfile([ + sql(sqlFile) + ]) + ] + ); + + ({ db, query, teardown } = connections); + }); + + beforeEach(() => db.beforeEach()); + beforeEach(async () => { + db.setContext({ role: 'authenticated' }); + }); + afterEach(() => db.afterEach()); + afterAll(async () => { + await teardown(); + }); + + it(`should correctly handle ${testName}`, async () => { + const data = await query(IntrospectionQuery); + + // Use snapshot to verify the entire schema structure + expect(snapshot(data)).toMatchSnapshot(`${testName.replace(/\s+/g, '-').toLowerCase()}`); + }); + }); +} + +describe('Inflection Special Cases', () => { + describe('Singular Table Names', () => { + // Test case 1: regimen (singular table name) + createTestCase( + 'regimen table', + 'test-regimen.sql', + { + orderBy: ['RegimensOrderBy', 'RegimenOrderBy'], + connection: ['RegimensConnection', 'RegimenConnection'], + edge: ['RegimensEdge', 'RegimenEdge'], + queryField: 'regimens' + } + ); + + // Test case 2: child (singular table name) + createTestCase( + 'child table', + 'test-child.sql', + { + orderBy: ['ChildrenOrderBy', 'ChildOrderBy'], + connection: ['ChildrenConnection', 'ChildConnection'], + edge: ['ChildrenEdge', 'ChildEdge'], + queryField: 'children' + } + ); + + // Test case 3: man (singular table name) + createTestCase( + 'man table', + 'test-man.sql', + { + orderBy: ['MenOrderBy', 'ManOrderBy'], + connection: ['MenConnection', 'ManConnection'], + edge: ['MenEdge', 'ManEdge'], + queryField: 'men' + } + ); + + // Test case 4: user_login (singular compound table name) + createTestCase( + 'user_login table', + 'test-user_login.sql', + { + orderBy: ['UserLoginsOrderBy', 'UserLoginOrderBy'], + connection: ['UserLoginsConnection', 'UserLoginConnection'], + edge: ['UserLoginsEdge', 'UserLoginEdge'], + queryField: 'userLogins' + } + ); + }); + + describe('Plural Table Names', () => { + // Test case 1: regimens (plural table name) + createTestCase( + 'regimens table', + 'test-regimens.sql', + { + orderBy: ['RegimensOrderBy', 'RegimenOrderBy'], + connection: ['RegimensConnection', 'RegimenConnection'], + edge: ['RegimensEdge', 'RegimenEdge'], + queryField: 'regimens' + } + ); + + // Test case 2: children (plural table name) + createTestCase( + 'children table', + 'test-children.sql', + { + orderBy: ['ChildrenOrderBy', 'ChildOrderBy'], + connection: ['ChildrenConnection', 'ChildConnection'], + edge: ['ChildrenEdge', 'ChildEdge'], + queryField: 'children' + } + ); + + // Test case 3: men (plural table name) + createTestCase( + 'men table', + 'test-men.sql', + { + orderBy: ['MenOrderBy', 'ManOrderBy'], + connection: ['MenConnection', 'ManConnection'], + edge: ['MenEdge', 'ManEdge'], + queryField: 'men' + } + ); + + // Test case 4: user_logins (plural compound table name) + createTestCase( + 'user_logins table', + 'test-user_logins.sql', + { + orderBy: ['UserLoginsOrderBy', 'UserLoginOrderBy'], + connection: ['UserLoginsConnection', 'UserLoginConnection'], + edge: ['UserLoginsEdge', 'UserLoginEdge'], + queryField: 'userLogins' + } + ); + }); + + describe('Compound Table Names', () => { + // Test case 1: user_regimen (singular compound table name) + createTestCase( + 'user_regimen table', + 'test-user_regimen.sql', + { + orderBy: ['UserRegimensOrderBy', 'UserRegimenOrderBy'], + connection: ['UserRegimensConnection', 'UserRegimenConnection'], + edge: ['UserRegimensEdge', 'UserRegimenEdge'], + queryField: 'userRegimens' + } + ); + + // Test case 2: user_regimens (plural compound table name) + createTestCase( + 'user_regimens table', + 'test-user_regimens.sql', + { + orderBy: ['UserRegimensOrderBy', 'UserRegimenOrderBy'], + connection: ['UserRegimensConnection', 'UserRegimenConnection'], + edge: ['UserRegimensEdge', 'UserRegimenEdge'], + queryField: 'userRegimens' + } + ); + }); +}); + diff --git a/graphile/graphile-simple-inflector/sql/test-child.sql b/graphile/graphile-simple-inflector/sql/test-child.sql new file mode 100644 index 000000000..b8114a288 --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-child.sql @@ -0,0 +1,14 @@ +-- Test table for child inflection (testing singular table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.child ( + id serial PRIMARY KEY, + name text NOT NULL, + parent_id bigint +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/sql/test-children.sql b/graphile/graphile-simple-inflector/sql/test-children.sql new file mode 100644 index 000000000..a06afc24a --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-children.sql @@ -0,0 +1,14 @@ +-- Test table for children inflection (testing plural table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.children ( + id serial PRIMARY KEY, + name text NOT NULL, + parent_id bigint +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/sql/test-man.sql b/graphile/graphile-simple-inflector/sql/test-man.sql new file mode 100644 index 000000000..3127ec4e1 --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-man.sql @@ -0,0 +1,13 @@ +-- Test table for man inflection (testing singular table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.man ( + id serial PRIMARY KEY, + name text NOT NULL +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/sql/test-men.sql b/graphile/graphile-simple-inflector/sql/test-men.sql new file mode 100644 index 000000000..60411b73c --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-men.sql @@ -0,0 +1,13 @@ +-- Test table for men inflection (testing plural table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.men ( + id serial PRIMARY KEY, + name text NOT NULL +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/sql/test-regimen.sql b/graphile/graphile-simple-inflector/sql/test-regimen.sql new file mode 100644 index 000000000..4be422592 --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-regimen.sql @@ -0,0 +1,13 @@ +-- Test table for regimen inflection (testing singular table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.regimen ( + id serial PRIMARY KEY, + name text NOT NULL +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/sql/test-regimens.sql b/graphile/graphile-simple-inflector/sql/test-regimens.sql new file mode 100644 index 000000000..942688a4d --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-regimens.sql @@ -0,0 +1,13 @@ +-- Test table for regimens inflection (testing plural table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.regimens ( + id serial PRIMARY KEY, + name text NOT NULL +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/sql/test-user_login.sql b/graphile/graphile-simple-inflector/sql/test-user_login.sql new file mode 100644 index 000000000..6be68b8c9 --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-user_login.sql @@ -0,0 +1,14 @@ +-- Test table for user_login inflection (testing singular compound table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.user_login ( + id serial PRIMARY KEY, + user_id bigint NOT NULL, + login_time timestamptz NOT NULL DEFAULT now() +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/sql/test-user_logins.sql b/graphile/graphile-simple-inflector/sql/test-user_logins.sql new file mode 100644 index 000000000..036791acc --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-user_logins.sql @@ -0,0 +1,14 @@ +-- Test table for user_logins inflection (testing plural table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.user_logins ( + id serial PRIMARY KEY, + user_id bigint NOT NULL, + login_time timestamptz NOT NULL DEFAULT now() +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/sql/test-user_regimen.sql b/graphile/graphile-simple-inflector/sql/test-user_regimen.sql new file mode 100644 index 000000000..26605bece --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-user_regimen.sql @@ -0,0 +1,14 @@ +-- Test table for user_regimen inflection (testing singular compound table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.user_regimen ( + id serial PRIMARY KEY, + user_id bigint NOT NULL, + name text NOT NULL +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/sql/test-user_regimens.sql b/graphile/graphile-simple-inflector/sql/test-user_regimens.sql new file mode 100644 index 000000000..c08df33ad --- /dev/null +++ b/graphile/graphile-simple-inflector/sql/test-user_regimens.sql @@ -0,0 +1,14 @@ +-- Test table for user_regimens inflection (testing plural compound table name) +BEGIN; +CREATE EXTENSION IF NOT EXISTS citext; +DROP SCHEMA IF EXISTS app_public CASCADE; +CREATE SCHEMA app_public; + +CREATE TABLE app_public.user_regimens ( + id serial PRIMARY KEY, + user_id bigint NOT NULL, + name text NOT NULL +); + +COMMIT; + diff --git a/graphile/graphile-simple-inflector/src/index.ts b/graphile/graphile-simple-inflector/src/index.ts index 73a42d70d..19167ce43 100644 --- a/graphile/graphile-simple-inflector/src/index.ts +++ b/graphile/graphile-simple-inflector/src/index.ts @@ -173,10 +173,69 @@ export const PgSimpleInflector: Plugin = ( * Pluralize/singularize only supports single words, so only run * on the final segment of a name. */ - pluralize: fixChangePlural(oldInflection.pluralize), - singularize: fixChangePlural(oldInflection.singularize), + pluralize: fixChangePlural(function pluralize(this: PgInflection, str: string): string { + // Special cases for words that pluralize library handles incorrectly + // Check BEFORE calling the original pluralize to ensure correct handling + const specialPlurals: Record = { + regimen: 'regimens', + regimens: 'regimens', // Already plural, return as-is + }; + + const lowerStr = str.toLowerCase(); + + // Only apply special rule if it's an exact match (case-insensitive) + if (lowerStr in specialPlurals) { + // Preserve original case pattern: if input was capitalized, capitalize result + if (str.charAt(0) === str.charAt(0).toUpperCase()) { + return specialPlurals[lowerStr].charAt(0).toUpperCase() + specialPlurals[lowerStr].slice(1); + } + return specialPlurals[lowerStr]; + } + + return oldInflection.pluralize.call(this, str); + }), + singularize: fixChangePlural(function singularize(this: PgInflection, str: string): string { + // Special cases for words that pluralize library handles incorrectly + // Check BEFORE calling the original singularize to ensure correct handling + const specialSingulars: Record = { + regimens: 'regimen', // Plural -> singular + regimen: 'regimen', // Already singular, return as-is + }; + + const lowerStr = str.toLowerCase(); + + // Only apply special rule if it's an exact match (case-insensitive) + if (lowerStr in specialSingulars) { + // Preserve original case pattern: if input was capitalized, capitalize result + if (str.charAt(0) === str.charAt(0).toUpperCase()) { + return specialSingulars[lowerStr].charAt(0).toUpperCase() + specialSingulars[lowerStr].slice(1); + } + return specialSingulars[lowerStr]; + } + + return oldInflection.singularize.call(this, str); + }), distinctPluralize(this: PgInflection, str: string) { + // Special cases for words that pluralize library handles incorrectly + // These are checked FIRST with exact match (case-insensitive) to ensure + // they don't affect any other words + const specialPlurals: Record = { + regimen: 'regimens', + regimens: 'regimens', // Already plural, return as-is + }; + + const lowerStr = str.toLowerCase(); + + // Only apply special rule if it's an exact match (case-insensitive) + if (lowerStr in specialPlurals) { + // Return the plural form for special cases + // This ensures "regimen" -> "regimens" and "regimens" -> "regimens" + return specialPlurals[lowerStr]; + } + + // For all other words, use the original logic + // This ensures backward compatibility const singular = this.singularize(str); const plural = this.pluralize(singular); if (singular !== plural) { From e5b251b7ece30e53115b36450b1805d9a913214e Mon Sep 17 00:00:00 2001 From: Lucas Jiang Date: Tue, 6 Jan 2026 21:06:52 +0800 Subject: [PATCH 2/6] revert changes --- .../graphile-simple-inflector/src/index.ts | 63 +------------------ 1 file changed, 2 insertions(+), 61 deletions(-) diff --git a/graphile/graphile-simple-inflector/src/index.ts b/graphile/graphile-simple-inflector/src/index.ts index 19167ce43..73a42d70d 100644 --- a/graphile/graphile-simple-inflector/src/index.ts +++ b/graphile/graphile-simple-inflector/src/index.ts @@ -173,69 +173,10 @@ export const PgSimpleInflector: Plugin = ( * Pluralize/singularize only supports single words, so only run * on the final segment of a name. */ - pluralize: fixChangePlural(function pluralize(this: PgInflection, str: string): string { - // Special cases for words that pluralize library handles incorrectly - // Check BEFORE calling the original pluralize to ensure correct handling - const specialPlurals: Record = { - regimen: 'regimens', - regimens: 'regimens', // Already plural, return as-is - }; - - const lowerStr = str.toLowerCase(); - - // Only apply special rule if it's an exact match (case-insensitive) - if (lowerStr in specialPlurals) { - // Preserve original case pattern: if input was capitalized, capitalize result - if (str.charAt(0) === str.charAt(0).toUpperCase()) { - return specialPlurals[lowerStr].charAt(0).toUpperCase() + specialPlurals[lowerStr].slice(1); - } - return specialPlurals[lowerStr]; - } - - return oldInflection.pluralize.call(this, str); - }), - singularize: fixChangePlural(function singularize(this: PgInflection, str: string): string { - // Special cases for words that pluralize library handles incorrectly - // Check BEFORE calling the original singularize to ensure correct handling - const specialSingulars: Record = { - regimens: 'regimen', // Plural -> singular - regimen: 'regimen', // Already singular, return as-is - }; - - const lowerStr = str.toLowerCase(); - - // Only apply special rule if it's an exact match (case-insensitive) - if (lowerStr in specialSingulars) { - // Preserve original case pattern: if input was capitalized, capitalize result - if (str.charAt(0) === str.charAt(0).toUpperCase()) { - return specialSingulars[lowerStr].charAt(0).toUpperCase() + specialSingulars[lowerStr].slice(1); - } - return specialSingulars[lowerStr]; - } - - return oldInflection.singularize.call(this, str); - }), + pluralize: fixChangePlural(oldInflection.pluralize), + singularize: fixChangePlural(oldInflection.singularize), distinctPluralize(this: PgInflection, str: string) { - // Special cases for words that pluralize library handles incorrectly - // These are checked FIRST with exact match (case-insensitive) to ensure - // they don't affect any other words - const specialPlurals: Record = { - regimen: 'regimens', - regimens: 'regimens', // Already plural, return as-is - }; - - const lowerStr = str.toLowerCase(); - - // Only apply special rule if it's an exact match (case-insensitive) - if (lowerStr in specialPlurals) { - // Return the plural form for special cases - // This ensures "regimen" -> "regimens" and "regimens" -> "regimens" - return specialPlurals[lowerStr]; - } - - // For all other words, use the original logic - // This ensures backward compatibility const singular = this.singularize(str); const plural = this.pluralize(singular); if (singular !== plural) { From cfcd49a9c2bcaea4b85b5607f75d9686ad18862f Mon Sep 17 00:00:00 2001 From: Lucas Jiang Date: Tue, 6 Jan 2026 21:10:20 +0800 Subject: [PATCH 3/6] Replace pluralize library with inflection library for better regimen handling - Add inflection library as dependency - Replace oldInflection.pluralize/singularize with inflection library - Remove hardcoded regimen special cases - All tests passing --- .../graphile-simple-inflector/package.json | 3 +- .../graphile-simple-inflector/src/index.ts | 14 ++++- pnpm-lock.yaml | 53 ++++--------------- 3 files changed, 24 insertions(+), 46 deletions(-) diff --git a/graphile/graphile-simple-inflector/package.json b/graphile/graphile-simple-inflector/package.json index cdfcc9055..03155acb3 100644 --- a/graphile/graphile-simple-inflector/package.json +++ b/graphile/graphile-simple-inflector/package.json @@ -46,6 +46,7 @@ "pgsql-test": "workspace:^" }, "dependencies": { - "graphile-build": "^4.14.1" + "graphile-build": "^4.14.1", + "inflection": "^3.0.2" } } diff --git a/graphile/graphile-simple-inflector/src/index.ts b/graphile/graphile-simple-inflector/src/index.ts index 73a42d70d..bd2cff121 100644 --- a/graphile/graphile-simple-inflector/src/index.ts +++ b/graphile/graphile-simple-inflector/src/index.ts @@ -1,4 +1,5 @@ import type { Plugin } from 'graphile-build'; +import * as inflection from 'inflection'; type InflectionStringFn = (this: PgInflection, str: string) => string; @@ -123,6 +124,10 @@ const fixChangePlural = (fn: InflectionStringFn): InflectionStringFn => return `${prefix}${fn.call(this, word)}${suffix}`; }; +// Helper functions that use inflection library directly (no 'this' dependency) +const inflectionPluralize = (str: string): string => inflection.pluralize(str); +const inflectionSingularize = (str: string): string => inflection.singularize(str); + const DEFAULT_NODE_ID = 'nodeId'; export const PgSimpleInflector: Plugin = ( @@ -172,9 +177,14 @@ export const PgSimpleInflector: Plugin = ( /* * Pluralize/singularize only supports single words, so only run * on the final segment of a name. + * Use inflection library instead of the default pluralize library. */ - pluralize: fixChangePlural(oldInflection.pluralize), - singularize: fixChangePlural(oldInflection.singularize), + pluralize: fixChangePlural(function pluralize(this: PgInflection, str: string): string { + return inflectionPluralize(str); + }), + singularize: fixChangePlural(function singularize(this: PgInflection, str: string): string { + return inflectionSingularize(str); + }), distinctPluralize(this: PgInflection, str: string) { const singular = this.singularize(str); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eaee003e6..8354adeb6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -133,7 +133,7 @@ importers: version: 3.1.11 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@25.0.3)(typescript@5.9.3) + version: 10.9.2(@types/node@20.19.27)(typescript@5.9.3) publishDirectory: dist graphile/graphile-i18n: @@ -560,7 +560,7 @@ importers: version: 3.1.11 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@25.0.3)(typescript@5.9.3) + version: 10.9.2(@types/node@20.19.27)(typescript@5.9.3) publishDirectory: dist graphile/graphile-simple-inflector: @@ -568,6 +568,9 @@ importers: graphile-build: specifier: ^4.14.1 version: 4.14.1(graphql@15.10.1) + inflection: + specifier: ^3.0.2 + version: 3.0.2 devDependencies: graphile-test: specifier: workspace:^ @@ -829,7 +832,7 @@ importers: version: 3.1.11 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@25.0.3)(typescript@5.9.3) + version: 10.9.2(@types/node@20.19.27)(typescript@5.9.3) publishDirectory: dist graphql/gql-ast: @@ -1023,7 +1026,7 @@ importers: version: 3.1.11 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@25.0.3)(typescript@5.9.3) + version: 10.9.2(@types/node@20.19.27)(typescript@5.9.3) publishDirectory: dist graphql/test: @@ -1203,7 +1206,7 @@ importers: devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@25.0.3)(typescript@5.9.3) + version: 10.9.2(@types/node@20.19.27)(typescript@5.9.3) jobs/knative-job-worker: dependencies: @@ -1412,7 +1415,7 @@ importers: version: 0.1.10 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@25.0.3)(typescript@5.9.3) + version: 10.9.2(@types/node@20.19.27)(typescript@5.9.3) publishDirectory: dist packages/url-domains: @@ -3596,9 +3599,6 @@ packages: '@types/node@20.19.27': resolution: {integrity: sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==} - '@types/node@25.0.3': - resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} - '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -5407,10 +5407,6 @@ packages: resolution: {integrity: sha512-BL/Xd/T9baO6NFzoMpiMD7YUZ62R6viR5tp/MULVEnbYJXZA//kRNW7J0j1w/wXArgL0sCxhDfK5dczSKn3+cg==} engines: {node: '>= 10.x'} - graphql@15.8.0: - resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} - engines: {node: '>= 10.x'} - handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} @@ -7941,9 +7937,6 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - undici@7.16.0: resolution: {integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==} engines: {node: '>=20.18.1'} @@ -10584,10 +10577,6 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@25.0.3': - dependencies: - undici-types: 7.16.0 - '@types/normalize-package-data@2.4.4': {} '@types/pg-copy-streams@1.2.5': @@ -12474,7 +12463,7 @@ snapshots: debug: 4.4.3(supports-color@5.5.0) graphile-build: 4.14.1(graphql@15.10.1) graphile-build-pg: 4.14.1(graphql@15.10.1)(pg@8.16.3) - graphql: 15.8.0 + graphql: 15.10.1 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -12511,8 +12500,6 @@ snapshots: graphql@15.10.1: {} - graphql@15.8.0: {} - handlebars@4.7.8: dependencies: minimist: 1.2.8 @@ -15826,24 +15813,6 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@25.0.3)(typescript@5.9.3): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.12 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 25.0.3 - acorn: 8.15.0 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.9.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - tsconfig-paths@4.2.0: dependencies: json5: 2.2.3 @@ -15926,8 +15895,6 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.16.0: {} - undici@7.16.0: {} unique-filename@3.0.0: From 8cc9dbf9027fabaae20c4e91f2ab041983d29d16 Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Wed, 7 Jan 2026 17:11:37 +0000 Subject: [PATCH 4/6] refactor(inflection): use inflekt package for PostGraphile-compatible pluralization - Replace inflection package with inflekt@0.1.0 in graphile-simple-inflector - Replace inflection package with inflekt@0.1.0 in graphql-codegen - Simplify pluralize.ts to re-export from inflekt (includes Latin suffix overrides) - Update all inflection function calls to use direct imports from inflekt --- .../graphile-simple-inflector/package.json | 2 +- .../graphile-simple-inflector/src/index.ts | 22 ++-- graphql/codegen/package.json | 2 +- .../codegen/src/cli/introspect/pluralize.ts | 103 ++---------------- graphql/codegen/src/core/ast.ts | 14 +-- graphql/codegen/src/core/query-builder.ts | 40 +++---- graphql/codegen/src/generators/mutations.ts | 6 +- graphql/codegen/src/generators/select.ts | 14 +-- pnpm-lock.yaml | 20 +++- 9 files changed, 75 insertions(+), 148 deletions(-) diff --git a/graphile/graphile-simple-inflector/package.json b/graphile/graphile-simple-inflector/package.json index 03155acb3..5a827f73a 100644 --- a/graphile/graphile-simple-inflector/package.json +++ b/graphile/graphile-simple-inflector/package.json @@ -47,6 +47,6 @@ }, "dependencies": { "graphile-build": "^4.14.1", - "inflection": "^3.0.2" + "inflekt": "^0.1.0" } } diff --git a/graphile/graphile-simple-inflector/src/index.ts b/graphile/graphile-simple-inflector/src/index.ts index bd2cff121..bb76bf0d7 100644 --- a/graphile/graphile-simple-inflector/src/index.ts +++ b/graphile/graphile-simple-inflector/src/index.ts @@ -1,5 +1,5 @@ import type { Plugin } from 'graphile-build'; -import * as inflection from 'inflection'; +import { pluralize, singularize, fixCapitalisedPlural } from 'inflekt'; type InflectionStringFn = (this: PgInflection, str: string) => string; @@ -105,10 +105,10 @@ export interface PgSimpleInflectorOptions { nodeIdFieldName?: string; } -const fixCapitalisedPlural = (fn: InflectionStringFn): InflectionStringFn => +const fixCapitalisedPluralWrapper = (fn: InflectionStringFn): InflectionStringFn => function capitalisedPlural(this: PgInflection, str: string): string { const original = fn.call(this, str); - return original.replace(/[0-9]S(?=[A-Z]|$)/g, (match) => match.toLowerCase()); + return fixCapitalisedPlural(original); }; const fixChangePlural = (fn: InflectionStringFn): InflectionStringFn => @@ -124,9 +124,9 @@ const fixChangePlural = (fn: InflectionStringFn): InflectionStringFn => return `${prefix}${fn.call(this, word)}${suffix}`; }; -// Helper functions that use inflection library directly (no 'this' dependency) -const inflectionPluralize = (str: string): string => inflection.pluralize(str); -const inflectionSingularize = (str: string): string => inflection.singularize(str); +// Helper functions that use inflekt library directly (no 'this' dependency) +const inflektPluralize = (str: string): string => pluralize(str); +const inflektSingularize = (str: string): string => singularize(str); const DEFAULT_NODE_ID = 'nodeId'; @@ -171,19 +171,19 @@ export const PgSimpleInflector: Plugin = ( * This solves the issue with `blah-table1s` becoming `blahTable1S` * (i.e. the capital S at the end) or `table1-connection becoming `Table1SConnection` */ - camelCase: fixCapitalisedPlural(oldInflection.camelCase), - upperCamelCase: fixCapitalisedPlural(oldInflection.upperCamelCase), + camelCase: fixCapitalisedPluralWrapper(oldInflection.camelCase), + upperCamelCase: fixCapitalisedPluralWrapper(oldInflection.upperCamelCase), /* * Pluralize/singularize only supports single words, so only run * on the final segment of a name. - * Use inflection library instead of the default pluralize library. + * Use inflekt library instead of the default pluralize library. */ pluralize: fixChangePlural(function pluralize(this: PgInflection, str: string): string { - return inflectionPluralize(str); + return inflektPluralize(str); }), singularize: fixChangePlural(function singularize(this: PgInflection, str: string): string { - return inflectionSingularize(str); + return inflektSingularize(str); }), distinctPluralize(this: PgInflection, str: string) { diff --git a/graphql/codegen/package.json b/graphql/codegen/package.json index 290a75bbc..0965c022c 100644 --- a/graphql/codegen/package.json +++ b/graphql/codegen/package.json @@ -53,7 +53,7 @@ "commander": "^12.1.0", "gql-ast": "workspace:^", "graphql": "15.10.1", - "inflection": "^3.0.2", + "inflekt": "^0.1.0", "jiti": "^2.6.1", "prettier": "^3.7.4", "ts-morph": "^27.0.2" diff --git a/graphql/codegen/src/cli/introspect/pluralize.ts b/graphql/codegen/src/cli/introspect/pluralize.ts index b5b712b8f..a67cd8f66 100644 --- a/graphql/codegen/src/cli/introspect/pluralize.ts +++ b/graphql/codegen/src/cli/introspect/pluralize.ts @@ -1,95 +1,14 @@ /** * Pluralization utilities for inferring entity names from PostGraphile patterns * - * Uses the 'inflection' package which is already a dependency of this package. - */ -import * as inflection from 'inflection'; - -/** - * Latin plural suffixes that inflection handles differently than PostGraphile. - * - * The inflection library correctly singularizes Latin words (schemata → schematum), - * but PostGraphile uses English-style naming (schemata → schema). - * - * Format: [pluralSuffix, singularSuffix] - */ -const LATIN_SUFFIX_OVERRIDES: Array<[string, string]> = [ - // Common Latin plural endings - ['schemata', 'schema'], - ['criteria', 'criterion'], - ['phenomena', 'phenomenon'], - ['media', 'medium'], - ['memoranda', 'memorandum'], - ['strata', 'stratum'], - ['curricula', 'curriculum'], - ['data', 'datum'], -]; - -/** - * Convert a word to its singular form - * @example "Users" → "User", "People" → "Person", "Schemata" → "Schema", "ApiSchemata" → "ApiSchema" - */ -export function singularize(word: string): string { - // Check for Latin suffix overrides (handles compound words like "ApiSchemata") - const lowerWord = word.toLowerCase(); - - for (const [pluralSuffix, singularSuffix] of LATIN_SUFFIX_OVERRIDES) { - if (lowerWord.endsWith(pluralSuffix)) { - // Find where the suffix starts in the original word (preserving case) - const suffixStart = word.length - pluralSuffix.length; - const prefix = word.slice(0, suffixStart); - const originalSuffix = word.slice(suffixStart); - - // Preserve the casing of the first letter of the suffix - const isUpperSuffix = - originalSuffix[0] === originalSuffix[0].toUpperCase(); - const newSuffix = isUpperSuffix - ? singularSuffix.charAt(0).toUpperCase() + singularSuffix.slice(1) - : singularSuffix; - - return prefix + newSuffix; - } - } - - return inflection.singularize(word); -} - -/** - * Convert a word to its plural form - * @example "User" → "Users", "Person" → "People" - */ -export function pluralize(word: string): string { - return inflection.pluralize(word); -} - -/** - * Convert PascalCase to camelCase - * @example "UserProfile" → "userProfile" - */ -export function lcFirst(str: string): string { - return str.charAt(0).toLowerCase() + str.slice(1); -} - -/** - * Convert camelCase to PascalCase - * @example "userProfile" → "UserProfile" - */ -export function ucFirst(str: string): string { - return str.charAt(0).toUpperCase() + str.slice(1); -} - -/** - * Convert a plural PascalCase type name to singular camelCase field name - * @example "Users" → "user", "OrderItems" → "orderItem" - */ -export function toFieldName(pluralTypeName: string): string { - return lcFirst(singularize(pluralTypeName)); -} - -/** - * Convert a singular PascalCase type name to plural camelCase query name - * @example "User" → "users", "OrderItem" → "orderItems" - */ -export function toQueryName(singularTypeName: string): string { - return lcFirst(pluralize(singularTypeName)); -} + * Re-exports from 'inflekt' which provides PostGraphile-compatible inflection + * with Latin suffix overrides (schemata → schema, criteria → criterion, etc.) + */ +export { + singularize, + pluralize, + lcFirst, + ucFirst, + toFieldName, + toQueryName, +} from 'inflekt'; diff --git a/graphql/codegen/src/core/ast.ts b/graphql/codegen/src/core/ast.ts index d51de9281..d7903bd09 100644 --- a/graphql/codegen/src/core/ast.ts +++ b/graphql/codegen/src/core/ast.ts @@ -7,7 +7,7 @@ import type { ValueNode, VariableDefinitionNode, } from 'graphql'; -import * as inflection from 'inflection'; +import { camelize, singularize } from 'inflekt'; import { getCustomAst } from './custom-ast'; @@ -379,8 +379,8 @@ export const createOne = ({ throw new Error(`No input field for mutation: ${mutationName}`); } - const modelName = inflection.camelize( - [inflection.singularize(mutation.model)].join('_'), + const modelName = camelize( + [singularize(mutation.model)].join('_'), true ); @@ -448,8 +448,8 @@ export const patchOne = ({ throw new Error(`No input field for mutation: ${mutationName}`); } - const modelName = inflection.camelize( - [inflection.singularize(mutation.model)].join('_'), + const modelName = camelize( + [singularize(mutation.model)].join('_'), true ); @@ -525,8 +525,8 @@ export const deleteOne = ({ throw new Error(`No input field for mutation: ${mutationName}`); } - const modelName = inflection.camelize( - [inflection.singularize(mutation.model)].join('_'), + const modelName = camelize( + [singularize(mutation.model)].join('_'), true ); diff --git a/graphql/codegen/src/core/query-builder.ts b/graphql/codegen/src/core/query-builder.ts index 38c8c888d..8be4db4ca 100644 --- a/graphql/codegen/src/core/query-builder.ts +++ b/graphql/codegen/src/core/query-builder.ts @@ -1,5 +1,5 @@ import { DocumentNode, print as gqlPrint } from 'graphql'; -import * as inflection from 'inflection'; +import { camelize, underscore, pluralize } from 'inflekt'; import { createOne, @@ -145,13 +145,13 @@ export class QueryBuilder { const getInputName = (mutationType: string): string => { switch (mutationType) { case 'delete': { - return `Delete${inflection.camelize(this._model)}Input`; + return `Delete${camelize(this._model)}Input`; } case 'create': { - return `Create${inflection.camelize(this._model)}Input`; + return `Create${camelize(this._model)}Input`; } case 'patch': { - return `Update${inflection.camelize(this._model)}Input`; + return `Update${camelize(this._model)}Input`; } default: throw new Error('Unhandled mutation type' + mutationType); @@ -194,8 +194,8 @@ export class QueryBuilder { this._key = this._findQuery(); this.queryName( - inflection.camelize( - ['get', inflection.underscore(this._key), 'query'].join('_'), + camelize( + ['get', underscore(this._key), 'query'].join('_'), true ) ); @@ -219,8 +219,8 @@ export class QueryBuilder { this._key = this._findQuery(); this.queryName( - inflection.camelize( - ['get', inflection.underscore(this._key), 'query', 'all'].join('_'), + camelize( + ['get', underscore(this._key), 'query', 'all'].join('_'), true ) ); @@ -243,8 +243,8 @@ export class QueryBuilder { this._key = this._findQuery(); this.queryName( - inflection.camelize( - ['get', inflection.underscore(this._key), 'count', 'query'].join('_'), + camelize( + ['get', underscore(this._key), 'count', 'query'].join('_'), true ) ); @@ -265,8 +265,8 @@ export class QueryBuilder { this._key = this._findQuery(); this.queryName( - inflection.camelize( - ['get', inflection.underscore(this._key), 'query'].join('_'), + camelize( + ['get', underscore(this._key), 'query'].join('_'), true ) ); @@ -290,8 +290,8 @@ export class QueryBuilder { this._key = this._findMutation(); this.queryName( - inflection.camelize( - [inflection.underscore(this._key), 'mutation'].join('_'), + camelize( + [underscore(this._key), 'mutation'].join('_'), true ) ); @@ -314,8 +314,8 @@ export class QueryBuilder { this._key = this._findMutation(); this.queryName( - inflection.camelize( - [inflection.underscore(this._key), 'mutation'].join('_'), + camelize( + [underscore(this._key), 'mutation'].join('_'), true ) ); @@ -338,8 +338,8 @@ export class QueryBuilder { this._key = this._findMutation(); this.queryName( - inflection.camelize( - [inflection.underscore(this._key), 'mutation'].join('_'), + camelize( + [underscore(this._key), 'mutation'].join('_'), true ) ); @@ -578,8 +578,8 @@ function isRelationalField(fieldName: string, modelMeta: MetaTable): boolean { // Get getMany op name from model // ie. UserSetting => userSettings function modelNameToGetMany(model: string): string { - return inflection.camelize( - inflection.pluralize(inflection.underscore(model)), + return camelize( + pluralize(underscore(model)), true ); } diff --git a/graphql/codegen/src/generators/mutations.ts b/graphql/codegen/src/generators/mutations.ts index 5d6f34d37..a7d495e0b 100644 --- a/graphql/codegen/src/generators/mutations.ts +++ b/graphql/codegen/src/generators/mutations.ts @@ -5,7 +5,7 @@ import * as t from 'gql-ast'; import { print } from 'graphql'; import type { ArgumentNode, FieldNode, VariableDefinitionNode } from 'graphql'; -import * as inflection from 'inflection'; +import { camelize } from 'inflekt'; import { TypedDocumentString } from '../client/typed-document'; import { @@ -48,7 +48,7 @@ export function buildPostGraphileCreate( { input: { [key: string]: Record } } > { const mutationName = `create${table.name}`; - const singularName = inflection.camelize(table.name, true); + const singularName = camelize(table.name, true); // Create the variable definition for $input const variableDefinitions: VariableDefinitionNode[] = [ @@ -124,7 +124,7 @@ export function buildPostGraphileUpdate( { input: { id: string | number; patch: Record } } > { const mutationName = `update${table.name}`; - const singularName = inflection.camelize(table.name, true); + const singularName = camelize(table.name, true); // Create the variable definition for $input const variableDefinitions: VariableDefinitionNode[] = [ diff --git a/graphql/codegen/src/generators/select.ts b/graphql/codegen/src/generators/select.ts index 7eb7d3290..edf2cace7 100644 --- a/graphql/codegen/src/generators/select.ts +++ b/graphql/codegen/src/generators/select.ts @@ -5,7 +5,7 @@ import * as t from 'gql-ast'; import { print } from 'graphql'; import type { ArgumentNode, FieldNode, VariableDefinitionNode } from 'graphql'; -import * as inflection from 'inflection'; +import { camelize, pluralize } from 'inflekt'; import { TypedDocumentString } from '../client/typed-document'; import { @@ -35,9 +35,9 @@ import { convertToSelectionOptions, isRelationalField } from './field-selector'; */ export function toCamelCasePlural(tableName: string): string { // First convert to camelCase (lowercase first letter) - const camelCase = inflection.camelize(tableName, true); + const camelCase = camelize(tableName, true); // Then pluralize properly - return inflection.pluralize(camelCase); + return pluralize(camelCase); } /** @@ -129,7 +129,7 @@ export function generateIntrospectionSchema( } as QueryDefinition; // Add getOne query (by ID) - const singularName = inflection.camelize(modelName, true); + const singularName = camelize(modelName, true); schema[singularName] = { qtype: 'getOne', model: modelName, @@ -151,8 +151,8 @@ export function generateIntrospectionSchema( isArray: false, isArrayNotNull: false, properties: { - [inflection.camelize(modelName, true)]: { - name: inflection.camelize(modelName, true), + [camelize(modelName, true)]: { + name: camelize(modelName, true), type: `${modelName}Input`, isNotNull: true, isArray: false, @@ -725,7 +725,7 @@ function findRelatedTable( * Generate FindOne query AST directly from CleanTable */ function generateFindOneQueryAST(table: CleanTable): string { - const singularName = inflection.camelize(table.name, true); + const singularName = camelize(table.name, true); // Generate field selections (include all non-relational fields, including complex types) const fieldSelections = table.fields diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8354adeb6..81d2cdee7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -568,9 +568,9 @@ importers: graphile-build: specifier: ^4.14.1 version: 4.14.1(graphql@15.10.1) - inflection: - specifier: ^3.0.2 - version: 3.0.2 + inflekt: + specifier: ^0.1.0 + version: 0.1.0 devDependencies: graphile-test: specifier: workspace:^ @@ -708,9 +708,9 @@ importers: graphql: specifier: 15.10.1 version: 15.10.1 - inflection: - specifier: ^3.0.2 - version: 3.0.2 + inflekt: + specifier: ^0.1.0 + version: 0.1.0 jiti: specifier: ^2.6.1 version: 2.6.1 @@ -5589,6 +5589,9 @@ packages: resolution: {integrity: sha512-+Bg3+kg+J6JUWn8J6bzFmOWkTQ6L/NHfDRSYU+EVvuKHDxUDHAXgqixHfVlzuBQaPOTac8hn43aPhMNk6rMe3g==} engines: {node: '>=18.0.0'} + inflekt@0.1.0: + resolution: {integrity: sha512-dHNmRdXabKEI0eVsN3x0PMXz3Esi7t3L5e15FENhk63la0DFLCNyXT7I3tLxhUtorEzG3GoFU/zA66C8Uz9xJg==} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -12700,6 +12703,11 @@ snapshots: inflection@3.0.2: {} + inflekt@0.1.0: + dependencies: + inflection: 3.0.2 + komoji: 0.7.14 + inflight@1.0.6: dependencies: once: 1.4.0 From f837d08cbe95fcee2168b38831b46eafd62f5208 Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Wed, 7 Jan 2026 17:31:01 +0000 Subject: [PATCH 5/6] refactor: remove pluralize.ts wrapper, import directly from inflekt --- .../src/cli/codegen/orm/input-types-generator.ts | 2 +- graphql/codegen/src/cli/codegen/utils.ts | 2 +- graphql/codegen/src/cli/introspect/index.ts | 4 ++-- graphql/codegen/src/cli/introspect/infer-tables.ts | 2 +- graphql/codegen/src/cli/introspect/pluralize.ts | 14 -------------- 5 files changed, 5 insertions(+), 19 deletions(-) delete mode 100644 graphql/codegen/src/cli/introspect/pluralize.ts diff --git a/graphql/codegen/src/cli/codegen/orm/input-types-generator.ts b/graphql/codegen/src/cli/codegen/orm/input-types-generator.ts index 16779c2c0..ebd0a53a5 100644 --- a/graphql/codegen/src/cli/codegen/orm/input-types-generator.ts +++ b/graphql/codegen/src/cli/codegen/orm/input-types-generator.ts @@ -33,7 +33,7 @@ import { getOrderByTypeName, isRelationField, } from '../utils'; -import { pluralize } from '../../introspect/pluralize'; +import { pluralize } from 'inflekt'; import { getTypeBaseName } from '../type-resolver'; import { scalarToTsType, scalarToFilterType } from '../scalars'; diff --git a/graphql/codegen/src/cli/codegen/utils.ts b/graphql/codegen/src/cli/codegen/utils.ts index a5d099cc0..075e0bad2 100644 --- a/graphql/codegen/src/cli/codegen/utils.ts +++ b/graphql/codegen/src/cli/codegen/utils.ts @@ -7,7 +7,7 @@ import type { CleanFieldType, } from '../../types/schema'; import { scalarToTsType, scalarToFilterType } from './scalars'; -import { pluralize } from '../introspect/pluralize'; +import { pluralize } from 'inflekt'; // ============================================================================ // String manipulation diff --git a/graphql/codegen/src/cli/introspect/index.ts b/graphql/codegen/src/cli/introspect/index.ts index 5677b86d9..baaf7ebc2 100644 --- a/graphql/codegen/src/cli/introspect/index.ts +++ b/graphql/codegen/src/cli/introspect/index.ts @@ -6,8 +6,8 @@ export { inferTablesFromIntrospection } from './infer-tables'; export type { InferTablesOptions } from './infer-tables'; -// Pluralization utilities -export { singularize, pluralize } from './pluralize'; +// Pluralization utilities (from inflekt) +export { singularize, pluralize } from 'inflekt'; // Schema sources export { diff --git a/graphql/codegen/src/cli/introspect/infer-tables.ts b/graphql/codegen/src/cli/introspect/infer-tables.ts index 0a4597b26..9f5ab631a 100644 --- a/graphql/codegen/src/cli/introspect/infer-tables.ts +++ b/graphql/codegen/src/cli/introspect/infer-tables.ts @@ -32,7 +32,7 @@ import type { TableConstraints, ConstraintInfo, } from '../../types/schema'; -import { singularize, pluralize, lcFirst, ucFirst } from './pluralize'; +import { singularize, pluralize, lcFirst, ucFirst } from 'inflekt'; // ============================================================================ // Pattern Matching Constants diff --git a/graphql/codegen/src/cli/introspect/pluralize.ts b/graphql/codegen/src/cli/introspect/pluralize.ts deleted file mode 100644 index a67cd8f66..000000000 --- a/graphql/codegen/src/cli/introspect/pluralize.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Pluralization utilities for inferring entity names from PostGraphile patterns - * - * Re-exports from 'inflekt' which provides PostGraphile-compatible inflection - * with Latin suffix overrides (schemata → schema, criteria → criterion, etc.) - */ -export { - singularize, - pluralize, - lcFirst, - ucFirst, - toFieldName, - toQueryName, -} from 'inflekt'; From c4a8c99f08b3f2e98ebd6307dc8292c74ea68179 Mon Sep 17 00:00:00 2001 From: Dan Lynch Date: Wed, 7 Jan 2026 17:49:44 +0000 Subject: [PATCH 6/6] chore: upgrade inflekt to 0.1.2 --- graphile/graphile-simple-inflector/package.json | 2 +- graphql/codegen/package.json | 2 +- pnpm-lock.yaml | 15 +++++++-------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/graphile/graphile-simple-inflector/package.json b/graphile/graphile-simple-inflector/package.json index 5a827f73a..5da73945e 100644 --- a/graphile/graphile-simple-inflector/package.json +++ b/graphile/graphile-simple-inflector/package.json @@ -47,6 +47,6 @@ }, "dependencies": { "graphile-build": "^4.14.1", - "inflekt": "^0.1.0" + "inflekt": "^0.1.2" } } diff --git a/graphql/codegen/package.json b/graphql/codegen/package.json index 0965c022c..bfa0827ec 100644 --- a/graphql/codegen/package.json +++ b/graphql/codegen/package.json @@ -53,7 +53,7 @@ "commander": "^12.1.0", "gql-ast": "workspace:^", "graphql": "15.10.1", - "inflekt": "^0.1.0", + "inflekt": "^0.1.2", "jiti": "^2.6.1", "prettier": "^3.7.4", "ts-morph": "^27.0.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81d2cdee7..8578b1ee6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -569,8 +569,8 @@ importers: specifier: ^4.14.1 version: 4.14.1(graphql@15.10.1) inflekt: - specifier: ^0.1.0 - version: 0.1.0 + specifier: ^0.1.2 + version: 0.1.2 devDependencies: graphile-test: specifier: workspace:^ @@ -709,8 +709,8 @@ importers: specifier: 15.10.1 version: 15.10.1 inflekt: - specifier: ^0.1.0 - version: 0.1.0 + specifier: ^0.1.2 + version: 0.1.2 jiti: specifier: ^2.6.1 version: 2.6.1 @@ -5589,8 +5589,8 @@ packages: resolution: {integrity: sha512-+Bg3+kg+J6JUWn8J6bzFmOWkTQ6L/NHfDRSYU+EVvuKHDxUDHAXgqixHfVlzuBQaPOTac8hn43aPhMNk6rMe3g==} engines: {node: '>=18.0.0'} - inflekt@0.1.0: - resolution: {integrity: sha512-dHNmRdXabKEI0eVsN3x0PMXz3Esi7t3L5e15FENhk63la0DFLCNyXT7I3tLxhUtorEzG3GoFU/zA66C8Uz9xJg==} + inflekt@0.1.2: + resolution: {integrity: sha512-lHNWa0YVLVoUmWKuZVhrwliGmmh+OOd2C0teFEC+uP37wA3/b/bzNq9X8k4zkbstNk6RJuvUi1N0l9OQp9T/+Q==} inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} @@ -12703,10 +12703,9 @@ snapshots: inflection@3.0.2: {} - inflekt@0.1.0: + inflekt@0.1.2: dependencies: inflection: 3.0.2 - komoji: 0.7.14 inflight@1.0.6: dependencies: