Repository: APIs-guru/graphql-voyager Branch: main Commit: 656b8ddb4e7b Files: 114 Total size: 1.6 MB Directory structure: gitextract__glkiko_/ ├── .eslintignore ├── .eslintrc.yml ├── .github/ │ ├── FUNDING.yml │ ├── dependabot.yml │ └── workflows/ │ ├── changelog.yml │ ├── ci.yml │ ├── publish.yml │ ├── pull_request.yml │ ├── push.yml │ └── scorecard.yml ├── .gitignore ├── .npmignore ├── .prettierrc ├── LICENSE ├── README.md ├── cspell.yml ├── demo/ │ ├── index.html │ └── presets/ │ ├── github_introspection.json │ ├── shopify_introspection.json │ ├── swapi_introspection.json │ └── yelp_introspection.json ├── docker-compose.yml ├── example/ │ ├── README.md │ ├── cdn/ │ │ └── index.html │ ├── express-server/ │ │ ├── Dockerfile │ │ ├── index.ts │ │ ├── package.json │ │ ├── schema.ts │ │ └── tsconfig.json │ └── webpack/ │ ├── Dockerfile │ ├── README.md │ ├── index.html │ ├── index.tsx │ ├── package.json │ ├── tsconfig.json │ └── webpack.config.js ├── manual-types.d.ts ├── package.json ├── playwright.config.ts ├── scripts/ │ ├── gen-changelog.ts │ ├── serve-directory.ts │ └── utils.ts ├── src/ │ ├── components/ │ │ ├── GraphViewport.tsx │ │ ├── IntrospectionModal.tsx │ │ ├── MUITheme.tsx │ │ ├── Voyager.css │ │ ├── Voyager.tsx │ │ ├── doc-explorer/ │ │ │ ├── Argument.css │ │ │ ├── Argument.tsx │ │ │ ├── Description.css │ │ │ ├── Description.tsx │ │ │ ├── DocExplorer.css │ │ │ ├── DocExplorer.tsx │ │ │ ├── EnumValue.tsx │ │ │ ├── FocusTypeButton.css │ │ │ ├── FocusTypeButton.tsx │ │ │ ├── OtherSearchResults.tsx │ │ │ ├── TypeDetails.css │ │ │ ├── TypeDetails.tsx │ │ │ ├── TypeDoc.css │ │ │ ├── TypeDoc.tsx │ │ │ ├── TypeInfoPopover.css │ │ │ ├── TypeInfoPopover.tsx │ │ │ ├── TypeLink.css │ │ │ ├── TypeLink.tsx │ │ │ ├── TypeList.css │ │ │ ├── TypeList.tsx │ │ │ ├── WrappedTypeName.css │ │ │ └── WrappedTypeName.tsx │ │ ├── settings/ │ │ │ ├── RootSelector.tsx │ │ │ └── Settings.tsx │ │ ├── utils/ │ │ │ ├── LoadingAnimation.tsx │ │ │ ├── Markdown.tsx │ │ │ ├── PoweredBy.tsx │ │ │ ├── SearchBox.tsx │ │ │ └── VoyagerLogo.tsx │ │ ├── variables.css │ │ └── viewport.css │ ├── graph/ │ │ ├── dot.ts │ │ ├── graphviz-worker.ts │ │ ├── svg-renderer.ts │ │ ├── type-graph.ts │ │ └── viewport.ts │ ├── index.ts │ ├── introspection/ │ │ ├── introspection.ts │ │ └── utils.ts │ ├── middleware/ │ │ ├── express.ts │ │ ├── hapi.ts │ │ ├── index.ts │ │ ├── koa.ts │ │ └── render-voyager-page.ts │ ├── standalone.ts │ └── utils/ │ ├── collect-referenced-types.ts │ ├── compute-hash.ts │ ├── dom-helpers.ts │ ├── highlight.tsx │ ├── introspection-query.ts │ ├── is-match.ts │ ├── local-storage-lru-cache.ts │ ├── mapValues.ts │ ├── sdl-to-introspection.ts │ ├── stringify-type-wrappers.ts │ ├── transformSchema.ts │ ├── unreachable.ts │ └── usePromise.ts ├── tests/ │ ├── Dockerfile │ ├── PageObjectModel.ts │ ├── demo.spec.ts │ ├── express.spec.ts │ └── webpack.spec.ts ├── tsconfig.build.json ├── tsconfig.json ├── webpack.config.ts └── wrangler.toml ================================================ FILE CONTENTS ================================================ ================================================ FILE: .eslintignore ================================================ /example # Copied from '.gitignore', please keep it in sync. /.eslintcache /.cspellcache /node_modules /dist /demo-dist /typings /test-results /playwright-report ================================================ FILE: .eslintrc.yml ================================================ parserOptions: sourceType: script env: es2022: true browser: true plugins: ['simple-import-sort', 'react', 'react-hooks'] settings: react: version: detect extends: - 'eslint:recommended' - 'plugin:import/recommended' - 'plugin:react/recommended' - 'plugin:react/jsx-runtime' - 'plugin:react-hooks/recommended' rules: 'simple-import-sort/imports': error 'simple-import-sort/exports': error 'import/no-extraneous-dependencies': [error, { devDependencies: ['**/*.config.{js,ts}', 'tests/**'] }] overrides: - files: '**/*.js' env: node: true - files: 'tests/**.ts' plugins: ['@typescript-eslint'] extends: - 'plugin:playwright/recommended' - files: ['**/*.ts', '**/*.tsx'] parser: '@typescript-eslint/parser' parserOptions: sourceType: module project: ['tsconfig.json'] plugins: ['@typescript-eslint'] settings: 'import/extensions': ['.ts', '.tsx', '.js'] extends: - 'plugin:import/typescript' - 'plugin:@typescript-eslint/strict' - 'plugin:@typescript-eslint/recommended' - 'plugin:@typescript-eslint/recommended-requiring-type-checking' rules: '@typescript-eslint/array-type': [error, { default: generic }] '@typescript-eslint/consistent-indexed-object-style': [error, index-signature] '@typescript-eslint/no-unused-vars': - 'error' - vars: all args: all argsIgnorePattern: '^_' varsIgnorePattern: '^_T' # FIXME: remove below rules 'react/jsx-key': off 'react/no-string-refs': off '@typescript-eslint/no-var-requires': off '@typescript-eslint/no-non-null-assertion': off '@typescript-eslint/no-unnecessary-boolean-literal-compare': off '@typescript-eslint/no-explicit-any': off '@typescript-eslint/dot-notation': off '@typescript-eslint/no-dynamic-delete': off '@typescript-eslint/restrict-plus-operands': off '@typescript-eslint/no-unsafe-call': off '@typescript-eslint/no-unsafe-return': off '@typescript-eslint/no-unsafe-argument': off '@typescript-eslint/no-unsafe-assignment': off '@typescript-eslint/no-unsafe-member-access': off '@typescript-eslint/no-unnecessary-condition': off '@typescript-eslint/restrict-template-expressions': off ================================================ FILE: .github/FUNDING.yml ================================================ open_collective: graphql-voyager ================================================ FILE: .github/dependabot.yml ================================================ # Please see the documentation for all configuration options: # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file version: 2 updates: - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'weekly' labels: - 'PR: dependency 📦' groups: major_updates: update-types: - 'major' non_major_updates: update-types: - 'minor' - 'patch' ================================================ FILE: .github/workflows/changelog.yml ================================================ name: CI on: workflow_call permissions: {} jobs: generateChangelog: name: Generate changelog runs-on: ubuntu-latest permissions: contents: read # for actions/checkout steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false show-progress: false fetch-depth: 0 # fetch all reachable commits filter: tree:0 # while fetching trees and blobs on-demand - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: cache: npm node-version-file: 'package.json' - name: Install Dependencies run: npm ci --ignore-scripts - name: Generate changelog run: npm run changelog > changelog.txt env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload npm folder uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: changelog path: ./changelog.txt ================================================ FILE: .github/workflows/ci.yml ================================================ name: CI on: workflow_call permissions: {} jobs: test: runs-on: ubuntu-latest permissions: contents: read # for actions/checkout steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: cache: npm node-version-file: 'package.json' - name: Install Dependencies run: npm ci --ignore-scripts - name: Run tests run: npm run testonly - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 if: always() with: name: playwright-report path: playwright-report/ lint: name: Lint source files runs-on: ubuntu-latest permissions: contents: read # for actions/checkout steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: cache: npm node-version-file: 'package.json' - name: Install Dependencies run: npm ci --ignore-scripts - name: Lint ESLint run: npm run lint - name: Check Types run: npm run check - name: Lint Prettier run: npm run prettier:check - name: Spellcheck run: npm run check:spell - name: Lint GitHub Actions uses: docker://rhysd/actionlint:latest with: args: -color - name: Lint Dockerfiles uses: docker://hadolint/hadolint:latest-alpine with: entrypoint: /bin/sh args: -c "find . -type f -name 'Dockerfile*' -exec hadolint {} +" checkForCommonlyIgnoredFiles: name: Check for commonly ignored files runs-on: ubuntu-latest permissions: contents: read # for actions/checkout steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Check if commit contains files that should be ignored run: | git clone --depth 1 https://github.com/github/gitignore.git rm gitignore/Global/Images.gitignore rm gitignore/Global/VirtualEnv.gitignore cat gitignore/Node.gitignore gitignore/Global/*.gitignore > all.gitignore IGNORED_FILES=$(git ls-files --cached --ignored --exclude-from=all.gitignore) if [[ "$IGNORED_FILES" != "" ]]; then echo -e "::error::Please remove these files:\n$IGNORED_FILES" | sed -z 's/\n/%0A/g' exit 1 fi checkPackageLock: name: Check health of package-lock.json file runs-on: ubuntu-latest permissions: contents: read # for actions/checkout steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: cache: npm node-version-file: 'package.json' - name: Install Dependencies run: npm ci --ignore-scripts - name: Check that package-lock.json doesn't have conflicts run: npm ls --depth 999 - name: Run npm install run: npm install --ignore-scripts --force --package-lock-only --engine-strict --strict-peer-deps - name: Check that package-lock.json is in sync with package.json run: git diff --exit-code package-lock.json codeql: name: Run CodeQL security scan runs-on: ubuntu-latest permissions: contents: read # for actions/checkout security-events: write # for codeql-action steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Initialize CodeQL uses: github/codeql-action/init@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 with: languages: 'javascript, typescript' # TODO: add c-cpp queries: security-and-quality - name: Perform CodeQL analysis uses: github/codeql-action/analyze@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 buildDemo: name: Build Demo runs-on: ubuntu-latest permissions: contents: read # for actions/checkout steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: cache: npm node-version-file: 'package.json' - name: Install Dependencies run: npm ci --ignore-scripts - name: Build demo run: npm run build:demo - name: Upload demo-dist folder uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1 with: name: demoDist path: ./demo-dist buildRelease: name: Build release runs-on: ubuntu-latest permissions: contents: read # for actions/checkout steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: cache: npm node-version-file: 'package.json' - name: Install Dependencies run: npm ci --ignore-scripts - name: Build release run: npm run build:release - name: Upload npm folder uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: npmDist path: | ./ !./node_modules ================================================ FILE: .github/workflows/publish.yml ================================================ name: Publish to NPM on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+*' permissions: {} jobs: ci: permissions: contents: read # for actions/checkout security-events: write # for codeql-action uses: ./.github/workflows/ci.yml changelog: permissions: contents: read # for actions/checkout uses: ./.github/workflows/changelog.yml npm-publish: environment: name: npm-publish url: https://www.npmjs.com/package/graphql-voyager/v/${{github.ref_name}} needs: - ci - changelog permissions: contents: read # for actions/checkout runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: cache: npm node-version-file: 'package.json' # 'registry-url' is required for 'npm publish' registry-url: 'https://registry.npmjs.org' - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: npmDist path: npmDist - name: Publish package on NPM run: npm publish ./npmDist env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} ================================================ FILE: .github/workflows/pull_request.yml ================================================ name: PullRequest on: pull_request permissions: {} jobs: ci: permissions: contents: read # for actions/checkout security-events: write # for codeql-action uses: ./.github/workflows/ci.yml dependency-review: name: Security check of added dependencies runs-on: ubuntu-latest permissions: contents: read # for actions/checkout pull-requests: write # for actions/dependency-review-action to publish summary steps: - name: Checkout repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Dependency review uses: actions/dependency-review-action@da24556b548a50705dd671f47852072ea4c105d9 # v4.7.1 with: comment-summary-in-pr: always ================================================ FILE: .github/workflows/push.yml ================================================ name: Push on: push permissions: {} jobs: ci: permissions: contents: read # for actions/checkout security-events: write # for codeql-action uses: ./.github/workflows/ci.yml changelog: permissions: contents: read # for actions/checkout uses: ./.github/workflows/changelog.yml deploy-to-gh-pages: name: Deploy to GitHub Pages needs: ci if: github.ref == 'refs/heads/main' environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest permissions: pages: write # for actions/deploy-pages id-token: write # for actions/deploy-pages steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5 with: artifact_name: demoDist ================================================ FILE: .github/workflows/scorecard.yml ================================================ name: Scorecard supply-chain security on: # For Branch-Protection check. Only the default branch is supported. See # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection branch_protection_rule: # To guarantee Maintained check is occasionally updated. See # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained schedule: - cron: '24 13 * * 6' push: branches: ['main'] permissions: read-all jobs: analysis: name: Scorecard analysis runs-on: ubuntu-latest permissions: contents: read # for actions/checkout actions: read security-events: write # to upload the results to code-scanning dashboard id-token: write # to publish results and get a badge (see publish_results below) steps: - name: 'Checkout code' uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: 'Run analysis' uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2 with: results_file: results.sarif results_format: sarif publish_results: true - name: 'Upload artifact' uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: SARIF file path: results.sarif retention-days: 5 - name: "Upload to GitHub's code-scanning dashboard" uses: github/codeql-action/upload-sarif@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 with: sarif_file: results.sarif ================================================ FILE: .gitignore ================================================ # This .gitignore only ignores files specific to this repository. # If you see other files generated by your OS or tools you use, consider # creating a global .gitignore file. # # https://help.github.com/articles/ignoring-files/#create-a-global-gitignore # https://www.gitignore.io/ /.eslintcache /.cspellcache /node_modules /dist /demo-dist /middleware /typings /test-results /playwright-report /graphql-voyager-*.tgz ================================================ FILE: .npmignore ================================================ * !dist/** !typings/** !package.json ================================================ FILE: .prettierrc ================================================ { "singleQuote": true, "overrides": [ { "files": "*.svg", "options": { "parser": "html" } } ] } ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) IvanGoncharov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # GraphQL Voyager ![graphql-voyager logo](./docs/cover.png) Represent any GraphQL API as an interactive graph. It's time to finally see **the graph** behind GraphQL. You can also explore number of public GraphQL APIs from [our list](https://github.com/APIs-guru/graphql-apis). > With graphql-voyager you can visually explore your GraphQL API as an interactive graph. This is a great tool when designing or discussing your data model. It includes multiple example GraphQL schemas and also allows you to connect it to your own GraphQL endpoint. What are you waiting for, explore your API! _[GraphQL Weekly #42](https://graphqlweekly.com/issues/42)_ ## [Live Demo](https://apis.guru/graphql-voyager/) [![voyager demo](./docs/demo-gif.gif)](https://apis.guru/graphql-voyager/) ## Features - Quick navigation on graph - Left panel which provides more detailed information about every type - "Skip Relay" option that simplifies graph by removing Relay wrapper classes - Ability to choose any type to be a root of the graph ## API GraphQL Voyager exports `Voyager` React component and helper `init` function. If used without module system it is exported as `GraphQLVoyager` global variable. ### Properties `Voyager` component accepts the following properties: - `introspection` [`object`] - the server introspection response. If `function` is provided GraphQL Voyager will pass introspection query as a first function parameter. Function should return `Promise` which resolves to introspection response object. - `displayOptions` _(optional)_ - `displayOptions.skipRelay` [`boolean`, default `true`] - skip relay-related entities - `displayOptions.skipDeprecated` [`boolean`, default `true`] - skip deprecated fields and entities that contain only deprecated fields. - `displayOptions.rootType` [`string`] - name of the type to be used as a root - `displayOptions.sortByAlphabet` [`boolean`, default `false`] - sort fields on graph by alphabet - `displayOptions.showLeafFields` [`boolean`, default `true`] - show all scalars and enums - `displayOptions.hideRoot` [`boolean`, default `false`] - hide the root type - `allowToChangeSchema` [`boolean`, default `false`] - allow users to change schema - `hideDocs` [`boolean`, default `false`] - hide the docs sidebar - `hideSettings` [`boolean`, default `false`] - hide settings panel - `hideVoyagerLogo` [`boolean`, default `true`] - hide voyager logo ## Using pre-bundled version You can get GraphQL Voyager bundle from the following places: - [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/graphql-voyager/badge)](https://www.jsdelivr.com/package/npm/graphql-voyager) - some exact version - https://cdn.jsdelivr.net/npm/graphql-voyager@1.3/dist/voyager.standalone.js - latest version - https://cdn.jsdelivr.net/npm/graphql-voyager/dist/voyager.standalone.js - from `dist` folder of the npm package `graphql-voyager` **Note: `voyager.standalone.js` is bundled with react, so you just need to call `renderVoyager` function that's it.** ### [HTML example](./example/cdn) ## Using as a dependency Build for the web with [webpack](https://webpack.js.org/), or any other bundle. ### [Webpack example](./example/webpack) ## Middleware GraphQL Voyager has middleware for the next frameworks: ### Properties Middleware supports the following properties: - `endpointUrl` [`string`] - the GraphQL endpoint url. - `displayOptions` [`object`] - same as [here](#properties) - `headersJS` [`string`, default `"{}"`] - object of headers serialized in string to be used on endpoint url
**Note:** You can also use any JS expression which results in an object with header names as keys and strings as values e.g. `{ Authorization: localStorage['Meteor.loginToken'] }` ### Express ```js import express from 'express'; import { express as voyagerMiddleware } from 'graphql-voyager/middleware'; const app = express(); app.use('/voyager', voyagerMiddleware({ endpointUrl: '/graphql' })); app.listen(3001); ``` ### Hapi #### Version 20+ ```js import Hapi from '@hapi/hapi'; import { hapi as voyagerMiddleware } from 'graphql-voyager/middleware'; const server = new Hapi.Server({ port: 3001, }); const init = async () => { await server.register({ plugin: voyagerMiddleware, options: { path: '/voyager', endpointUrl: '/graphql', }, }); await server.start(); }; init(); ``` ### Koa ```js import Koa from 'koa'; import KoaRouter from 'koa-router'; import { koa as voyagerMiddleware } from 'graphql-voyager/middleware'; const app = new Koa(); const router = new KoaRouter(); router.all( '/voyager', voyagerMiddleware({ endpointUrl: '/graphql', }), ); app.use(router.routes()); app.use(router.allowedMethods()); app.listen(3001); ``` ## Credits This tool is inspired by [graphql-visualizer](https://github.com/NathanRSmith/graphql-visualizer) project. This project is tested with BrowserStack. ================================================ FILE: cspell.yml ================================================ language: en useGitignore: true validateDirectives: true ignorePaths: # Excluded from spelling check - cspell.yml - package.json - demo/presets - tests/*-snapshots/ dictionaries: - html overrides: - filename: '**/*.svg' dictionaries: - css - filename: 'tests/*.ts' words: - pageerror - requestfailed words: - tailport - dotviz - graphviz - svgr - reactroot # FIXME https://github.com/facebook/react/issues/10971 - zoomer # FIXME - typelist # FIXME - positionals - fontname - rankdir - asynciterable - commonmark - swapi - cssnext - ranksep - CELLBORDER - QLID # GraphQLID - Goncharov - octo - octocat - pageview - jsdelivr - GraphiQL ================================================ FILE: demo/index.html ================================================ GraphQL Voyager

Loading...

Best served on bigger screen sizes

This tool presents complex graphs. Use it on bigger screen size for better experience GOT IT
================================================ FILE: demo/presets/github_introspection.json ================================================ { "data": { "__schema": { "queryType": { "name": "Query" }, "mutationType": { "name": "Mutation" }, "subscriptionType": null, "types": [ { "kind": "ENUM", "name": "DeploymentState", "description": "The possible deployment states.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "PENDING", "description": "The deployment is pending.", "isDeprecated": false, "deprecationReason": null }, { "name": "SUCCESS", "description": "The deployment was successful.", "isDeprecated": false, "deprecationReason": null }, { "name": "FAILURE", "description": "The deployment has failed.", "isDeprecated": false, "deprecationReason": null }, { "name": "INACTIVE", "description": "The deployment is inactive.", "isDeprecated": false, "deprecationReason": null }, { "name": "ERROR", "description": "The deployment experienced an error.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "IssueEventType", "description": "The possible issue event types.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "ASSIGNED", "description": "The issue was assigned to the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "BASE_REF_FORCE_PUSHED", "description": "The base branch was force pushed by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "CLOSED", "description": "The issue was closed by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "DEMILESTONED", "description": "The issue had a milestone removed from it.", "isDeprecated": false, "deprecationReason": null }, { "name": "DEPLOYED", "description": "The branch was deployed by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "HEAD_REF_DELETED", "description": "The head branch was deleted by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "HEAD_REF_FORCE_PUSHED", "description": "The head branch was force pushed by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "HEAD_REF_RESTORED", "description": "The head branch was restored by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "LABELED", "description": "A label was added to the issue.", "isDeprecated": false, "deprecationReason": null }, { "name": "LOCKED", "description": "The issue was locked by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "MENTIONED", "description": "The pull request or issue was mentioned by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "MERGED", "description": "The issue was merged by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "MILESTONED", "description": "The issue had a milestone added to it.", "isDeprecated": false, "deprecationReason": null }, { "name": "REFERENCED", "description": "The issue was referenced from a commit message.", "isDeprecated": false, "deprecationReason": null }, { "name": "RENAMED", "description": "The issue's title was changed.", "isDeprecated": false, "deprecationReason": null }, { "name": "REOPENED", "description": "The issue was reopened by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "REVIEW_REQUESTED", "description": "The actor requested review from the subject.", "isDeprecated": false, "deprecationReason": null }, { "name": "REVIEW_REQUEST_REMOVED", "description": "The actor removed the review request for the subject.", "isDeprecated": false, "deprecationReason": null }, { "name": "REVIEW_DISMISSED", "description": "The review was dismissed by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "SUBSCRIBED", "description": "The pull request or issue was subscribed to by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNASSIGNED", "description": "The issue was unassigned to the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNLABELED", "description": "A label was removed from the issue.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNLOCKED", "description": "The issue was unlocked by the actor.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNSUBSCRIBED", "description": "The pull request or issue was unsubscribed from by the actor.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "ReactionOrderField", "description": "A list of fields that reactions can be ordered by.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "CREATED_AT", "description": "Allows ordering a list of reactions by when they were created.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "INTERFACE", "name": "IssueEvent", "description": "Represents an issue event.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "AssignedEvent", "ofType": null }, { "kind": "OBJECT", "name": "BaseRefForcePushedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ClosedEvent", "ofType": null }, { "kind": "OBJECT", "name": "DemilestonedEvent", "ofType": null }, { "kind": "OBJECT", "name": "DeployedEvent", "ofType": null }, { "kind": "OBJECT", "name": "HeadRefDeletedEvent", "ofType": null }, { "kind": "OBJECT", "name": "HeadRefForcePushedEvent", "ofType": null }, { "kind": "OBJECT", "name": "HeadRefRestoredEvent", "ofType": null }, { "kind": "OBJECT", "name": "LabeledEvent", "ofType": null }, { "kind": "OBJECT", "name": "LockedEvent", "ofType": null }, { "kind": "OBJECT", "name": "MentionedEvent", "ofType": null }, { "kind": "OBJECT", "name": "MergedEvent", "ofType": null }, { "kind": "OBJECT", "name": "MilestonedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReferencedEvent", "ofType": null }, { "kind": "OBJECT", "name": "RenamedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReopenedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReviewDismissedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReviewRequestRemovedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReviewRequestedEvent", "ofType": null }, { "kind": "OBJECT", "name": "SubscribedEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnassignedEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnlabeledEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnlockedEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnsubscribedEvent", "ofType": null } ] }, { "kind": "OBJECT", "name": "Issue", "description": "An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project.", "fields": [ { "name": "assignees", "description": "A list of Users assigned to the Issue.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "author", "description": "Identifies the author of the issue.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "body", "description": "Identifies the body of the issue.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "Identifies the body of the issue rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyText", "description": "Identifies the body of the issue rendered to text.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "comments", "description": "A list of comments associated with the Issue.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueCommentConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdViaEmail", "description": "Check if this comment was created via an email reply.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "editor", "description": "The user who edited the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "labels", "description": "A list of labels associated with the Issue or Pull Request.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "LabelConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastEditedAt", "description": "The moment the editor made the last edit", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "liveReactionUpdatesEnabled", "description": "Are reaction live updates enabled for this subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "milestone", "description": "Identifies the milestone associated with the issue.", "args": [], "type": { "kind": "OBJECT", "name": "Milestone", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "number", "description": "Identifies the issue number.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "participants", "description": "A list of Users that are participating in the Issue's conversation.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this issue", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionGroups", "description": "A list of reactions grouped by content left on the subject.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionGroup", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactions", "description": "A list of Reactions left on the Issue.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "content", "description": "Allows filtering Reactions by emoji.", "type": { "kind": "ENUM", "name": "ReactionContent", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Allows specifying the order in which reactions are returned.", "type": { "kind": "INPUT_OBJECT", "name": "ReactionOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionsWebsocket", "description": "The websocket channel ID for reaction live updates.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the issue.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "Identifies the state of the issue.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "timeline", "description": "A list of events associated with an Issue or PullRequest.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "since", "description": "Allows filtering timeline events by a `since` timestamp.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueTimelineConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "Identifies the issue title.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this issue", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanDelete", "description": "Check if the current viewer can delete this issue.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanEdit", "description": "Check if the current viewer edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanReact", "description": "Can user react to this subject", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCannotEditReasons", "description": "Errors why the current viewer can not edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CommentCannotEditReason", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerDidAuthor", "description": "Did the viewer author this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "websocket", "description": "The websocket channel ID for live updates.", "args": [ { "name": "channel", "description": "The channel to use.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssuePubSubTopic", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "Comment", "ofType": null }, { "kind": "INTERFACE", "name": "Issueish", "ofType": null }, { "kind": "INTERFACE", "name": "Reactable", "ofType": null }, { "kind": "INTERFACE", "name": "RepositoryNode", "ofType": null }, { "kind": "INTERFACE", "name": "Timeline", "ofType": null }, { "kind": "INTERFACE", "name": "UniformResourceLocatable", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "ID", "description": "Represents a unique identifier that is Base64 obfuscated. It is 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 `\"VXNlci0xMA==\"`) or integer (such as `4`) input value will be accepted as an ID.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "User", "description": "A user is an individual's account on GitHub that owns repositories and can make new content.", "fields": [ { "name": "avatarURL", "description": "A URL pointing to the user's public avatar.", "args": [ { "name": "size", "description": "The size of the resulting square image.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bio", "description": "The user's public profile bio.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "bioHTML", "description": "The user's public profile bio as HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "company", "description": "The user's public profile company.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "companyHTML", "description": "The user's public profile company as HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "contributedRepositories", "description": "A list of repositories that the user recently contributed to.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "RepositoryConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "email", "description": "The user's public profile email.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "followers", "description": "A list of users the given user is followed by.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "following", "description": "A list of users the given user is following.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "gist", "description": "Find gist by repo name.", "args": [ { "name": "name", "description": "The gist name to find.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Gist", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "gists", "description": "A list of the Gists the user has created.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "visibility", "description": "Allows filtering by gist visibility.", "type": { "kind": "ENUM", "name": "GistVisibility", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "GistConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isBountyHunter", "description": "Whether or not this user is a participant in the GitHub Security Bug Bounty.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isDeveloperProgramMember", "description": "Whether or not this user is a GitHub Developer Program member.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isEmployee", "description": "Whether or not this user is a GitHub employee.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isHireable", "description": "Whether or not the user has marked themselves as for hire.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isSiteAdmin", "description": "Whether or not this user is a site administrator.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isViewer", "description": "Whether or not this user is the viewing user.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "location", "description": "The user's public profile location.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "login", "description": "The username used to login.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The user's public profile name.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "organizations", "description": "A list of organizations the user belongs to.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "OrganizationConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this user", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pinnedRepositories", "description": "A list of repositories this user has pinned to their profile", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "RepositoryConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequests", "description": "A list of pull requests assocated with this user.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repositories", "description": "A list of repositories that the user owns.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "privacy", "description": "If non-null, filters repositories according to privacy", "type": { "kind": "ENUM", "name": "RepositoryPrivacy", "ofType": null }, "defaultValue": null }, { "name": "isFork", "description": "If non-null, filters repositories according to whether they are forks of another repository", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Ordering options for repositories returned from the connection", "type": { "kind": "INPUT_OBJECT", "name": "RepositoryOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "RepositoryConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Find Repository.", "args": [ { "name": "name", "description": "Name of Repository to find.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Repository", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "starredRepositories", "description": "Repositories the user has starred.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "ownedByViewer", "description": "Filters starred repositories to only return repositories owned by the viewer.", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Order for connection", "type": { "kind": "INPUT_OBJECT", "name": "StarOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "StarredRepositoryConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this user", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanFollow", "description": "Whether or not the viewer is able to follow the user.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerIsFollowing", "description": "Whether or not this user is followed by the viewer.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "watching", "description": "A list of repositories the given user is watching.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "RepositoryConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "websiteURL", "description": "A URL pointing to the user's public website/blog.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "RepositoryOwner", "ofType": null }, { "kind": "INTERFACE", "name": "UniformResourceLocatable", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "String", "description": "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Repository", "description": "A repository contains the content for a project.", "fields": [ { "name": "commitComments", "description": "A list of commit comments associated with the repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CommitCommentConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "description", "description": "The description of the repository.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "descriptionHTML", "description": "The description of the repository rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "diskUsage", "description": "The number of kilobytes this repository occupies on disk.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "forks", "description": "A list of child repositories.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Ordering options for repositories returned from the connection", "type": { "kind": "INPUT_OBJECT", "name": "RepositoryOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "RepositoryConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasIssuesEnabled", "description": "Indicates if the repository has issues feature enabled.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasWikiEnabled", "description": "Indicates if the repository has wiki feature enabled.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "homepageURL", "description": "The repository's URL.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isFork", "description": "Identifies if the repository is a fork.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isLocked", "description": "Indicates if the repository has been locked or not.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isMirror", "description": "Identifies if the repository is a mirror.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isPrivate", "description": "Identifies if the repository is private.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Returns a single issue from the current repository by number.", "args": [ { "name": "number", "description": "The number for the issue to be returned.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Issue", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "issueish", "description": "Returns a single issue-like object from the current repository by number.", "args": [ { "name": "number", "description": "The number for the issue to be returned.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "INTERFACE", "name": "Issueish", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "issues", "description": "A list of issues that have been opened in the repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "states", "description": "A list of states to filter the issues by.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueState", "ofType": null } } }, "defaultValue": null }, { "name": "labels", "description": "A list of label names to filter the issues by.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "label", "description": "Returns a single label by name", "args": [ { "name": "name", "description": "Label name", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Label", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "labels", "description": "A list of labels associated with the repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "LabelConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "languages", "description": "A list containing a breakdown of the language composition of the repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Order for connection", "type": { "kind": "INPUT_OBJECT", "name": "LanguageOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "LanguageConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "license", "description": "The license associated with the repository", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "lockReason", "description": "The reason the repository has been locked.", "args": [], "type": { "kind": "ENUM", "name": "RepositoryLockReason", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "mentionableUsers", "description": "A list of Users that can be mentioned in the context of the repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "milestone", "description": "Returns a single milestone from the current repository by number.", "args": [ { "name": "number", "description": "The number for the milestone to be returned.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Milestone", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "milestones", "description": "A list of milestones associated with the repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "MilestoneConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "mirrorURL", "description": "The repository's original mirror URL.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The name of the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "object", "description": "A Git object in the repository", "args": [ { "name": "oid", "description": "The Git object ID", "type": { "kind": "SCALAR", "name": "GitObjectID", "ofType": null }, "defaultValue": null }, { "name": "expression", "description": "A Git revision expression suitable for rev-parse", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "INTERFACE", "name": "GitObject", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "owner", "description": "The User owner of the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "RepositoryOwner", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "parent", "description": "The repository parent, if this is a fork.", "args": [], "type": { "kind": "OBJECT", "name": "Repository", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this repository", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "primaryLanguage", "description": "The primary language of the repository's code.", "args": [], "type": { "kind": "OBJECT", "name": "Language", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "project", "description": "Find project by number.", "args": [ { "name": "number", "description": "The project number to find.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Project", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "projects", "description": "A list of projects under the owner.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Ordering options for projects returned from the connection", "type": { "kind": "INPUT_OBJECT", "name": "ProjectOrder", "ofType": null }, "defaultValue": null }, { "name": "search", "description": "Query to search projects by, currently only searching by name.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectsPath", "description": "The HTTP path listing repository's projects", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectsUrl", "description": "The HTTP url listing repository's projects", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequest", "description": "Returns a single pull request from the current repository by number.", "args": [ { "name": "number", "description": "The number for the pull request to be returned.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PullRequest", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequests", "description": "A list of pull requests that have been opened in the repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "states", "description": "A list of states to filter the pull requests by.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "PullRequestState", "ofType": null } } }, "defaultValue": null }, { "name": "labels", "description": "A list of label names to filter the pull requests by.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } } }, "defaultValue": null }, { "name": "headRefName", "description": "The head ref name to filter the pull requests by.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "baseRefName", "description": "The base ref name to filter the pull requests by.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pushedAt", "description": "Identifies when the repository was last pushed to.", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "ref", "description": "Fetch a given ref from the repository", "args": [ { "name": "qualifiedName", "description": "The ref to retrieve.Fully qualified matches are checked in order (`refs/heads/master`) before falling back onto checks for short name matches (`master`).", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "refs", "description": "Fetch a list of refs from the repository", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "refPrefix", "description": "A ref name prefix like `refs/heads/`, `refs/tags/`, etc.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "direction", "description": "The ordering direction.", "type": { "kind": "ENUM", "name": "OrderDirection", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "RefConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "releases", "description": "List of releases which are dependent on this repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReleaseConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "stargazers", "description": "A list of users who have starred this repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Order for connection", "type": { "kind": "INPUT_OBJECT", "name": "StarOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "StargazerConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this repository", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanCreateProjects", "description": "Can the current viewer create new projects on this owner.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanSubscribe", "description": "Check if the viewer is able to change their subscription status for the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerHasStarred", "description": "Returns a boolean indicating whether the viewing user has starred this repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerSubscription", "description": "Identifies if the viewer is watching, not watching, or ignoring the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "SubscriptionState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "watchers", "description": "A list of users watching the repository.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "ProjectOwner", "ofType": null }, { "kind": "INTERFACE", "name": "Subscribable", "ofType": null }, { "kind": "INTERFACE", "name": "UniformResourceLocatable", "ofType": null }, { "kind": "INTERFACE", "name": "RepositoryInfo", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Project", "description": "Projects manage issues, pull requests and notes within a project owner.", "fields": [ { "name": "body", "description": "The project's description body.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "The projects description body rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "columns", "description": "List of columns in the project", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectColumnConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "creator", "description": "The user that originally created the project.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The project's name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "number", "description": "The project's number.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "owner", "description": "The project's owner. Currently limited to repositories and organizations.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "ProjectOwner", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this project", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this project", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanEdit", "description": "Can the current viewer edit this project.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Int", "description": "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "DateTime", "description": "An ISO-8601 encoded UTC date string.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "URI", "description": "An RFC 3986, RFC 3987, and RFC 6570 (level 4) compliant URI string.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "HTML", "description": "A string containing HTML code.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Boolean", "description": "Represents `true` or `false` values.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "INTERFACE", "name": "ProjectOwner", "description": "Represents an owner of a Project.", "fields": [ { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "project", "description": "Find project by number.", "args": [ { "name": "number", "description": "The project number to find.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Project", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "projects", "description": "A list of projects under the owner.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Ordering options for projects returned from the connection", "type": { "kind": "INPUT_OBJECT", "name": "ProjectOrder", "ofType": null }, "defaultValue": null }, { "name": "search", "description": "Query to search projects by, currently only searching by name.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectsPath", "description": "The HTTP path listing owners projects", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectsUrl", "description": "The HTTP url listing owners projects", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanCreateProjects", "description": "Can the current viewer create new projects on this owner.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Organization", "ofType": null }, { "kind": "OBJECT", "name": "Repository", "ofType": null } ] }, { "kind": "OBJECT", "name": "ProjectConnection", "description": "The connection type for Project.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Project", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProjectEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Project", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PageInfo", "description": "Information about pagination in a connection.", "fields": [ { "name": "endCursor", "description": "When paginating forwards, the cursor to continue", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasNextPage", "description": "Indicates if there are more pages to fetch", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasPreviousPage", "description": "Indicates if there are any pages prior to the current page", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "startCursor", "description": "When paginating backwards, the cursor to continue", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "ProjectOrder", "description": "Ways in which lists of projects can be ordered upon return.", "fields": null, "inputFields": [ { "name": "field", "description": "The field in which to order projects by.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "ProjectOrderField", "ofType": null } }, "defaultValue": null }, { "name": "direction", "description": "The direction in which to order projects by the specified field.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "OrderDirection", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "ProjectOrderField", "description": "Properties by which project connections can be ordered.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "CREATED_AT", "description": "Order projects by creation time", "isDeprecated": false, "deprecationReason": null }, { "name": "UPDATED_AT", "description": "Order projects by update time", "isDeprecated": false, "deprecationReason": null }, { "name": "NAME", "description": "Order projects by name", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "OrderDirection", "description": "Possible directions in which to order a list of items when provided an `orderBy` argument.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "ASC", "description": "Specifies an ascending order for a given `orderBy` argument.", "isDeprecated": false, "deprecationReason": null }, { "name": "DESC", "description": "Specifies a descending order for a given `orderBy` argument.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "ProjectColumnConnection", "description": "The connection type for ProjectColumn.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectColumnEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectColumn", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProjectColumnEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "ProjectColumn", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProjectColumn", "description": "A column inside a project.", "fields": [ { "name": "cards", "description": "List of cards in the column", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectCardConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The project column's name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "project", "description": "The project that contains this column.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Project", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProjectCardConnection", "description": "The connection type for ProjectCard.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectCardEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectCard", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProjectCardEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "ProjectCard", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProjectCard", "description": "A card in a project.", "fields": [ { "name": "content", "description": "The card content item", "args": [], "type": { "kind": "UNION", "name": "ProjectCardItem", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "creator", "description": "The user who created this card", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "note", "description": "The card note", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectColumn", "description": "The column that contains this card.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectColumn", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "The state of ProjectCard", "args": [], "type": { "kind": "ENUM", "name": "ProjectCardState", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "ProjectCardState", "description": "Various content states of a ProjectCard", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "CONTENT_ONLY", "description": "The card has content only.", "isDeprecated": false, "deprecationReason": null }, { "name": "NOTE_ONLY", "description": "The card has a note only.", "isDeprecated": false, "deprecationReason": null }, { "name": "REDACTED", "description": "The card is redacted.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "UNION", "name": "ProjectCardItem", "description": "Types that can be inside Project Cards.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Issue", "ofType": null }, { "kind": "OBJECT", "name": "PullRequest", "ofType": null } ] }, { "kind": "OBJECT", "name": "PullRequest", "description": "A repository pull request.", "fields": [ { "name": "author", "description": "The user associated with this pull request.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "baseRef", "description": "Identifies the base Ref associated with the pull request.", "args": [], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "baseRefName", "description": "Identifies the name of the base Ref associated with the pull request, even if the ref has been deleted.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "body", "description": "Identifies the body of the pull request.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "Identifies the body of the pull request rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyText", "description": "Identifies the body of the pull request rendered to text.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "comments", "description": "A list of comments associated with the pull request.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueCommentConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commits", "description": "A list of commits present in this pull request's head branch not present in the base branch.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CommitConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdViaEmail", "description": "Check if this comment was created via an email reply.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "editor", "description": "The user who edited this pull request's body.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "headRef", "description": "Identifies the head Ref associated with the pull request.", "args": [], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "headRefName", "description": "Identifies the name of the head Ref associated with the pull request, even if the ref has been deleted.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "labels", "description": "A list of labels associated with the Issue or Pull Request.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "LabelConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastEditedAt", "description": "The moment the editor made the last edit", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "liveReactionUpdatesEnabled", "description": "Are reaction live updates enabled for this subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "mergeCommit", "description": "The commit that was created when this pull request was merged.", "args": [], "type": { "kind": "OBJECT", "name": "Commit", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "number", "description": "Identifies the pull request number.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this issue", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionGroups", "description": "A list of reactions grouped by content left on the subject.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionGroup", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactions", "description": "A list of Reactions left on the Issue.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "content", "description": "Allows filtering Reactions by emoji.", "type": { "kind": "ENUM", "name": "ReactionContent", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Allows specifying the order in which reactions are returned.", "type": { "kind": "INPUT_OBJECT", "name": "ReactionOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionsWebsocket", "description": "The websocket channel ID for reaction live updates.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The repository associated with this pull request.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reviewRequests", "description": "A list of review requests associated with the pull request.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "ReviewRequestConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "reviews", "description": "A list of reviews associated with the pull request.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "states", "description": "A list of states to filter the reviews.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "PullRequestReviewState", "ofType": null } } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PullRequestReviewConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "Identifies the state of the pull request.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "PullRequestState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "timeline", "description": "A list of events associated with an Issue or PullRequest.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "since", "description": "Allows filtering timeline events by a `since` timestamp.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueTimelineConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "Identifies the pull request title.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this issue", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanDelete", "description": "Check if the current viewer can delete this issue.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanEdit", "description": "Check if the current viewer edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanReact", "description": "Can user react to this subject", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCannotEditReasons", "description": "Errors why the current viewer can not edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CommentCannotEditReason", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerDidAuthor", "description": "Did the viewer author this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "websocket", "description": "The websocket channel ID for live updates.", "args": [ { "name": "channel", "description": "The channel to use.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "PullRequestPubSubTopic", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "Comment", "ofType": null }, { "kind": "INTERFACE", "name": "Issueish", "ofType": null }, { "kind": "INTERFACE", "name": "Reactable", "ofType": null }, { "kind": "INTERFACE", "name": "RepositoryNode", "ofType": null }, { "kind": "INTERFACE", "name": "Timeline", "ofType": null }, { "kind": "INTERFACE", "name": "UniformResourceLocatable", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "CommentCannotEditReason", "description": "The possible errors that will prevent a user from editting a comment.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "INSUFFICIENT_ACCESS", "description": "You must be the author or have write access to this repository to edit this comment.", "isDeprecated": false, "deprecationReason": null }, { "name": "LOCKED", "description": "Unable to create comment because issue is locked.", "isDeprecated": false, "deprecationReason": null }, { "name": "LOGIN_REQUIRED", "description": "You must be logged in to edit this comment.", "isDeprecated": false, "deprecationReason": null }, { "name": "MAINTENANCE", "description": "Repository is under maintenance.", "isDeprecated": false, "deprecationReason": null }, { "name": "VERIFIED_EMAIL_REQUIRED", "description": "At least one email address must be verified to edit this comment.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "LabelConnection", "description": "The connection type for Label.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "LabelEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Label", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "LabelEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Label", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Label", "description": "A label for categorizing Issues or Milestones with a given Repository.", "fields": [ { "name": "color", "description": "Identifies the label color.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issues", "description": "A list of issues associated with this label.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "IssueConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "Identifies the label name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequests", "description": "A list of pull requests associated with this label.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PullRequestConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The repository associated with this label.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "IssueConnection", "description": "The connection type for Issue.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "IssueEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Issue", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PullRequestConnection", "description": "The connection type for PullRequest.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequest", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PullRequestEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "PullRequest", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INTERFACE", "name": "Node", "description": "An object with an ID.", "fields": [ { "name": "id", "description": "ID of the object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "AssignedEvent", "ofType": null }, { "kind": "OBJECT", "name": "BaseRefForcePushedEvent", "ofType": null }, { "kind": "OBJECT", "name": "Blob", "ofType": null }, { "kind": "OBJECT", "name": "ClosedEvent", "ofType": null }, { "kind": "OBJECT", "name": "Commit", "ofType": null }, { "kind": "OBJECT", "name": "CommitComment", "ofType": null }, { "kind": "OBJECT", "name": "DemilestonedEvent", "ofType": null }, { "kind": "OBJECT", "name": "DeployedEvent", "ofType": null }, { "kind": "OBJECT", "name": "Deployment", "ofType": null }, { "kind": "OBJECT", "name": "DeploymentStatus", "ofType": null }, { "kind": "OBJECT", "name": "Gist", "ofType": null }, { "kind": "OBJECT", "name": "GistComment", "ofType": null }, { "kind": "OBJECT", "name": "HeadRefDeletedEvent", "ofType": null }, { "kind": "OBJECT", "name": "HeadRefForcePushedEvent", "ofType": null }, { "kind": "OBJECT", "name": "HeadRefRestoredEvent", "ofType": null }, { "kind": "OBJECT", "name": "Issue", "ofType": null }, { "kind": "OBJECT", "name": "IssueComment", "ofType": null }, { "kind": "OBJECT", "name": "Label", "ofType": null }, { "kind": "OBJECT", "name": "LabeledEvent", "ofType": null }, { "kind": "OBJECT", "name": "Language", "ofType": null }, { "kind": "OBJECT", "name": "LockedEvent", "ofType": null }, { "kind": "OBJECT", "name": "MentionedEvent", "ofType": null }, { "kind": "OBJECT", "name": "MergedEvent", "ofType": null }, { "kind": "OBJECT", "name": "Milestone", "ofType": null }, { "kind": "OBJECT", "name": "MilestonedEvent", "ofType": null }, { "kind": "OBJECT", "name": "Organization", "ofType": null }, { "kind": "OBJECT", "name": "Project", "ofType": null }, { "kind": "OBJECT", "name": "ProjectCard", "ofType": null }, { "kind": "OBJECT", "name": "ProjectColumn", "ofType": null }, { "kind": "OBJECT", "name": "PullRequest", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReviewComment", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReviewThread", "ofType": null }, { "kind": "OBJECT", "name": "Reaction", "ofType": null }, { "kind": "OBJECT", "name": "Ref", "ofType": null }, { "kind": "OBJECT", "name": "ReferencedEvent", "ofType": null }, { "kind": "OBJECT", "name": "Release", "ofType": null }, { "kind": "OBJECT", "name": "ReleaseAsset", "ofType": null }, { "kind": "OBJECT", "name": "RenamedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReopenedEvent", "ofType": null }, { "kind": "OBJECT", "name": "Repository", "ofType": null }, { "kind": "OBJECT", "name": "RepositoryInvitation", "ofType": null }, { "kind": "OBJECT", "name": "ReviewDismissedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReviewRequest", "ofType": null }, { "kind": "OBJECT", "name": "ReviewRequestRemovedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReviewRequestedEvent", "ofType": null }, { "kind": "OBJECT", "name": "Status", "ofType": null }, { "kind": "OBJECT", "name": "StatusContext", "ofType": null }, { "kind": "OBJECT", "name": "SubscribedEvent", "ofType": null }, { "kind": "OBJECT", "name": "Tag", "ofType": null }, { "kind": "OBJECT", "name": "Team", "ofType": null }, { "kind": "OBJECT", "name": "Tree", "ofType": null }, { "kind": "OBJECT", "name": "UnassignedEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnlabeledEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnlockedEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnsubscribedEvent", "ofType": null }, { "kind": "OBJECT", "name": "User", "ofType": null } ] }, { "kind": "OBJECT", "name": "ReactionGroup", "description": "A group of emoji reactions to a particular piece of content.", "fields": [ { "name": "content", "description": "Identifies the emoji reaction.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "ReactionContent", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies when the reaction was created.", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "subject", "description": "The subject that was reacted to.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "Reactable", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "users", "description": "Users who have reacted to the reaction subject with the emotion represented by this reaction group", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactingUserConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerHasReacted", "description": "Whether or not the authenticated user has left a reaction on the subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "ReactionContent", "description": "Emojis that can be attached to Issues, Pull Requests and Comments.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "THUMBS_UP", "description": "Represents the 👍 emoji.", "isDeprecated": false, "deprecationReason": null }, { "name": "THUMBS_DOWN", "description": "Represents the 👎 emoji.", "isDeprecated": false, "deprecationReason": null }, { "name": "LAUGH", "description": "Represents the 😄 emoji.", "isDeprecated": false, "deprecationReason": null }, { "name": "HOORAY", "description": "Represents the 🎉 emoji.", "isDeprecated": false, "deprecationReason": null }, { "name": "CONFUSED", "description": "Represents the 😕 emoji.", "isDeprecated": false, "deprecationReason": null }, { "name": "HEART", "description": "Represents the ❤️ emoji.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "INTERFACE", "name": "Reactable", "description": "Represents a subject that can be reacted on.", "fields": [ { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "liveReactionUpdatesEnabled", "description": "Are reaction live updates enabled for this subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionGroups", "description": "A list of reactions grouped by content left on the subject.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionGroup", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactions", "description": "A list of Reactions left on the Issue.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "content", "description": "Allows filtering Reactions by emoji.", "type": { "kind": "ENUM", "name": "ReactionContent", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Allows specifying the order in which reactions are returned.", "type": { "kind": "INPUT_OBJECT", "name": "ReactionOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionsWebsocket", "description": "The websocket channel ID for reaction live updates.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The repository associated with this reaction subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Future reaction subjects may not be scoped under repositories." }, { "name": "viewerCanReact", "description": "Can user react to this subject", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "CommitComment", "ofType": null }, { "kind": "OBJECT", "name": "Issue", "ofType": null }, { "kind": "OBJECT", "name": "IssueComment", "ofType": null }, { "kind": "OBJECT", "name": "PullRequest", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReviewComment", "ofType": null } ] }, { "kind": "OBJECT", "name": "ReactionConnection", "description": "A list of reactions that have been left on the subject.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Reaction", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerHasReacted", "description": "Whether or not the authenticated user has left a reaction on the subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReactionEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Reaction", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Reaction", "description": "An emoji reaction to a particular piece of content.", "fields": [ { "name": "content", "description": "Identifies the emoji reaction.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "ReactionContent", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "user", "description": "Identifies the user who created this reaction.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "ReactionOrder", "description": "Ways in which lists of reactions can be ordered upon return.", "fields": null, "inputFields": [ { "name": "field", "description": "The field in which to order reactions by.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "ReactionOrderField", "ofType": null } }, "defaultValue": null }, { "name": "direction", "description": "The direction in which to order reactions by the specified field.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "OrderDirection", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReactingUserConnection", "description": "The connection type for User.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactingUserEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReactingUserEdge", "description": "Represents a user that's made a reaction.", "fields": [ { "name": "cursor", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactedAt", "description": "The moment when the user made the reaction.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "IssueTimelineConnection", "description": "The connection type for IssueTimelineItem.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueTimelineItemEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "UNION", "name": "IssueTimelineItem", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "IssueTimelineItemEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "UNION", "name": "IssueTimelineItem", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "UNION", "name": "IssueTimelineItem", "description": "An item in an issue/pull request timeline", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Commit", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReviewThread", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReviewComment", "ofType": null }, { "kind": "OBJECT", "name": "IssueComment", "ofType": null }, { "kind": "OBJECT", "name": "ClosedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReopenedEvent", "ofType": null }, { "kind": "OBJECT", "name": "SubscribedEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnsubscribedEvent", "ofType": null }, { "kind": "OBJECT", "name": "MergedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReferencedEvent", "ofType": null }, { "kind": "OBJECT", "name": "MentionedEvent", "ofType": null }, { "kind": "OBJECT", "name": "AssignedEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnassignedEvent", "ofType": null }, { "kind": "OBJECT", "name": "LabeledEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnlabeledEvent", "ofType": null }, { "kind": "OBJECT", "name": "MilestonedEvent", "ofType": null }, { "kind": "OBJECT", "name": "DemilestonedEvent", "ofType": null }, { "kind": "OBJECT", "name": "RenamedEvent", "ofType": null }, { "kind": "OBJECT", "name": "LockedEvent", "ofType": null }, { "kind": "OBJECT", "name": "UnlockedEvent", "ofType": null }, { "kind": "OBJECT", "name": "DeployedEvent", "ofType": null }, { "kind": "OBJECT", "name": "HeadRefDeletedEvent", "ofType": null }, { "kind": "OBJECT", "name": "HeadRefRestoredEvent", "ofType": null }, { "kind": "OBJECT", "name": "HeadRefForcePushedEvent", "ofType": null }, { "kind": "OBJECT", "name": "BaseRefForcePushedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReviewRequestedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReviewRequestRemovedEvent", "ofType": null }, { "kind": "OBJECT", "name": "ReviewDismissedEvent", "ofType": null } ] }, { "kind": "OBJECT", "name": "Commit", "description": "Represents a Git commit.", "fields": [ { "name": "author", "description": "Authorship details of the commit.", "args": [], "type": { "kind": "OBJECT", "name": "GitActor", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "blame", "description": "Fetches `git blame` information.", "args": [ { "name": "path", "description": "The file whose Git blame information you want.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Blame", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "comments", "description": "Comments made on the commit.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CommitCommentConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "committedViaWeb", "description": "Check if commited via GitHub web UI.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "committer", "description": "Committership details of the commit.", "args": [], "type": { "kind": "OBJECT", "name": "GitActor", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "history", "description": "The linear commit history starting from (and including) this commit, in the same order as `git log`.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "path", "description": "If non-null, filters history to only show commits touching files under this path.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "author", "description": "If non-null, filters history to only show commits with matching authorship.", "type": { "kind": "INPUT_OBJECT", "name": "CommitAuthor", "ofType": null }, "defaultValue": null }, { "name": "since", "description": "Allows specifying a beginning time or date for fetching commits.", "type": { "kind": "SCALAR", "name": "GitTimestamp", "ofType": null }, "defaultValue": null }, { "name": "until", "description": "Allows specifying an ending time or date for fetching commits.", "type": { "kind": "SCALAR", "name": "GitTimestamp", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CommitHistoryConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "message", "description": "The Git commit message", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "messageBody", "description": "The Git commit message body", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "messageBodyHTML", "description": "The commit message body rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "messageHeadline", "description": "The Git commit message headline", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "messageHeadlineHTML", "description": "The commit message headline rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "oid", "description": "The Git object ID", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "GitObjectID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this commit", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The Repository this commit belongs to", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "signature", "description": "Commit signing information, if present.", "args": [], "type": { "kind": "INTERFACE", "name": "GitSignature", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "status", "description": "Status information for this commit", "args": [], "type": { "kind": "OBJECT", "name": "Status", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "tree", "description": "Commit's root Tree", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Tree", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this commit", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "websocket", "description": "The websocket channel ID for live updates.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "GitObject", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "GitObjectID", "description": "A Git object ID.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Tree", "description": "Represents a Git tree.", "fields": [ { "name": "entries", "description": "A list of tree entries.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "TreeEntry", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "oid", "description": "The Git object ID", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "GitObjectID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The Repository the Git object belongs to", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "GitObject", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "TreeEntry", "description": "Represents a Git tree entry.", "fields": [ { "name": "mode", "description": "Entry file mode.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "Entry file name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "object", "description": "Entry file object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "GitObject", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "oid", "description": "Entry file Git object ID.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "GitObjectID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The Repository the tree entry belongs to", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Entry file type.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INTERFACE", "name": "GitObject", "description": "Represents a Git object.", "fields": [ { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "oid", "description": "The Git object ID", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "GitObjectID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The Repository the Git object belongs to", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Blob", "ofType": null }, { "kind": "OBJECT", "name": "Commit", "ofType": null }, { "kind": "OBJECT", "name": "Tag", "ofType": null }, { "kind": "OBJECT", "name": "Tree", "ofType": null } ] }, { "kind": "OBJECT", "name": "GitActor", "description": "Represents an actor in a Git commit (ie. an author or committer).", "fields": [ { "name": "avatarURL", "description": "A URL pointing to the author's public avatar.", "args": [ { "name": "size", "description": "The size of the resulting square image.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "date", "description": "The timestamp of the Git action (authoring or committing).", "args": [], "type": { "kind": "SCALAR", "name": "GitTimestamp", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "email", "description": "The email in the Git commit.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The name in the Git commit.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "user", "description": "The GitHub user corresponding to the email field. Null if no such user exists.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "GitTimestamp", "description": "An ISO-8601 encoded date string. Unlike the DateTime type, GitTimestamp is not converted in UTC.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CommitHistoryConnection", "description": "The connection type for Commit.", "fields": [ { "name": "edges", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "CommitEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CommitEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Commit", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CommitAuthor", "description": "Specifies an author for filtering Git commits.", "fields": null, "inputFields": [ { "name": "id", "description": "ID of a User to filter by. If non-null, only commits authored by this user will be returned. This field takes precedence over emails.", "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "emails", "description": "Email addresses to filter by. Commits authored by any of the specified email addresses will be returned.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CommitCommentConnection", "description": "The connection type for CommitComment.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "CommitCommentEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "CommitComment", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CommitCommentEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "CommitComment", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CommitComment", "description": "Represents a comment on a given Commit.", "fields": [ { "name": "author", "description": "Identifies the user who created the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "body", "description": "Identifies the comment body.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "Identifies the comment body rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commit", "description": "Identifies the commit associated with the comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdViaEmail", "description": "Check if this comment was created via an email reply.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "editor", "description": "The user who edited the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastEditedAt", "description": "The moment the editor made the last edit", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "liveReactionUpdatesEnabled", "description": "Are reaction live updates enabled for this subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "Identifies the file path associated with the comment.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "position", "description": "Identifies the line position associated with the comment.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionGroups", "description": "A list of reactions grouped by content left on the subject.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionGroup", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactions", "description": "A list of Reactions left on the Issue.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "content", "description": "Allows filtering Reactions by emoji.", "type": { "kind": "ENUM", "name": "ReactionContent", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Allows specifying the order in which reactions are returned.", "type": { "kind": "INPUT_OBJECT", "name": "ReactionOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionsWebsocket", "description": "The websocket channel ID for reaction live updates.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "user", "description": "Identifies the user who created the comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `author`." }, { "name": "viewerCanDelete", "description": "Check if the current viewer can delete this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanEdit", "description": "Check if the current viewer edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanReact", "description": "Can user react to this subject", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCannotEditReasons", "description": "Errors why the current viewer can not edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CommentCannotEditReason", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerDidAuthor", "description": "Did the viewer author this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "Comment", "ofType": null }, { "kind": "INTERFACE", "name": "Reactable", "ofType": null }, { "kind": "INTERFACE", "name": "RepositoryNode", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "INTERFACE", "name": "Comment", "description": "Represents a comment.", "fields": [ { "name": "author", "description": "The user who authored the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "body", "description": "The comment body as Markdown.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "The comment body rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdViaEmail", "description": "Check if this comment was created via an email reply.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "editor", "description": "The user who edited the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastEditedAt", "description": "The moment the editor made the last edit", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanDelete", "description": "Check if the current viewer can delete this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanEdit", "description": "Check if the current viewer edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCannotEditReasons", "description": "Errors why the current viewer can not edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CommentCannotEditReason", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerDidAuthor", "description": "Did the viewer author this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "CommitComment", "ofType": null }, { "kind": "OBJECT", "name": "GistComment", "ofType": null }, { "kind": "OBJECT", "name": "Issue", "ofType": null }, { "kind": "OBJECT", "name": "IssueComment", "ofType": null }, { "kind": "OBJECT", "name": "PullRequest", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReviewComment", "ofType": null } ] }, { "kind": "INTERFACE", "name": "RepositoryNode", "description": "Represents a object that belongs to a repository.", "fields": [ { "name": "repository", "description": "The repository associated with this node.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "CommitComment", "ofType": null }, { "kind": "OBJECT", "name": "Issue", "ofType": null }, { "kind": "OBJECT", "name": "IssueComment", "ofType": null }, { "kind": "OBJECT", "name": "PullRequest", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null }, { "kind": "OBJECT", "name": "PullRequestReviewComment", "ofType": null } ] }, { "kind": "INTERFACE", "name": "GitSignature", "description": "Information about a signature (GPG or S/MIME) on a Commit or Tag.", "fields": [ { "name": "email", "description": "Email used to sign this object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isValid", "description": "True if the signature is valid and verified by GitHub.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "payload", "description": "Payload for GPG signing object. Raw ODB object without the signature header.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "signature", "description": "ASCII-armored signature header from object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "signer", "description": "GitHub user corresponding to the email signing this commit.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "GitSignatureState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "GpgSignature", "ofType": null }, { "kind": "OBJECT", "name": "SmimeSignature", "ofType": null }, { "kind": "OBJECT", "name": "UnknownSignature", "ofType": null } ] }, { "kind": "ENUM", "name": "GitSignatureState", "description": "The state of a Git signature.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "VALID", "description": "Valid signature and verified by GitHub.", "isDeprecated": false, "deprecationReason": null }, { "name": "INVALID", "description": "Invalid signature.", "isDeprecated": false, "deprecationReason": null }, { "name": "MALFORMED_SIG", "description": "Malformed signature.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNKNOWN_KEY", "description": "Key used for signing not known to GitHub.", "isDeprecated": false, "deprecationReason": null }, { "name": "BAD_EMAIL", "description": "Invalid email used for signing.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNVERIFIED_EMAIL", "description": "Email used for signing unverified on GitHub.", "isDeprecated": false, "deprecationReason": null }, { "name": "NO_USER", "description": "Email used for signing not known to GitHub.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNKNOWN_SIG_TYPE", "description": "Unknown signature type.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNSIGNED", "description": "Unsigned.", "isDeprecated": false, "deprecationReason": null }, { "name": "GPGVERIFY_UNAVAILABLE", "description": "Internal error - the GPG verification service is unavailable at the moment.", "isDeprecated": false, "deprecationReason": null }, { "name": "GPGVERIFY_ERROR", "description": "Internal error - the GPG verification service misbehaved.", "isDeprecated": false, "deprecationReason": null }, { "name": "NOT_SIGNING_KEY", "description": "The usage flags for the key that signed this don't allow signing.", "isDeprecated": false, "deprecationReason": null }, { "name": "EXPIRED_KEY", "description": "Signing key expired.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "Status", "description": "Represents a commit status.", "fields": [ { "name": "commit", "description": "The commit this status is attached to.", "args": [], "type": { "kind": "OBJECT", "name": "Commit", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "context", "description": "Looks up an individual status context by context name.", "args": [ { "name": "name", "description": "The context name.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "StatusContext", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "contexts", "description": "The individual status contexts for this commit.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "StatusContext", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "The combined commit status.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "StatusState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "StatusState", "description": "The possible commit status states.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "EXPECTED", "description": "Status is expected.", "isDeprecated": false, "deprecationReason": null }, { "name": "ERROR", "description": "Status is errored.", "isDeprecated": false, "deprecationReason": null }, { "name": "FAILURE", "description": "Status is failing.", "isDeprecated": false, "deprecationReason": null }, { "name": "PENDING", "description": "Status is pending.", "isDeprecated": false, "deprecationReason": null }, { "name": "SUCCESS", "description": "Status is successful.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "StatusContext", "description": "Represents an individual commit status context", "fields": [ { "name": "commit", "description": "This commit this status context is attached to.", "args": [], "type": { "kind": "OBJECT", "name": "Commit", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "context", "description": "The name of this status context.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "creator", "description": "The user that created this status context.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": "The description for this status context.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "The state of this status context.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "StatusState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "targetURL", "description": "The URL for this status context.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Blame", "description": "Represents a Git blame.", "fields": [ { "name": "ranges", "description": "The list of ranges from a Git blame.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "BlameRange", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "BlameRange", "description": "Represents a range of information from a Git blame.", "fields": [ { "name": "age", "description": "Identifies the recency of the change, from 1 (new) to 10 (old). This is calculated as a 2-quantile and determines the length of distance between the median age of all the changes in the file and the recency of the current range's change.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commit", "description": "Identifies the line author", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "endingLine", "description": "The ending line for the range", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "startingLine", "description": "The starting line for the range", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PullRequestReview", "description": "A review object for a given pull request.", "fields": [ { "name": "author", "description": "Identifies the author associated with this pull request review.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "body", "description": "Identifies the pull request review body.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "The body of this review rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyText", "description": "The body of this review rendered as plain text.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "comments", "description": "A list of review comments for the current pull request review.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReviewCommentConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commit", "description": "Identifies the commit associated with this pull request review.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdViaEmail", "description": "Check if this comment was created via an email reply.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "editor", "description": "The user who edited the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastEditedAt", "description": "The moment the editor made the last edit", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP URL permalink for this PullRequestReview.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequest", "description": "Identifies the pull request associated with this pull request review.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequest", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The repository associated with this node.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "Identifies the current state of the pull request review.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "PullRequestReviewState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "submittedAt", "description": "Identifies when the Pull Request Review was submitted", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP URL permalink for this PullRequestReview.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanDelete", "description": "Check if the current viewer can delete this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanEdit", "description": "Check if the current viewer edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCannotEditReasons", "description": "Errors why the current viewer can not edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CommentCannotEditReason", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerDidAuthor", "description": "Did the viewer author this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "Comment", "ofType": null }, { "kind": "INTERFACE", "name": "RepositoryNode", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "PullRequestReviewState", "description": "The possible states of a pull request review.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "PENDING", "description": "A review that has not yet been submitted.", "isDeprecated": false, "deprecationReason": null }, { "name": "COMMENTED", "description": "An informational review.", "isDeprecated": false, "deprecationReason": null }, { "name": "APPROVED", "description": "A review allowing the pull request to merge.", "isDeprecated": false, "deprecationReason": null }, { "name": "CHANGES_REQUESTED", "description": "A review blocking the pull request from merging.", "isDeprecated": false, "deprecationReason": null }, { "name": "DISMISSED", "description": "A review that has been dismissed.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "PullRequestReviewCommentConnection", "description": "The connection type for PullRequestReviewComment.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReviewCommentEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReviewComment", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PullRequestReviewCommentEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "PullRequestReviewComment", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PullRequestReviewComment", "description": "A review comment associated with a given repository pull request.", "fields": [ { "name": "author", "description": "The user associated with this review comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "body", "description": "The comment body of this review comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "The comment body of this review comment rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyText", "description": "The comment body of this review comment rendered as plain text.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commit", "description": "Identifies the commit associated with the comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies when the comment was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdViaEmail", "description": "Check if this comment was created via an email reply.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "diffHunk", "description": "The diff hunk to which the comment applies.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "editor", "description": "The user who edited the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastEditedAt", "description": "The moment the editor made the last edit", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "liveReactionUpdatesEnabled", "description": "Are reaction live updates enabled for this subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "originalCommit", "description": "Identifies the original commit associated with the comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "originalPosition", "description": "The original line index in the diff to which the comment applies.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The path to which the comment applies.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "position", "description": "The line index in the diff to which the comment applies.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequest", "description": "The pull request associated with this review comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequest", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequestReview", "description": "The pull request review associated with this review comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionGroups", "description": "A list of reactions grouped by content left on the subject.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionGroup", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactions", "description": "A list of Reactions left on the Issue.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "content", "description": "Allows filtering Reactions by emoji.", "type": { "kind": "ENUM", "name": "ReactionContent", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Allows specifying the order in which reactions are returned.", "type": { "kind": "INPUT_OBJECT", "name": "ReactionOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionsWebsocket", "description": "The websocket channel ID for reaction live updates.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The repository associated with this review comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies when the comment was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP URL permalink for this review comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanDelete", "description": "Check if the current viewer can delete this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanEdit", "description": "Check if the current viewer edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanReact", "description": "Can user react to this subject", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCannotEditReasons", "description": "Errors why the current viewer can not edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CommentCannotEditReason", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerDidAuthor", "description": "Did the viewer author this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "websocket", "description": "The websocket channel ID for live updates.", "args": [ { "name": "channel", "description": "The channel to use.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "PullRequestPubSubTopic", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "Comment", "ofType": null }, { "kind": "INTERFACE", "name": "Reactable", "ofType": null }, { "kind": "INTERFACE", "name": "RepositoryNode", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "PullRequestPubSubTopic", "description": "The possible PubSub channels for a pull request.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "UPDATED", "description": "The channel ID for observing pull request updates.", "isDeprecated": false, "deprecationReason": null }, { "name": "MARKASREAD", "description": "The channel ID for marking an pull request as read.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "PullRequestReviewThread", "description": "A threaded list of comments for a given pull request.", "fields": [ { "name": "comments", "description": "A list of pull request comments associated with the thread.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReviewCommentConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequest", "description": "Identifies the pull request associated with this thread.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequest", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "IssueComment", "description": "Represents a comment on an Issue.", "fields": [ { "name": "author", "description": "Identifies the author of the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "body", "description": "Identifies the comment body.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "The comment body rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdViaEmail", "description": "Check if this comment was created via an email reply.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "editor", "description": "The user who edited the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastEditedAt", "description": "The moment the editor made the last edit", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "liveReactionUpdatesEnabled", "description": "Are reaction live updates enabled for this subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionGroups", "description": "A list of reactions grouped by content left on the subject.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionGroup", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactions", "description": "A list of Reactions left on the Issue.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "content", "description": "Allows filtering Reactions by emoji.", "type": { "kind": "ENUM", "name": "ReactionContent", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Allows specifying the order in which reactions are returned.", "type": { "kind": "INPUT_OBJECT", "name": "ReactionOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReactionConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reactionsWebsocket", "description": "The websocket channel ID for reaction live updates.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The repository associated with this node.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanDelete", "description": "Check if the current viewer can delete this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanEdit", "description": "Check if the current viewer edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanReact", "description": "Can user react to this subject", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCannotEditReasons", "description": "Errors why the current viewer can not edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CommentCannotEditReason", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerDidAuthor", "description": "Did the viewer author this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "websocket", "description": "The websocket channel ID for live updates.", "args": [ { "name": "channel", "description": "The channel to use.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssuePubSubTopic", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "Comment", "ofType": null }, { "kind": "INTERFACE", "name": "Reactable", "ofType": null }, { "kind": "INTERFACE", "name": "RepositoryNode", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "IssuePubSubTopic", "description": "The possible PubSub channels for an issue.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "UPDATED", "description": "The channel ID for observing issue updates.", "isDeprecated": false, "deprecationReason": null }, { "name": "MARKASREAD", "description": "The channel ID for marking an issue as read.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "ClosedEvent", "description": "Represents a 'closed' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commit", "description": "Identifies the commit associated with the 'closed' event.", "args": [], "type": { "kind": "OBJECT", "name": "Commit", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReopenedEvent", "description": "Represents a 'reopened' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SubscribedEvent", "description": "Represents a 'subscribed' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UnsubscribedEvent", "description": "Represents a 'unsubscribed' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "MergedEvent", "description": "Represents a 'merged' event on a given pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commit", "description": "Identifies the commit associated with the `merge` event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "mergeRef", "description": "Identifies the Ref associated with the `merge` event.", "args": [], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "mergeRefName", "description": "Identifies the name of the Ref associated with the `merge` event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Ref", "description": "Represents a Git reference.", "fields": [ { "name": "associatedPullRequests", "description": "A list of pull requests with this ref as the head ref.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "states", "description": "A list of states to filter the pull requests by.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "PullRequestState", "ofType": null } } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The ref name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "prefix", "description": "The ref's prefix, such as `refs/heads/` or `refs/tags/`.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The repository the ref belongs to.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "target", "description": "The object the ref points to.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "GitObject", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "PullRequestState", "description": "The possible states of a pull request.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "OPEN", "description": "A pull request that is still open.", "isDeprecated": false, "deprecationReason": null }, { "name": "CLOSED", "description": "A pull request that has been closed without being merged.", "isDeprecated": false, "deprecationReason": null }, { "name": "MERGED", "description": "A pull request that has been closed by being merged.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "ReferencedEvent", "description": "Represents a 'referenced' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commit", "description": "Identifies the commit associated with the 'referenced' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commitRepository", "description": "Identifies the repository associated with the 'referenced' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "MentionedEvent", "description": "Represents a 'mentioned' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "AssignedEvent", "description": "Represents an 'assigned' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "subject", "description": "Identifies the user who performed the 'assigned' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UnassignedEvent", "description": "Represents a 'unassigned' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "subject", "description": "Identifies the user who performed the 'unassigned' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "LabeledEvent", "description": "Represents a 'labeled' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "label", "description": "Identifies the label associated with the 'labeled' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Label", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UnlabeledEvent", "description": "Represents a 'unlabeled' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "label", "description": "Identifies the label associated with the 'unlabeled' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Label", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "MilestonedEvent", "description": "Represents a 'milestoned' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "milestoneTitle", "description": "Identifies the milestone title associated with the 'milestoned' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DemilestonedEvent", "description": "Represents a 'demilestoned' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "milestoneTitle", "description": "Identifies the milestone title associated with the 'demilestoned' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "RenamedEvent", "description": "Represents a 'renamed' event on a given issue or pull request or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "currentTitle", "description": "Identifies the current title of the issue or pull request.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "previousTitle", "description": "Identifies the previous title of the issue or pull request.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "LockedEvent", "description": "Represents a 'locked' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UnlockedEvent", "description": "Represents a 'unlocked' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DeployedEvent", "description": "Represents a 'deployed' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "deployment", "description": "The deployment associated with the 'deployed' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Deployment", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "ref", "description": "The ref associated with the 'deployed' event.", "args": [], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Deployment", "description": "Represents triggered deployment instance.", "fields": [ { "name": "commit", "description": "Identifies the commit sha of the deployment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "creator", "description": "Identifies the user who triggered the deployment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the deployment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "statuses", "description": "A list of statuses associated with the deployment.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "DeploymentStatusConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DeploymentStatusConnection", "description": "The connection type for DeploymentStatus.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "DeploymentStatusEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "DeploymentStatus", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DeploymentStatusEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "DeploymentStatus", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DeploymentStatus", "description": "Describes the status of a given deployment attempt.", "fields": [ { "name": "creator", "description": "Identifies the user who triggered the deployment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "deployment", "description": "Identifies the deployment associated with status.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Deployment", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": "Identifies the description of the deployment.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "environmentUrl", "description": "Identifies the environment url of the deployment.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "logUrl", "description": "Identifies the log url of the deployment.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "Identifies the current state of the deployment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "DeploymentState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "HeadRefDeletedEvent", "description": "Represents a 'head_ref_deleted' event on a given pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "headRef", "description": "Identifies the Ref associated with the `head_ref_deleted` event.", "args": [], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "headRefName", "description": "Identifies the name of the Ref associated with the `head_ref_deleted` event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "HeadRefRestoredEvent", "description": "Represents a 'head_ref_restored' event on a given pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "HeadRefForcePushedEvent", "description": "Represents a 'head_ref_force_pushed' event on a given pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "afterCommit", "description": "Identifies the after commit SHA for the 'head_ref_force_pushed' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "beforeCommit", "description": "Identifies the before commit SHA for the 'head_ref_force_pushed' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "ref", "description": "Identifies the fully qualified ref name for the 'head_ref_force_pushed' event.", "args": [], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "BaseRefForcePushedEvent", "description": "Represents a 'base_ref_force_pushed' event on a given pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "afterCommit", "description": "Identifies the after commit SHA for the 'base_ref_force_pushed' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "beforeCommit", "description": "Identifies the before commit SHA for the 'base_ref_force_pushed' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "ref", "description": "Identifies the fully qualified ref name for the 'base_ref_force_pushed' event.", "args": [], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReviewRequestedEvent", "description": "Represents an 'review_requested' event on a given pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "subject", "description": "Identifies the user who performed the 'review_requested' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReviewRequestRemovedEvent", "description": "Represents an 'review_request_removed' event on a given pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "subject", "description": "Identifies the user who performed the 'review_request_removed' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReviewDismissedEvent", "description": "Represents a 'review_dismissed' event on a given issue or pull request.", "fields": [ { "name": "actor", "description": "Identifies the actor (user) associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issue", "description": "Identifies the issue associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Issue", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "message", "description": "Identifies the message associated with the 'review_dismissed' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "previousReviewState", "description": "Identifies the previous state of the review with the 'review_dismissed' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "PullRequestReviewState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "review", "description": "Identifies the review associated with the 'review_dismissed' event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": "Identifies the event type associated with the event.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "IssueEventType", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "IssueEvent", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "IssueCommentConnection", "description": "The connection type for IssueComment.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueCommentEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueComment", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "IssueCommentEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "IssueComment", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PullRequestReviewConnection", "description": "The connection type for PullRequestReview.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReviewEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PullRequestReviewEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CommitConnection", "description": "The connection type for Commit.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "CommitEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Commit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReviewRequestConnection", "description": "The connection type for ReviewRequest.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ReviewRequestEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ReviewRequest", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReviewRequestEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "ReviewRequest", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReviewRequest", "description": "A request for a user to review a pull request.", "fields": [ { "name": "databaseId", "description": "Identifies the primary key from the database.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": true, "deprecationReason": "Exposed database IDs will eventually be removed in favor of global Relay IDs." }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequest", "description": "Identifies the pull request associated with this review request.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequest", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reviewer", "description": "Identifies the author associated with this review request.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "INTERFACE", "name": "Issueish", "description": "Shared features of Issues and Pull Requests.", "fields": [ { "name": "author", "description": "Identifies the author of the issue.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "body", "description": "Identifies the body of the issue.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "Identifies the body of the issue rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "labels", "description": "A list of labels associated with the Issue or Pull Request.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "LabelConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "number", "description": "Identifies the issue number.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Identifies the repository associated with the issue.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "Identifies the issue title.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Issue", "ofType": null }, { "kind": "OBJECT", "name": "PullRequest", "ofType": null } ] }, { "kind": "INTERFACE", "name": "Timeline", "description": "Represents all of the events visible to a user from an Issue or PullRequest timeline.", "fields": [ { "name": "timeline", "description": "A list of events associated with an Issue or PullRequest.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "since", "description": "Allows filtering timeline events by a `since` timestamp.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueTimelineConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Issue", "ofType": null }, { "kind": "OBJECT", "name": "PullRequest", "ofType": null } ] }, { "kind": "INTERFACE", "name": "UniformResourceLocatable", "description": "Represents a type that can be retrieved by a URL.", "fields": [ { "name": "path", "description": "The path to this resource.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The URL to this resource.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Issue", "ofType": null }, { "kind": "OBJECT", "name": "Organization", "ofType": null }, { "kind": "OBJECT", "name": "PullRequest", "ofType": null }, { "kind": "OBJECT", "name": "Release", "ofType": null }, { "kind": "OBJECT", "name": "Repository", "ofType": null }, { "kind": "OBJECT", "name": "User", "ofType": null } ] }, { "kind": "ENUM", "name": "SubscriptionState", "description": "The possible states of a subscription.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "UNSUBSCRIBED", "description": "The User is only notified when particpating or @mentioned.", "isDeprecated": false, "deprecationReason": null }, { "name": "SUBSCRIBED", "description": "The User is notified of all conversations.", "isDeprecated": false, "deprecationReason": null }, { "name": "IGNORED", "description": "The User is never notified.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "RepositoryLockReason", "description": "The possible reasons a given repsitory could be in a locked state.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "MOVING", "description": "The repository is locked due to a move.", "isDeprecated": false, "deprecationReason": null }, { "name": "BILLING", "description": "The repository is locked due to a billing related reason.", "isDeprecated": false, "deprecationReason": null }, { "name": "RENAME", "description": "The repository is locked due to a rename.", "isDeprecated": false, "deprecationReason": null }, { "name": "MIGRATING", "description": "The repository is locked due to a migration.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "INTERFACE", "name": "RepositoryOwner", "description": "Represents an owner of a Repository.", "fields": [ { "name": "avatarURL", "description": "A URL pointing to the owner's public avatar.", "args": [ { "name": "size", "description": "The size of the resulting square image.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "gist", "description": "Find gist by repo name.", "args": [ { "name": "name", "description": "The gist name to find.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Gist", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "gists", "description": "A list of the Gists the user has created.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "visibility", "description": "Allows filtering by gist visibility.", "type": { "kind": "ENUM", "name": "GistVisibility", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "GistConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "login", "description": "The username used to login.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP url for the owner.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repositories", "description": "A list of repositories that the user owns.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "privacy", "description": "If non-null, filters repositories according to privacy", "type": { "kind": "ENUM", "name": "RepositoryPrivacy", "ofType": null }, "defaultValue": null }, { "name": "isFork", "description": "If non-null, filters repositories according to whether they are forks of another repository", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Ordering options for repositories returned from the connection", "type": { "kind": "INPUT_OBJECT", "name": "RepositoryOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "RepositoryConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Find Repository.", "args": [ { "name": "name", "description": "Name of Repository to find.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Repository", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for the owner.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Organization", "ofType": null }, { "kind": "OBJECT", "name": "User", "ofType": null } ] }, { "kind": "OBJECT", "name": "RepositoryConnection", "description": "A list of repositories owned by the subject.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "RepositoryEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalDiskUsage", "description": "The total size in kilobytes of all repositories in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "RepositoryEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Repository", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "RepositoryPrivacy", "description": "The privacy of a repository", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "PUBLIC", "description": "Public", "isDeprecated": false, "deprecationReason": null }, { "name": "PRIVATE", "description": "Private", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "RepositoryOrder", "description": "Ordering options for repository connections", "fields": null, "inputFields": [ { "name": "field", "description": "The field to order repositories by.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "RepositoryOrderField", "ofType": null } }, "defaultValue": null }, { "name": "direction", "description": "The ordering direction.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "OrderDirection", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "RepositoryOrderField", "description": "Properties by which repository connections can be ordered.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "CREATED_AT", "description": "Order repositories by creation time", "isDeprecated": false, "deprecationReason": null }, { "name": "UPDATED_AT", "description": "Order repositories by update time", "isDeprecated": false, "deprecationReason": null }, { "name": "PUSHED_AT", "description": "Order repositories by push time", "isDeprecated": false, "deprecationReason": null }, { "name": "NAME", "description": "Order repositories by name", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "Gist", "description": "A Gist.", "fields": [ { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": "The gist description.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The gist name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "owner", "description": "The gist owner.", "args": [], "type": { "kind": "INTERFACE", "name": "RepositoryOwner", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "public", "description": "Whether the gist is public or not.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "GistConnection", "description": "The connection type for Gist.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "GistEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Gist", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "GistEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Gist", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "GistVisibility", "description": "The possible Gist visibility types", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "PUBLIC", "description": "Gists that are public", "isDeprecated": false, "deprecationReason": null }, { "name": "SECRET", "description": "Gists that are secret", "isDeprecated": false, "deprecationReason": null }, { "name": "ALL", "description": "Gists that are public and secret", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "UserConnection", "description": "The connection type for User.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "UserEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UserEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "RepositoryCollaboratorAffiliation", "description": "The affiliation type between collaborator and repository.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "ALL", "description": "All collaborators of the repository.", "isDeprecated": false, "deprecationReason": null }, { "name": "OUTSIDE", "description": "All outside collaborators of an organization-owned repository.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "IssueState", "description": "The possible states of an issue.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "OPEN", "description": "An issue that is still open", "isDeprecated": false, "deprecationReason": null }, { "name": "CLOSED", "description": "An issue that has been closed", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "Milestone", "description": "Represents a Milestone object on a given repository.", "fields": [ { "name": "closedIssueCount", "description": "Identifies the number of issues currently closed in this milestone.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdBy", "description": "Identifies the creator of the milestone.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": "Identifies the description of the milestone.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "dueOn", "description": "Identifies the due date of the milestone.", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "number", "description": "Identifies the number of the milestone.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "openIssueCount", "description": "Identifies the number of issues currently open in this milestone.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this milestone", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The repository associated with this milestone.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "Identifies the state of the milestone.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "MilestoneState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "Identifies the title of the milestone.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this milestone", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "MilestoneState", "description": "The possible states of a milestone.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "OPEN", "description": "A milestone that is still open.", "isDeprecated": false, "deprecationReason": null }, { "name": "CLOSED", "description": "A milestone that has been closed.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "MilestoneConnection", "description": "The connection type for Milestone.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "MilestoneEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Milestone", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "MilestoneEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Milestone", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "LanguageConnection", "description": "A list of languages associated with the parent.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "LanguageEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Language", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalSize", "description": "The total size in bytes of files written in that language.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "LanguageEdge", "description": "Represents the language of a repository.", "fields": [ { "name": "cursor", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Language", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "size", "description": "The number of bytes of code written in the language.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Language", "description": "Represents a given language found in repositories.", "fields": [ { "name": "color", "description": "The color defined for the current language.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The name of the current language.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "LanguageOrder", "description": "Ordering options for language connections.", "fields": null, "inputFields": [ { "name": "field", "description": "The field to order languages by.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "LanguageOrderField", "ofType": null } }, "defaultValue": null }, { "name": "direction", "description": "The ordering direction.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "OrderDirection", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "LanguageOrderField", "description": "Properties by which language connections can be ordered.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "SIZE", "description": "Order languages by the size of all files containing the language", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "RefConnection", "description": "The connection type for Ref.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "RefEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Ref", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "RefEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StargazerConnection", "description": "The connection type for User.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "StargazerEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StargazerEdge", "description": "Represents a user that's starred a repository.", "fields": [ { "name": "cursor", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "starredAt", "description": "Identifies when the item was starred.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "StarOrder", "description": "Ways in which star connections can be ordered.", "fields": null, "inputFields": [ { "name": "field", "description": "The field in which to order nodes by.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "StarOrderField", "ofType": null } }, "defaultValue": null }, { "name": "direction", "description": "The direction in which to order nodes.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "OrderDirection", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "StarOrderField", "description": "Properties by which star connections can be ordered.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "STARRED_AT", "description": "Allows ordering a list of stars by when they were created.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "ReleaseConnection", "description": "The connection type for Release.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ReleaseEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Release", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReleaseEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Release", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Release", "description": "A release contains the content for a release.", "fields": [ { "name": "description", "description": "Identifies the description of the release.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "Identifies the title of the release.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this issue", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "publishedAt", "description": "Identifies the date and time when the release was created.", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "releaseAsset", "description": "List of releases assets which are dependent on this release.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "name", "description": "A list of names to filter the assets by.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReleaseAssetConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "releaseAssets", "description": "List of releases assets which are dependent on this release.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ReleaseAssetConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "tag", "description": "The Git tag the release points to", "args": [], "type": { "kind": "OBJECT", "name": "Ref", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this issue", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "UniformResourceLocatable", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReleaseAssetConnection", "description": "The connection type for ReleaseAsset.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ReleaseAssetEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "ReleaseAsset", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReleaseAssetEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "ReleaseAsset", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ReleaseAsset", "description": "A release asset contains the content for a release asset.", "fields": [ { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "Identifies the title of the release asset.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "release", "description": "release that the asset is associated with", "args": [], "type": { "kind": "OBJECT", "name": "Release", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "Identifies the url of the release asset.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "INTERFACE", "name": "Subscribable", "description": "Entities that can be subscribed to for web and email notifications.", "fields": [ { "name": "viewerCanSubscribe", "description": "Check if the viewer is able to change their subscription status for the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerSubscription", "description": "Identifies if the viewer is watching, not watching, or ignoring the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "SubscriptionState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Repository", "ofType": null } ] }, { "kind": "INTERFACE", "name": "RepositoryInfo", "description": "A subset of repository info.", "fields": [ { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": "The description of the repository.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "descriptionHTML", "description": "The description of the repository rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasIssuesEnabled", "description": "Indicates if the repository has issues feature enabled.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasWikiEnabled", "description": "Indicates if the repository has wiki feature enabled.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "homepageURL", "description": "The repository's URL.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "isFork", "description": "Identifies if the repository is a fork.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isLocked", "description": "Indicates if the repository has been locked or not.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isMirror", "description": "Identifies if the repository is a mirror.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isPrivate", "description": "Identifies if the repository is private.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "license", "description": "The license associated with the repository", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "lockReason", "description": "The reason the repository has been locked.", "args": [], "type": { "kind": "ENUM", "name": "RepositoryLockReason", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "mirrorURL", "description": "The repository's original mirror URL.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The name of the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "owner", "description": "The User owner of the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "RepositoryOwner", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this repository", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pushedAt", "description": "Identifies when the repository was last pushed to.", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this repository", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Repository", "ofType": null }, { "kind": "OBJECT", "name": "RepositoryInvitationRepository", "ofType": null } ] }, { "kind": "SCALAR", "name": "Float", "description": "Represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point).", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Organization", "description": "An account on GitHub, with one or more owners, that has repositories, members and teams.", "fields": [ { "name": "avatarURL", "description": "A URL pointing to the organization's public avatar.", "args": [ { "name": "size", "description": "The size of the resulting square image.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "gist", "description": "Find gist by repo name.", "args": [ { "name": "name", "description": "The gist name to find.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Gist", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "gists", "description": "A list of the Gists the user has created.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "visibility", "description": "Allows filtering by gist visibility.", "type": { "kind": "ENUM", "name": "GistVisibility", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "GistConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "login", "description": "The username used to login.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "members", "description": "A list of users who are members of this organization.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The organization's public profile name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this user", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "project", "description": "Find project by number.", "args": [ { "name": "number", "description": "The project number to find.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Project", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "projects", "description": "A list of projects under the owner.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Ordering options for projects returned from the connection", "type": { "kind": "INPUT_OBJECT", "name": "ProjectOrder", "ofType": null }, "defaultValue": null }, { "name": "search", "description": "Query to search projects by, currently only searching by name.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectsPath", "description": "The HTTP path listing organization's projects", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectsUrl", "description": "The HTTP url listing organization's projects", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repositories", "description": "A list of repositories that the user owns.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "privacy", "description": "If non-null, filters repositories according to privacy", "type": { "kind": "ENUM", "name": "RepositoryPrivacy", "ofType": null }, "defaultValue": null }, { "name": "isFork", "description": "If non-null, filters repositories according to whether they are forks of another repository", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": null }, { "name": "orderBy", "description": "Ordering options for repositories returned from the connection", "type": { "kind": "INPUT_OBJECT", "name": "RepositoryOrder", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "RepositoryConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Find Repository.", "args": [ { "name": "name", "description": "Name of Repository to find.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Repository", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "teams", "description": "A list of teams in this organization.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "TeamConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this user", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanCreateProjects", "description": "Can the current viewer create new projects on this owner.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanCreateRepositories", "description": "Viewer can create repositories on this organization", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "ProjectOwner", "ofType": null }, { "kind": "INTERFACE", "name": "RepositoryOwner", "ofType": null }, { "kind": "INTERFACE", "name": "UniformResourceLocatable", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "X509Certificate", "description": "A valid x509 certificate string", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "DefaultRepositoryPermissionField", "description": "The possible default permissions for organization-owned repositories.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "READ", "description": "Members have read access to org repos by default", "isDeprecated": false, "deprecationReason": null }, { "name": "WRITE", "description": "Members have read and write access to org repos by default", "isDeprecated": false, "deprecationReason": null }, { "name": "ADMIN", "description": "Members have read, write, and admin access to org repos by default", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "OrganizationInvitationConnection", "description": "The connection type for OrganizationInvitation.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "OrganizationInvitationEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "OrganizationInvitation", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "OrganizationInvitationEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "OrganizationInvitation", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "OrganizationInvitation", "description": "An Invitation for a user to an organization.", "fields": [ { "name": "email", "description": "The email address of the user invited to the organization.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "inviter", "description": "The user who created the invitation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "login", "description": "The login of the user invited to the organization.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "role", "description": "The user's pending role in the organization (e.g. member, owner).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "OrganizationInvitationRole", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "OrganizationInvitationRole", "description": "The possible organization invitation roles.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "DIRECT_MEMBER", "description": "The user is invited to be a direct member of the organization.", "isDeprecated": false, "deprecationReason": null }, { "name": "ADMIN", "description": "The user is invited to be an admin of the organization.", "isDeprecated": false, "deprecationReason": null }, { "name": "BILLING_MANAGER", "description": "The user is invited to be a billing manager of the organization.", "isDeprecated": false, "deprecationReason": null }, { "name": "HIRING_MANAGER", "description": "The user is invited to be a hiring manager of the organization.", "isDeprecated": false, "deprecationReason": null }, { "name": "REINSTATE", "description": "The user's previous role will be reinstated.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "TeamConnection", "description": "The connection type for Team.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "TeamEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Team", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "TeamEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Team", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Team", "description": "A team of users in an organization.", "fields": [ { "name": "description", "description": "The description of the team.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "invitations", "description": "A list of pending invitations for users to this team", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "OrganizationInvitationConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The name of the team.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "privacy", "description": "The level of privacy the team has.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "TeamPrivacy", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "slug", "description": "The slug corresponding to the team.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "TeamPrivacy", "description": "The possible team privacy values.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "SECRET", "description": "A secret team can only be seen by its members.", "isDeprecated": false, "deprecationReason": null }, { "name": "VISIBLE", "description": "A visible team can be seen and @mentioned by every member of the organization.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "OrganizationConnection", "description": "The connection type for Organization.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "OrganizationEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Organization", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "OrganizationEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "OBJECT", "name": "Organization", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StarredRepositoryConnection", "description": "The connection type for User.", "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "StarredRepositoryEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "Identifies the total count of items in the connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StarredRepositoryEdge", "description": "Represents a starred repository.", "fields": [ { "name": "cursor", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "starredAt", "description": "Identifies when the item was starred.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Blob", "description": "Represents a Git blob.", "fields": [ { "name": "byteSize", "description": "Byte size of Blob object", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isBinary", "description": "Indicates whether the Blob is binary or text", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isTruncated", "description": "Indicates whether the contents is truncated", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "oid", "description": "The Git object ID", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "GitObjectID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The Repository the Git object belongs to", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "text", "description": "UTF8 text data or null if the Blob is binary", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "GitObject", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "GistComment", "description": "Represents a comment on an Gist.", "fields": [ { "name": "author", "description": "Identifies the author of the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "body", "description": "Identifies the comment body.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "bodyHTML", "description": "The comment body rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdViaEmail", "description": "Check if this comment was created via an email reply.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "editor", "description": "The user who edited the comment.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastEditedAt", "description": "The moment the editor made the last edit", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanDelete", "description": "Check if the current viewer can delete this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCanEdit", "description": "Check if the current viewer edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerCannotEditReasons", "description": "Errors why the current viewer can not edit this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CommentCannotEditReason", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewerDidAuthor", "description": "Did the viewer author this comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "Comment", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "GpgSignature", "description": "Represents a GPG signature on a Commit or Tag.", "fields": [ { "name": "email", "description": "Email used to sign this object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isValid", "description": "True if the signature is valid and verified by GitHub.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "keyId", "description": "Hex-encoded ID of the key that signed this object.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "payload", "description": "Payload for GPG signing object. Raw ODB object without the signature header.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "signature", "description": "ASCII-armored signature header from object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "signer", "description": "GitHub user corresponding to the email signing this commit.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "GitSignatureState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "GitSignature", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "RepositoryInvitation", "description": "An invitation for a user to be added to a repository.", "fields": [ { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "invitee", "description": "The user who received the invitation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "inviter", "description": "The user who created the invitation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The Repository the user is invited to.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "RepositoryInvitationRepository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "RepositoryInvitationRepository", "description": "A subset of repository info shared with potential collaborators.", "fields": [ { "name": "createdAt", "description": "Identifies the date and time when the object was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": "The description of the repository.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "descriptionHTML", "description": "The description of the repository rendered to HTML.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasIssuesEnabled", "description": "Indicates if the repository has issues feature enabled.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasWikiEnabled", "description": "Indicates if the repository has wiki feature enabled.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "homepageURL", "description": "The repository's URL.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "isFork", "description": "Identifies if the repository is a fork.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isLocked", "description": "Indicates if the repository has been locked or not.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isMirror", "description": "Identifies if the repository is a mirror.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isPrivate", "description": "Identifies if the repository is private.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "license", "description": "The license associated with the repository", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "lockReason", "description": "The reason the repository has been locked.", "args": [], "type": { "kind": "ENUM", "name": "RepositoryLockReason", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "mirrorURL", "description": "The repository's original mirror URL.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The name of the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "owner", "description": "The User owner of the repository.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "RepositoryOwner", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "path", "description": "The HTTP path for this repository", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pushedAt", "description": "Identifies when the repository was last pushed to.", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "Identifies the date and time when the object was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The HTTP url for this repository", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URI", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "RepositoryInfo", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SmimeSignature", "description": "Represents an S/MIME signature on a Commit or Tag.", "fields": [ { "name": "email", "description": "Email used to sign this object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isValid", "description": "True if the signature is valid and verified by GitHub.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "payload", "description": "Payload for GPG signing object. Raw ODB object without the signature header.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "signature", "description": "ASCII-armored signature header from object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "signer", "description": "GitHub user corresponding to the email signing this commit.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "GitSignatureState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "GitSignature", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Tag", "description": "Represents a Git tag.", "fields": [ { "name": "id", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "message", "description": "The Git tag message.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The Git tag name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "oid", "description": "The Git object ID", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "GitObjectID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "The Repository the Git object belongs to", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Repository", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "tagger", "description": "Details about the tag author.", "args": [], "type": { "kind": "OBJECT", "name": "GitActor", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "target", "description": "The Git object the tag points to.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "GitObject", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null }, { "kind": "INTERFACE", "name": "GitObject", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UnknownSignature", "description": "Represents an unknown signature on a Commit or Tag.", "fields": [ { "name": "email", "description": "Email used to sign this object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isValid", "description": "True if the signature is valid and verified by GitHub.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "payload", "description": "Payload for GPG signing object. Raw ODB object without the signature header.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "signature", "description": "ASCII-armored signature header from object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "signer", "description": "GitHub user corresponding to the email signing this commit.", "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": "The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "GitSignatureState", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "GitSignature", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Query", "description": "The query root of GitHub's GraphQL interface.", "fields": [ { "name": "node", "description": "Fetches an object given its ID.", "args": [ { "name": "id", "description": "ID of the object.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "INTERFACE", "name": "Node", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "Lookup nodes by a list of IDs.", "args": [ { "name": "ids", "description": "The list of node IDs.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } } } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "INTERFACE", "name": "Node", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "organization", "description": "Lookup a organization by login.", "args": [ { "name": "login", "description": "The organization's login.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Organization", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "relay", "description": "Hack to workaround https://github.com/facebook/relay/issues/112 re-exposing the root query object", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Query", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repository", "description": "Lookup a given repository by the owner and repository name.", "args": [ { "name": "owner", "description": "The login field of a user or organizationn", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "name", "description": "The name of the repository", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Repository", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "repositoryOwner", "description": "Lookup a repository owner (ie. either a User or an Organization) by login.", "args": [ { "name": "login", "description": "The username to lookup the owner by.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "INTERFACE", "name": "RepositoryOwner", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "resource", "description": "Lookup resource by a URL.", "args": [ { "name": "url", "description": "The URL.", "type": { "kind": "SCALAR", "name": "URI", "ofType": null }, "defaultValue": null } ], "type": { "kind": "INTERFACE", "name": "UniformResourceLocatable", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "search", "description": "Perform a search across resources.", "args": [ { "name": "first", "description": "Returns the first _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "after", "description": "Returns the elements in the list that come after the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": "Returns the last _n_ elements from the list.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": "Returns the elements in the list that come before the specified global ID.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "query", "description": "The search string to look for.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "type", "description": "The types of search items to search within.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "SearchType", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "SearchResultItemConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "user", "description": "Lookup a user by login.", "args": [ { "name": "login", "description": "The user's login.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "viewer", "description": "The currently authenticated user.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SearchResultItemConnection", "description": "A list of results that matched against a search query.", "fields": [ { "name": "codeCount", "description": "The number of pieces of code that matched the search query.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "SearchResultItemEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "issueCount", "description": "The number of issues that matched the search query.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": "A list of nodes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "UNION", "name": "SearchResultItem", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "repositoryCount", "description": "The number of repositories that matched the search query.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "userCount", "description": "The number of users that matched the search query.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "wikiCount", "description": "The number of wiki pages that matched the search query.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SearchResultItemEdge", "description": "An edge in a connection.", "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of the edge.", "args": [], "type": { "kind": "UNION", "name": "SearchResultItem", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "UNION", "name": "SearchResultItem", "description": "The results of a search.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Issue", "ofType": null }, { "kind": "OBJECT", "name": "PullRequest", "ofType": null }, { "kind": "OBJECT", "name": "Repository", "ofType": null }, { "kind": "OBJECT", "name": "User", "ofType": null }, { "kind": "OBJECT", "name": "Organization", "ofType": null } ] }, { "kind": "ENUM", "name": "SearchType", "description": "Represents the individual results of a search.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "ISSUE", "description": "Returns results matching issues in repositories.", "isDeprecated": false, "deprecationReason": null }, { "name": "REPOSITORY", "description": "Returns results matching repositories.", "isDeprecated": false, "deprecationReason": null }, { "name": "USER", "description": "Returns results matching users on GitHub.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "Mutation", "description": "The root query for implementing GraphQL mutations.", "fields": [ { "name": "addComment", "description": "Adds a comment to an Issue or Pull Request.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AddCommentInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "AddCommentPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "addProjectCard", "description": "Adds a card to a ProjectColumn. Either `contentId` or `note` must be provided but **not** both.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AddProjectCardInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "AddProjectCardPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "addProjectColumn", "description": "Adds a column to a Project.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AddProjectColumnInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "AddProjectColumnPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "addPullRequestReview", "description": "Adds a review to a Pull Request.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AddPullRequestReviewInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "AddPullRequestReviewPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "addPullRequestReviewComment", "description": "Adds a comment to a review.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AddPullRequestReviewCommentInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "AddPullRequestReviewCommentPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "addReaction", "description": "Adds a reaction to a subject.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AddReactionInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "AddReactionPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "createProject", "description": "Creates a new project.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CreateProjectInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CreateProjectPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "deleteProject", "description": "Deletes a project.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "DeleteProjectInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "DeleteProjectPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "deleteProjectCard", "description": "Deletes a project card.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "DeleteProjectCardInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "DeleteProjectCardPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "deleteProjectColumn", "description": "Deletes a project column.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "DeleteProjectColumnInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "DeleteProjectColumnPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "deletePullRequestReview", "description": "Deletes a pull request review.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "DeletePullRequestReviewInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "DeletePullRequestReviewPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "dismissPullRequestReview", "description": "Dismisses an approved or rejected pull request review.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "DismissPullRequestReviewInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "DismissPullRequestReviewPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "moveProjectCard", "description": "Moves a project card to another place.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "MoveProjectCardInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "MoveProjectCardPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "moveProjectColumn", "description": "Moves a project column to another place.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "MoveProjectColumnInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "MoveProjectColumnPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "removeOutsideCollaborator", "description": "Removes outside collaborator from all repositories in an organization.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "RemoveOutsideCollaboratorInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "RemoveOutsideCollaboratorPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "removeReaction", "description": "Removes a reaction from a subject.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "RemoveReactionInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "RemoveReactionPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "requestReviews", "description": "Set review requests on a pull request.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "RequestReviewsInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "RequestReviewsPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "submitPullRequestReview", "description": "Submits a pending pull request review.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "SubmitPullRequestReviewInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "SubmitPullRequestReviewPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updateProject", "description": "Updates an existing project.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "UpdateProjectInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "UpdateProjectPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updateProjectCard", "description": "Updates an existing project card.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "UpdateProjectCardInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "UpdateProjectCardPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updateProjectColumn", "description": "Updates an existing project column.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "UpdateProjectColumnInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "UpdateProjectColumnPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatePullRequestReview", "description": "Updates the body of a pull request review.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "UpdatePullRequestReviewInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "UpdatePullRequestReviewPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatePullRequestReviewComment", "description": "Updates a pull request review comment.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "UpdatePullRequestReviewCommentInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "UpdatePullRequestReviewCommentPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updateSubscription", "description": "Updates viewers repository subscription state.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "UpdateSubscriptionInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "UpdateSubscriptionPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "AddReactionPayload", "description": "Autogenerated return type of AddReaction", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "reaction", "description": "The reaction object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Reaction", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "subject", "description": "The reactable subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "Reactable", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "AddReactionInput", "description": "Autogenerated input type of AddReaction", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "subjectId", "description": "The Node ID of the subject to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "content", "description": "The name of the emoji to react with.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "ReactionContent", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "RemoveReactionPayload", "description": "Autogenerated return type of RemoveReaction", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "reaction", "description": "The reaction object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Reaction", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "subject", "description": "The reactable subject.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "Reactable", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "RemoveReactionInput", "description": "Autogenerated input type of RemoveReaction", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "subjectId", "description": "The Node ID of the subject to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "content", "description": "The name of the emoji to react with.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "ReactionContent", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "AddCommentPayload", "description": "Autogenerated return type of AddComment", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "commentEdge", "description": "The edge from the subject's comment connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueCommentEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "subject", "description": "The subject", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "Node", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "timelineEdge", "description": "The edge from the subject's timeline connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "IssueTimelineItemEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "AddCommentInput", "description": "Autogenerated input type of AddComment", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "subjectId", "description": "The Node ID of the subject to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "body", "description": "The contents of the comment.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UpdateSubscriptionPayload", "description": "Autogenerated return type of UpdateSubscription", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "subscribable", "description": "The input subscribable entity.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "Subscribable", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "UpdateSubscriptionInput", "description": "Autogenerated input type of UpdateSubscription", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "subscribableId", "description": "The Node ID of the subscribable object to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "state", "description": "The new state of the subscription.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "SubscriptionState", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CreateProjectPayload", "description": "Autogenerated return type of CreateProject", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "project", "description": "The new project.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Project", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CreateProjectInput", "description": "Autogenerated input type of CreateProject", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "ownerId", "description": "The owner ID to create the project under.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "name", "description": "The name of project.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "body", "description": "The description of project.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UpdateProjectPayload", "description": "Autogenerated return type of UpdateProject", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "project", "description": "The updated project.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Project", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "UpdateProjectInput", "description": "Autogenerated input type of UpdateProject", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "projectId", "description": "The Project ID to update.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "name", "description": "The name of project.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "body", "description": "The description of project.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DeleteProjectPayload", "description": "Autogenerated return type of DeleteProject", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "owner", "description": "The repository or organization the project was removed from.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INTERFACE", "name": "ProjectOwner", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "DeleteProjectInput", "description": "Autogenerated input type of DeleteProject", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "projectId", "description": "The Project ID to update.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "AddProjectColumnPayload", "description": "Autogenerated return type of AddProjectColumn", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "columnEdge", "description": "The edge from the project's column connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectColumnEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "project", "description": "The project", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Project", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "AddProjectColumnInput", "description": "Autogenerated input type of AddProjectColumn", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "projectId", "description": "The Node ID of the project.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "name", "description": "The name of the column.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "MoveProjectColumnPayload", "description": "Autogenerated return type of MoveProjectColumn", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "columnEdge", "description": "The new edge of the moved column.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectColumnEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "MoveProjectColumnInput", "description": "Autogenerated input type of MoveProjectColumn", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "columnId", "description": "The id of the column to move.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "afterColumnId", "description": "Place the new column after the column with this id. Pass null to place it at the front.", "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UpdateProjectColumnPayload", "description": "Autogenerated return type of UpdateProjectColumn", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectColumn", "description": "The updated project column.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectColumn", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "UpdateProjectColumnInput", "description": "Autogenerated input type of UpdateProjectColumn", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "projectColumnId", "description": "The ProjectColumn ID to update.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "name", "description": "The name of project column.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DeleteProjectColumnPayload", "description": "Autogenerated return type of DeleteProjectColumn", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "deletedColumnId", "description": "The deleted column ID.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "project", "description": "The project the deleted column was in.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Project", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "DeleteProjectColumnInput", "description": "Autogenerated input type of DeleteProjectColumn", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "columnId", "description": "The id of the column to delete.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "AddProjectCardPayload", "description": "Autogenerated return type of AddProjectCard", "fields": [ { "name": "cardEdge", "description": "The edge from the ProjectColumn's card connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectCardEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectColumn", "description": "The ProjectColumn", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Project", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "AddProjectCardInput", "description": "Autogenerated input type of AddProjectCard", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "projectColumnId", "description": "The Node ID of the ProjectColumn.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "contentId", "description": "The content of the card. Must be a member of the ProjectCardItem union", "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "note", "description": "The note on the card.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UpdateProjectCardPayload", "description": "Autogenerated return type of UpdateProjectCard", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "projectCard", "description": "The updated ProjectCard.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectCard", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "UpdateProjectCardInput", "description": "Autogenerated input type of UpdateProjectCard", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "projectCardId", "description": "The ProjectCard ID to update.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "note", "description": "The note of ProjectCard.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "MoveProjectCardPayload", "description": "Autogenerated return type of MoveProjectCard", "fields": [ { "name": "cardEdge", "description": "The new edge of the moved card.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectCardEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "MoveProjectCardInput", "description": "Autogenerated input type of MoveProjectCard", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "cardId", "description": "The id of the card to move.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "columnId", "description": "The id of the column to move it into.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "afterCardId", "description": "Place the new card after the card with this id. Pass null to place it at the top.", "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DeleteProjectCardPayload", "description": "Autogenerated return type of DeleteProjectCard", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "column", "description": "The column the deleted card was in.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProjectColumn", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "deletedCardId", "description": "The deleted card ID.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "DeleteProjectCardInput", "description": "Autogenerated input type of DeleteProjectCard", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "cardId", "description": "The id of the card to delete.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "AddPullRequestReviewPayload", "description": "Autogenerated return type of AddPullRequestReview", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequestReview", "description": "The newly created pull request review.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reviewEdge", "description": "The edge from the pull request's review connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReviewEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "AddPullRequestReviewInput", "description": "Autogenerated input type of AddPullRequestReview", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "pullRequestId", "description": "The Node ID of the pull request to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "body", "description": "The contents of the review body comment.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "event", "description": "The event to perform on the pull request review.", "type": { "kind": "ENUM", "name": "PullRequestReviewEvent", "ofType": null }, "defaultValue": null }, { "name": "comments", "description": "The review line comments.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "DraftPullRequestReviewComment", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "PullRequestReviewEvent", "description": "The possible events to perform on a pull request review.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "COMMENT", "description": "Submit general feedback without explicit approval.", "isDeprecated": false, "deprecationReason": null }, { "name": "APPROVE", "description": "Submit feedback and approve merging these changes.", "isDeprecated": false, "deprecationReason": null }, { "name": "REQUEST_CHANGES", "description": "Submit feedback that must be addressed before merging.", "isDeprecated": false, "deprecationReason": null }, { "name": "DISMISS", "description": "Dismiss review so it now longer effects merging.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "DraftPullRequestReviewComment", "description": "Specifies a review comment to be left with a Pull Request Review.", "fields": null, "inputFields": [ { "name": "path", "description": "Path to the file being commented on.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "position", "description": "Position in the file to leave a comment on.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "body", "description": "Body of the comment to leave.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SubmitPullRequestReviewPayload", "description": "Autogenerated return type of SubmitPullRequestReview", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequestReview", "description": "The submitted pull request review.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "SubmitPullRequestReviewInput", "description": "Autogenerated input type of SubmitPullRequestReview", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "pullRequestReviewId", "description": "The Pull Request Review ID to submit.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "event", "description": "The event to send to the Pull Request Review.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "PullRequestReviewEvent", "ofType": null } }, "defaultValue": null }, { "name": "body", "description": "The text field to set on the Pull Request Review.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UpdatePullRequestReviewPayload", "description": "Autogenerated return type of UpdatePullRequestReview", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequestReview", "description": "The updated pull request review.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "UpdatePullRequestReviewInput", "description": "Autogenerated input type of UpdatePullRequestReview", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "pullRequestReviewId", "description": "The Node ID of the pull request review to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "body", "description": "The contents of the pull request review body.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DismissPullRequestReviewPayload", "description": "Autogenerated return type of DismissPullRequestReview", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequestReview", "description": "The dismissed pull request review.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "DismissPullRequestReviewInput", "description": "Autogenerated input type of DismissPullRequestReview", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "pullRequestReviewId", "description": "The Node ID of the pull request review to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "message", "description": "The contents of the pull request review dismissal message.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "DeletePullRequestReviewPayload", "description": "Autogenerated return type of DeletePullRequestReview", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequestReview", "description": "The deleted pull request review.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReview", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "DeletePullRequestReviewInput", "description": "Autogenerated input type of DeletePullRequestReview", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "pullRequestReviewId", "description": "The Node ID of the pull request review to delete.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "AddPullRequestReviewCommentPayload", "description": "Autogenerated return type of AddPullRequestReviewComment", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "comment", "description": "The newly created comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReviewComment", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "commentEdge", "description": "The edge from the review's comment connection.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReviewCommentEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "AddPullRequestReviewCommentInput", "description": "Autogenerated input type of AddPullRequestReviewComment", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "pullRequestReviewId", "description": "The Node ID of the review to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "commitOID", "description": "The SHA of the commit to comment on.", "type": { "kind": "SCALAR", "name": "GitObjectID", "ofType": null }, "defaultValue": null }, { "name": "body", "description": "The text of the comment.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "path", "description": "The relative path of the file to comment on.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "position", "description": "The line index in the diff to comment on.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "inReplyTo", "description": "The comment id to reply to.", "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UpdatePullRequestReviewCommentPayload", "description": "Autogenerated return type of UpdatePullRequestReviewComment", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequestReviewComment", "description": "The updated comment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequestReviewComment", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "UpdatePullRequestReviewCommentInput", "description": "Autogenerated input type of UpdatePullRequestReviewComment", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "pullRequestReviewCommentId", "description": "The Node ID of the comment to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "body", "description": "The text of the comment.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "RemoveOutsideCollaboratorPayload", "description": "Autogenerated return type of RemoveOutsideCollaborator", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "removedUser", "description": "The user that was removed as an outside collaborator.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "User", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "RemoveOutsideCollaboratorInput", "description": "Autogenerated input type of RemoveOutsideCollaborator", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "userId", "description": "The ID of the outside collaborator to remove.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "organizationId", "description": "The ID of the organization to remove the outside collaborator from.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "RequestReviewsPayload", "description": "Autogenerated return type of RequestReviews", "fields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pullRequest", "description": "The pull request that is getting requests.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PullRequest", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "requestedReviewersEdge", "description": "The edge from the pull request to the requested reviewers.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "RequestReviewsInput", "description": "Autogenerated input type of RequestReviews", "fields": null, "inputFields": [ { "name": "clientMutationId", "description": "A unique identifier for the client performing the mutation.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "pullRequestId", "description": "The Node ID of the pull request to modify.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "userIds", "description": "The Node IDs of the users to request.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } } } }, "defaultValue": null }, { "name": "union", "description": "Add users to the set rather than replace.", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Schema", "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.", "fields": [ { "name": "directives", "description": "A list of all directives supported by this server.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Directive", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "mutationType", "description": "If this server supports mutation, the type that mutation operations will be rooted at.", "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "queryType", "description": "The type that query operations will be rooted at.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "subscriptionType", "description": "If this server support subscription, the type that subscription operations will be rooted at.", "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "types", "description": "A list of all types supported by this server.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Type", "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, 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.", "fields": [ { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "enumValues", "description": null, "args": [ { "name": "includeDeprecated", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__EnumValue", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "fields", "description": null, "args": [ { "name": "includeDeprecated", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Field", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "inputFields", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__InputValue", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "interfaces", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "kind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "__TypeKind", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "ofType", "description": null, "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "possibleTypes", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "__TypeKind", "description": "An enum describing what kind of type a given `__Type` is.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "SCALAR", "description": "Indicates this type is a scalar.", "isDeprecated": false, "deprecationReason": null }, { "name": "OBJECT", "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "INTERFACE", "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNION", "description": "Indicates this type is a union. `possibleTypes` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM", "description": "Indicates this type is an enum. `enumValues` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_OBJECT", "description": "Indicates this type is an input object. `inputFields` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "LIST", "description": "Indicates this type is a list. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "NON_NULL", "description": "Indicates this type is a non-null. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "__Field", "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.", "fields": [ { "name": "args", "description": null, "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 } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "deprecationReason", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "isDeprecated", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__InputValue", "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.", "fields": [ { "name": "defaultValue", "description": "A GraphQL-formatted string representing the default value for this input value.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__EnumValue", "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.", "fields": [ { "name": "deprecationReason", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "isDeprecated", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Directive", "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL'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.", "fields": [ { "name": "args", "description": null, "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 } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "locations", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "__DirectiveLocation", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "onField", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." }, { "name": "onFragment", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." }, { "name": "onOperation", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "__DirectiveLocation", "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "QUERY", "description": "Location adjacent to a query operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "MUTATION", "description": "Location adjacent to a mutation operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "SUBSCRIPTION", "description": "Location adjacent to a subscription operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "FIELD", "description": "Location adjacent to a field.", "isDeprecated": false, "deprecationReason": null }, { "name": "FRAGMENT_DEFINITION", "description": "Location adjacent to a fragment definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "FRAGMENT_SPREAD", "description": "Location adjacent to a fragment spread.", "isDeprecated": false, "deprecationReason": null }, { "name": "INLINE_FRAGMENT", "description": "Location adjacent to an inline fragment.", "isDeprecated": false, "deprecationReason": null }, { "name": "SCHEMA", "description": "Location adjacent to a schema definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "SCALAR", "description": "Location adjacent to a scalar definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "OBJECT", "description": "Location adjacent to an object type definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "FIELD_DEFINITION", "description": "Location adjacent to a field definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ARGUMENT_DEFINITION", "description": "Location adjacent to an argument definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INTERFACE", "description": "Location adjacent to an interface definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNION", "description": "Location adjacent to a union definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM", "description": "Location adjacent to an enum definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM_VALUE", "description": "Location adjacent to an enum value definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_OBJECT", "description": "Location adjacent to an input object type definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_FIELD_DEFINITION", "description": "Location adjacent to an input object field definition.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null } ], "directives": [ { "name": "include", "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [ { "name": "if", "description": "Included when true.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "defaultValue": null } ] }, { "name": "skip", "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [ { "name": "if", "description": "Skipped when true.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "defaultValue": null } ] }, { "name": "deprecated", "description": "Marks an element of a GraphQL schema as no longer supported.", "locations": ["FIELD_DEFINITION", "ENUM_VALUE"], "args": [ { "name": "reason", "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": "\"No longer supported\"" } ] } ] } } } ================================================ FILE: demo/presets/shopify_introspection.json ================================================ { "data": { "__schema": { "queryType": { "name": "QueryRoot" }, "mutationType": { "name": "Mutation" }, "subscriptionType": null, "types": [ { "kind": "OBJECT", "name": "QueryRoot", "description": "The schema’s entry-point for queries. This acts as the public, top-level API from which all queries must start.", "fields": [ { "name": "customer", "description": null, "args": [ { "name": "customerAccessToken", "description": "The customer access token", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Customer", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": null, "args": [ { "name": "id", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "INTERFACE", "name": "Node", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "nodes", "description": null, "args": [ { "name": "ids", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } } } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "INTERFACE", "name": "Node", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "shop", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Shop", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INTERFACE", "name": "Node", "description": "An object with an ID to support global identification.", "fields": [ { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "AppliedGiftCard", "ofType": null }, { "kind": "OBJECT", "name": "Article", "ofType": null }, { "kind": "OBJECT", "name": "Blog", "ofType": null }, { "kind": "OBJECT", "name": "Checkout", "ofType": null }, { "kind": "OBJECT", "name": "CheckoutLineItem", "ofType": null }, { "kind": "OBJECT", "name": "Collection", "ofType": null }, { "kind": "OBJECT", "name": "Comment", "ofType": null }, { "kind": "OBJECT", "name": "MailingAddress", "ofType": null }, { "kind": "OBJECT", "name": "Order", "ofType": null }, { "kind": "OBJECT", "name": "Payment", "ofType": null }, { "kind": "OBJECT", "name": "Product", "ofType": null }, { "kind": "OBJECT", "name": "ProductOption", "ofType": null }, { "kind": "OBJECT", "name": "ProductVariant", "ofType": null }, { "kind": "OBJECT", "name": "ShopPolicy", "ofType": null } ] }, { "kind": "SCALAR", "name": "ID", "description": "Represents a unique identifier. It is often used to refetch an object or as key for a cache.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Customer", "description": "A customer represents a customer account with the shop. Customer accounts store contact information for the customer, saving logged-in customers the trouble of having to provide it at every checkout.", "fields": [ { "name": "acceptsMarketing", "description": "Indicates whether the customer has consented to be sent marketing material via email.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "addresses", "description": "A list of addresses for the customer.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "MailingAddressConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "The date and time when the customer was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "defaultAddress", "description": "The customer’s default address.", "args": [], "type": { "kind": "OBJECT", "name": "MailingAddress", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "displayName", "description": "The customer’s name, email or phone number.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "email", "description": "The customer’s email address.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "firstName", "description": "The customer’s first name.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "A unique identifier for the customer.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastName", "description": "The customer’s last name.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "orders", "description": "The orders associated with the customer.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "query", "description": "Supported filter parameters:\n - `processed_at`", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "sortKey", "description": null, "type": { "kind": "ENUM", "name": "OrderSortKeys", "ofType": null }, "defaultValue": "ID" }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "OrderConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "phone", "description": "The customer’s phone number.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "The date and time when the customer information was updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "String", "description": "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Boolean", "description": "Represents `true` or `false` values.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "DateTime", "description": "An ISO-8601 encoded UTC date string.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "MailingAddress", "description": "Represents a mailing address for customers and shipping.", "fields": [ { "name": "address1", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "address2", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "city", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "company", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "country", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "countryCode", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "firstName", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "formatted", "description": null, "args": [ { "name": "withName", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" }, { "name": "withCompany", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "true" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "formattedArea", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastName", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "latitude", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "longitude", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "phone", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "province", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "provinceCode", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "zip", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Float", "description": "Represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point).", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "MailingAddressConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "MailingAddressEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PageInfo", "description": "Information about pagination in a connection.", "fields": [ { "name": "hasNextPage", "description": "Indicates if there are more pages to fetch.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasPreviousPage", "description": "Indicates if there are any pages prior to the current page.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "MailingAddressEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of MailingAddressEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "MailingAddress", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Int", "description": "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "OrderConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "OrderEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "OrderEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of OrderEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Order", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Order", "description": "An order is a customer’s completed request to purchase one or more products from a shop. An order is created when a customer completes the checkout process, during which time they provides an email address, billing address and payment information.", "fields": [ { "name": "currencyCode", "description": "The code of the currency used for the payment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CurrencyCode", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerLocale", "description": "The locale code in which this specific order happened.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerUrl", "description": "The order’s URL for a customer.", "args": [], "type": { "kind": "SCALAR", "name": "URL", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "email", "description": "The customer's email address.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lineItems", "description": "List of the order’s line items.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "OrderLineItemConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "orderNumber", "description": "A unique numeric identifier for the order for use by shop owner and customer.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "phone", "description": "The customer's phone number.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "processedAt", "description": "The date and time when the order was imported.\nThis value can be set to dates in the past when importing from other systems.\nIf no value is provided, it will be auto-generated based on current date and time.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "shippingAddress", "description": "The address to where the order will be shipped.", "args": [], "type": { "kind": "OBJECT", "name": "MailingAddress", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "subtotalPrice", "description": "Price of the order before shipping and taxes.", "args": [], "type": { "kind": "SCALAR", "name": "Money", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalPrice", "description": "The sum of all the prices of all the items in the order, taxes and discounts included (must be positive).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalRefunded", "description": "The total amount that has been refunded.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalShippingPrice", "description": "The total cost of shipping.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalTax", "description": "The total cost of taxes.", "args": [], "type": { "kind": "SCALAR", "name": "Money", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Money", "description": "A monetary value string.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "CurrencyCode", "description": "Currency codes", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "USD", "description": "United States Dollars (USD)", "isDeprecated": false, "deprecationReason": null }, { "name": "EUR", "description": "Euro (EUR)", "isDeprecated": false, "deprecationReason": null }, { "name": "GBP", "description": "United Kingdom Pounds (GBP)", "isDeprecated": false, "deprecationReason": null }, { "name": "CAD", "description": "Canadian Dollars (CAD)", "isDeprecated": false, "deprecationReason": null }, { "name": "AFN", "description": "Afghan Afghani (AFN)", "isDeprecated": false, "deprecationReason": null }, { "name": "ALL", "description": "Albanian Lek (ALL)", "isDeprecated": false, "deprecationReason": null }, { "name": "DZD", "description": "Algerian Dinar (DZD)", "isDeprecated": false, "deprecationReason": null }, { "name": "AOA", "description": "Angolan Kwanza (AOA)", "isDeprecated": false, "deprecationReason": null }, { "name": "ARS", "description": "Argentine Pesos (ARS)", "isDeprecated": false, "deprecationReason": null }, { "name": "AMD", "description": "Armenian Dram (AMD)", "isDeprecated": false, "deprecationReason": null }, { "name": "AWG", "description": "Aruban Florin (AWG)", "isDeprecated": false, "deprecationReason": null }, { "name": "AUD", "description": "Australian Dollars (AUD)", "isDeprecated": false, "deprecationReason": null }, { "name": "BBD", "description": "Barbadian Dollar (BBD)", "isDeprecated": false, "deprecationReason": null }, { "name": "AZN", "description": "Azerbaijani Manat (AZN)", "isDeprecated": false, "deprecationReason": null }, { "name": "BDT", "description": "Bangladesh Taka (BDT)", "isDeprecated": false, "deprecationReason": null }, { "name": "BSD", "description": "Bahamian Dollar (BSD)", "isDeprecated": false, "deprecationReason": null }, { "name": "BHD", "description": "Bahraini Dinar (BHD)", "isDeprecated": false, "deprecationReason": null }, { "name": "BYR", "description": "Belarusian Ruble (BYR)", "isDeprecated": false, "deprecationReason": null }, { "name": "BZD", "description": "Belize Dollar (BZD)", "isDeprecated": false, "deprecationReason": null }, { "name": "BTN", "description": "Bhutanese Ngultrum (BTN)", "isDeprecated": false, "deprecationReason": null }, { "name": "BAM", "description": "Bosnia and Herzegovina Convertible Mark (BAM)", "isDeprecated": false, "deprecationReason": null }, { "name": "BRL", "description": "Brazilian Real (BRL)", "isDeprecated": false, "deprecationReason": null }, { "name": "BOB", "description": "Bolivian Boliviano (BOB)", "isDeprecated": false, "deprecationReason": null }, { "name": "BWP", "description": "Botswana Pula (BWP)", "isDeprecated": false, "deprecationReason": null }, { "name": "BND", "description": "Brunei Dollar (BND)", "isDeprecated": false, "deprecationReason": null }, { "name": "BGN", "description": "Bulgarian Lev (BGN)", "isDeprecated": false, "deprecationReason": null }, { "name": "MMK", "description": "Burmese Kyat (MMK)", "isDeprecated": false, "deprecationReason": null }, { "name": "KHR", "description": "Cambodian Riel", "isDeprecated": false, "deprecationReason": null }, { "name": "CVE", "description": "Cape Verdean escudo (CVE)", "isDeprecated": false, "deprecationReason": null }, { "name": "KYD", "description": "Cayman Dollars (KYD)", "isDeprecated": false, "deprecationReason": null }, { "name": "XAF", "description": "Central African CFA Franc (XAF)", "isDeprecated": false, "deprecationReason": null }, { "name": "CLP", "description": "Chilean Peso (CLP)", "isDeprecated": false, "deprecationReason": null }, { "name": "CNY", "description": "Chinese Yuan Renminbi (CNY)", "isDeprecated": false, "deprecationReason": null }, { "name": "COP", "description": "Colombian Peso (COP)", "isDeprecated": false, "deprecationReason": null }, { "name": "KMF", "description": "Comorian Franc (KMF)", "isDeprecated": false, "deprecationReason": null }, { "name": "CDF", "description": "Congolese franc (CDF)", "isDeprecated": false, "deprecationReason": null }, { "name": "CRC", "description": "Costa Rican Colones (CRC)", "isDeprecated": false, "deprecationReason": null }, { "name": "HRK", "description": "Croatian Kuna (HRK)", "isDeprecated": false, "deprecationReason": null }, { "name": "CZK", "description": "Czech Koruny (CZK)", "isDeprecated": false, "deprecationReason": null }, { "name": "DKK", "description": "Danish Kroner (DKK)", "isDeprecated": false, "deprecationReason": null }, { "name": "DOP", "description": "Dominican Peso (DOP)", "isDeprecated": false, "deprecationReason": null }, { "name": "XCD", "description": "East Caribbean Dollar (XCD)", "isDeprecated": false, "deprecationReason": null }, { "name": "EGP", "description": "Egyptian Pound (EGP)", "isDeprecated": false, "deprecationReason": null }, { "name": "ETB", "description": "Ethiopian Birr (ETB)", "isDeprecated": false, "deprecationReason": null }, { "name": "XPF", "description": "CFP Franc (XPF)", "isDeprecated": false, "deprecationReason": null }, { "name": "FJD", "description": "Fijian Dollars (FJD)", "isDeprecated": false, "deprecationReason": null }, { "name": "GMD", "description": "Gambian Dalasi (GMD)", "isDeprecated": false, "deprecationReason": null }, { "name": "GHS", "description": "Ghanaian Cedi (GHS)", "isDeprecated": false, "deprecationReason": null }, { "name": "GTQ", "description": "Guatemalan Quetzal (GTQ)", "isDeprecated": false, "deprecationReason": null }, { "name": "GYD", "description": "Guyanese Dollar (GYD)", "isDeprecated": false, "deprecationReason": null }, { "name": "GEL", "description": "Georgian Lari (GEL)", "isDeprecated": false, "deprecationReason": null }, { "name": "HTG", "description": "Haitian Gourde (HTG)", "isDeprecated": false, "deprecationReason": null }, { "name": "HNL", "description": "Honduran Lempira (HNL)", "isDeprecated": false, "deprecationReason": null }, { "name": "HKD", "description": "Hong Kong Dollars (HKD)", "isDeprecated": false, "deprecationReason": null }, { "name": "HUF", "description": "Hungarian Forint (HUF)", "isDeprecated": false, "deprecationReason": null }, { "name": "ISK", "description": "Icelandic Kronur (ISK)", "isDeprecated": false, "deprecationReason": null }, { "name": "INR", "description": "Indian Rupees (INR)", "isDeprecated": false, "deprecationReason": null }, { "name": "IDR", "description": "Indonesian Rupiah (IDR)", "isDeprecated": false, "deprecationReason": null }, { "name": "ILS", "description": "Israeli New Shekel (NIS)", "isDeprecated": false, "deprecationReason": null }, { "name": "JMD", "description": "Jamaican Dollars (JMD)", "isDeprecated": false, "deprecationReason": null }, { "name": "JPY", "description": "Japanese Yen (JPY)", "isDeprecated": false, "deprecationReason": null }, { "name": "JEP", "description": "Jersey Pound", "isDeprecated": false, "deprecationReason": null }, { "name": "JOD", "description": "Jordanian Dinar (JOD)", "isDeprecated": false, "deprecationReason": null }, { "name": "KZT", "description": "Kazakhstani Tenge (KZT)", "isDeprecated": false, "deprecationReason": null }, { "name": "KES", "description": "Kenyan Shilling (KES)", "isDeprecated": false, "deprecationReason": null }, { "name": "KWD", "description": "Kuwaiti Dinar (KWD)", "isDeprecated": false, "deprecationReason": null }, { "name": "KGS", "description": "Kyrgyzstani Som (KGS)", "isDeprecated": false, "deprecationReason": null }, { "name": "LAK", "description": "Laotian Kip (LAK)", "isDeprecated": false, "deprecationReason": null }, { "name": "LVL", "description": "Latvian Lati (LVL)", "isDeprecated": false, "deprecationReason": null }, { "name": "LBP", "description": "Lebanese Pounds (LBP)", "isDeprecated": false, "deprecationReason": null }, { "name": "LSL", "description": "Lesotho Loti (LSL)", "isDeprecated": false, "deprecationReason": null }, { "name": "LRD", "description": "Liberian Dollar (LRD)", "isDeprecated": false, "deprecationReason": null }, { "name": "LTL", "description": "Lithuanian Litai (LTL)", "isDeprecated": false, "deprecationReason": null }, { "name": "MGA", "description": "Malagasy Ariary (MGA)", "isDeprecated": false, "deprecationReason": null }, { "name": "MKD", "description": "Macedonia Denar (MKD)", "isDeprecated": false, "deprecationReason": null }, { "name": "MOP", "description": "Macanese Pataca (MOP)", "isDeprecated": false, "deprecationReason": null }, { "name": "MWK", "description": "Malawian Kwacha (MWK)", "isDeprecated": false, "deprecationReason": null }, { "name": "MVR", "description": "Maldivian Rufiyaa (MVR)", "isDeprecated": false, "deprecationReason": null }, { "name": "MXN", "description": "Mexican Pesos (MXN)", "isDeprecated": false, "deprecationReason": null }, { "name": "MYR", "description": "Malaysian Ringgits (MYR)", "isDeprecated": false, "deprecationReason": null }, { "name": "MUR", "description": "Mauritian Rupee (MUR)", "isDeprecated": false, "deprecationReason": null }, { "name": "MDL", "description": "Moldovan Leu (MDL)", "isDeprecated": false, "deprecationReason": null }, { "name": "MAD", "description": "Moroccan Dirham", "isDeprecated": false, "deprecationReason": null }, { "name": "MNT", "description": "Mongolian Tugrik", "isDeprecated": false, "deprecationReason": null }, { "name": "MZN", "description": "Mozambican Metical", "isDeprecated": false, "deprecationReason": null }, { "name": "NAD", "description": "Namibian Dollar", "isDeprecated": false, "deprecationReason": null }, { "name": "NPR", "description": "Nepalese Rupee (NPR)", "isDeprecated": false, "deprecationReason": null }, { "name": "ANG", "description": "Netherlands Antillean Guilder", "isDeprecated": false, "deprecationReason": null }, { "name": "NZD", "description": "New Zealand Dollars (NZD)", "isDeprecated": false, "deprecationReason": null }, { "name": "NIO", "description": "Nicaraguan Córdoba (NIO)", "isDeprecated": false, "deprecationReason": null }, { "name": "NGN", "description": "Nigerian Naira (NGN)", "isDeprecated": false, "deprecationReason": null }, { "name": "NOK", "description": "Norwegian Kroner (NOK)", "isDeprecated": false, "deprecationReason": null }, { "name": "OMR", "description": "Omani Rial (OMR)", "isDeprecated": false, "deprecationReason": null }, { "name": "PKR", "description": "Pakistani Rupee (PKR)", "isDeprecated": false, "deprecationReason": null }, { "name": "PGK", "description": "Papua New Guinean Kina (PGK)", "isDeprecated": false, "deprecationReason": null }, { "name": "PYG", "description": "Paraguayan Guarani (PYG)", "isDeprecated": false, "deprecationReason": null }, { "name": "PEN", "description": "Peruvian Nuevo Sol (PEN)", "isDeprecated": false, "deprecationReason": null }, { "name": "PHP", "description": "Philippine Peso (PHP)", "isDeprecated": false, "deprecationReason": null }, { "name": "PLN", "description": "Polish Zlotych (PLN)", "isDeprecated": false, "deprecationReason": null }, { "name": "QAR", "description": "Qatari Rial (QAR)", "isDeprecated": false, "deprecationReason": null }, { "name": "RON", "description": "Romanian Lei (RON)", "isDeprecated": false, "deprecationReason": null }, { "name": "RUB", "description": "Russian Rubles (RUB)", "isDeprecated": false, "deprecationReason": null }, { "name": "RWF", "description": "Rwandan Franc (RWF)", "isDeprecated": false, "deprecationReason": null }, { "name": "WST", "description": "Samoan Tala (WST)", "isDeprecated": false, "deprecationReason": null }, { "name": "SAR", "description": "Saudi Riyal (SAR)", "isDeprecated": false, "deprecationReason": null }, { "name": "STD", "description": "Sao Tome And Principe Dobra (STD)", "isDeprecated": false, "deprecationReason": null }, { "name": "RSD", "description": "Serbian dinar (RSD)", "isDeprecated": false, "deprecationReason": null }, { "name": "SCR", "description": "Seychellois Rupee (SCR)", "isDeprecated": false, "deprecationReason": null }, { "name": "SGD", "description": "Singapore Dollars (SGD)", "isDeprecated": false, "deprecationReason": null }, { "name": "SDG", "description": "Sudanese Pound (SDG)", "isDeprecated": false, "deprecationReason": null }, { "name": "SYP", "description": "Syrian Pound (SYP)", "isDeprecated": false, "deprecationReason": null }, { "name": "ZAR", "description": "South African Rand (ZAR)", "isDeprecated": false, "deprecationReason": null }, { "name": "KRW", "description": "South Korean Won (KRW)", "isDeprecated": false, "deprecationReason": null }, { "name": "SSP", "description": "South Sudanese Pound (SSP)", "isDeprecated": false, "deprecationReason": null }, { "name": "SBD", "description": "Solomon Islands Dollar (SBD)", "isDeprecated": false, "deprecationReason": null }, { "name": "LKR", "description": "Sri Lankan Rupees (LKR)", "isDeprecated": false, "deprecationReason": null }, { "name": "SRD", "description": "Surinamese Dollar (SRD)", "isDeprecated": false, "deprecationReason": null }, { "name": "SEK", "description": "Swedish Kronor (SEK)", "isDeprecated": false, "deprecationReason": null }, { "name": "CHF", "description": "Swiss Francs (CHF)", "isDeprecated": false, "deprecationReason": null }, { "name": "TWD", "description": "Taiwan Dollars (TWD)", "isDeprecated": false, "deprecationReason": null }, { "name": "THB", "description": "Thai baht (THB)", "isDeprecated": false, "deprecationReason": null }, { "name": "TZS", "description": "Tanzanian Shilling (TZS)", "isDeprecated": false, "deprecationReason": null }, { "name": "TTD", "description": "Trinidad and Tobago Dollars (TTD)", "isDeprecated": false, "deprecationReason": null }, { "name": "TND", "description": "Tunisian Dinar (TND)", "isDeprecated": false, "deprecationReason": null }, { "name": "TRY", "description": "Turkish Lira (TRY)", "isDeprecated": false, "deprecationReason": null }, { "name": "TMT", "description": "Turkmenistani Manat (TMT)", "isDeprecated": false, "deprecationReason": null }, { "name": "UGX", "description": "Ugandan Shilling (UGX)", "isDeprecated": false, "deprecationReason": null }, { "name": "UAH", "description": "Ukrainian Hryvnia (UAH)", "isDeprecated": false, "deprecationReason": null }, { "name": "AED", "description": "United Arab Emirates Dirham (AED)", "isDeprecated": false, "deprecationReason": null }, { "name": "UYU", "description": "Uruguayan Pesos (UYU)", "isDeprecated": false, "deprecationReason": null }, { "name": "UZS", "description": "Uzbekistan som (UZS)", "isDeprecated": false, "deprecationReason": null }, { "name": "VUV", "description": "Vanuatu Vatu (VUV)", "isDeprecated": false, "deprecationReason": null }, { "name": "VEF", "description": "Venezuelan Bolivares (VEF)", "isDeprecated": false, "deprecationReason": null }, { "name": "VND", "description": "Vietnamese đồng (VND)", "isDeprecated": false, "deprecationReason": null }, { "name": "XOF", "description": "West African CFA franc (XOF)", "isDeprecated": false, "deprecationReason": null }, { "name": "YER", "description": "Yemeni Rial (YER)", "isDeprecated": false, "deprecationReason": null }, { "name": "ZMW", "description": "Zambian Kwacha (ZMW)", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "SCALAR", "name": "URL", "description": "An RFC 3986 and RFC 3987 compliant URI string.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "OrderLineItemConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "OrderLineItemEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "OrderLineItemEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of OrderLineItemEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "OrderLineItem", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "OrderLineItem", "description": "Represents a single line in an order. There is one line item for each distinct product variant.", "fields": [ { "name": "customAttributes", "description": "List of custom attributes associated to the line item.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Attribute", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "quantity", "description": "The number of products variants associated to the line item.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "The title of the product combined with title of the variant.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "variant", "description": "The product variant object associated to the line item.", "args": [], "type": { "kind": "OBJECT", "name": "ProductVariant", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProductVariant", "description": "A product variant represents a different version of a product, such as differing sizes or differing colors.", "fields": [ { "name": "available", "description": "Indicates if the product variant is in stock.", "args": [], "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "isDeprecated": true, "deprecationReason": "Use `availableForSale` instead" }, { "name": "availableForSale", "description": "Indicates if the product variant is available for sale.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "compareAtPrice", "description": "The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPrice` is higher than `price`.", "args": [], "type": { "kind": "SCALAR", "name": "Money", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "image", "description": "Image associated with the product variant.", "args": [ { "name": "maxWidth", "description": "Image width in pixels between 1 and 2048", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "maxHeight", "description": "Image height in pixels between 1 and 2048", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "crop", "description": "If specified, crop the image keeping the specified region", "type": { "kind": "ENUM", "name": "CropRegion", "ofType": null }, "defaultValue": null }, { "name": "scale", "description": "Image size multiplier retina displays. Must be between 1 and 3", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": "1" } ], "type": { "kind": "OBJECT", "name": "Image", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "price", "description": "The product variant’s price.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "product", "description": "The product object that the product variant belongs to.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Product", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "selectedOptions", "description": "List of product options applied to the variant.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "SelectedOption", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "sku", "description": "The SKU (Stock Keeping Unit) associated with the variant.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "The product variant’s title.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "weight", "description": "The weight of the product variant in the unit system specified with `weight_unit`.", "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "weightUnit", "description": "Unit of measurement for weight.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "WeightUnit", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "WeightUnit", "description": "Units of measurements for weight.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "KILOGRAMS", "description": "1 equals 1000 grams", "isDeprecated": false, "deprecationReason": null }, { "name": "GRAMS", "description": "Metric system unit of mass", "isDeprecated": false, "deprecationReason": null }, { "name": "POUNDS", "description": "1 equals 16 ounces", "isDeprecated": false, "deprecationReason": null }, { "name": "OUNCES", "description": "Imperial system unit of mass", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "Image", "description": "Represents an image resource.", "fields": [ { "name": "altText", "description": "A word or phrase to share the nature or contents of an image.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "A unique identifier for the image.", "args": [], "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "src", "description": "The location of the image as a URL.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URL", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "CropRegion", "description": "The part of the image that should remain after cropping.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "CENTER", "description": "Keep the center of the image", "isDeprecated": false, "deprecationReason": null }, { "name": "TOP", "description": "Keep the top of the image", "isDeprecated": false, "deprecationReason": null }, { "name": "BOTTOM", "description": "Keep the bottom of the image", "isDeprecated": false, "deprecationReason": null }, { "name": "LEFT", "description": "Keep the left of the image", "isDeprecated": false, "deprecationReason": null }, { "name": "RIGHT", "description": "Keep the right of the image", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "SelectedOption", "description": "Custom properties that a shop owner can use to define product variants.\nMultiple options can exist. Options are represented as: option1, option2, option3, etc.\n", "fields": [ { "name": "name", "description": "The product option’s name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "value", "description": "The product option’s value.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Product", "description": "A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be. \nFor example, a digital download (such as a movie, music or ebook file) also qualifies as a product, as do services (such as equipment rental, work for hire, customization of another product or an extended warranty).", "fields": [ { "name": "collections", "description": "List of collections a product belongs to.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CollectionConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "The date and time when the product was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": "Stripped description of the product, single line with HTML tags removed.", "args": [ { "name": "truncateAt", "description": "Truncates string after the given length.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "descriptionHtml", "description": "The description of the product, complete with HTML formatting.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "handle", "description": "A human-friendly unique string for the Product automatically generated from its title.\nThey are used by the Liquid templating language to refer to objects.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "images", "description": "List of images associated with the product.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "sortKey", "description": null, "type": { "kind": "ENUM", "name": "ProductImageSortKeys", "ofType": null }, "defaultValue": "POSITION" }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" }, { "name": "maxWidth", "description": "Image width in pixels between 1 and 2048", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "maxHeight", "description": "Image height in pixels between 1 and 2048", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "crop", "description": "If specified, crop the image keeping the specified region", "type": { "kind": "ENUM", "name": "CropRegion", "ofType": null }, "defaultValue": null }, { "name": "scale", "description": "Image size multiplier retina displays. Must be between 1 and 3", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": "1" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ImageConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "options", "description": "Lst of custom product options (maximum of 3 per product).", "args": [ { "name": "first", "description": "Truncate the array result to this size", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProductOption", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "productType", "description": "A categorization that a product can be tagged with, commonly used for filtering and searching.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "publishedAt", "description": "The date and time when the product was published to the Online Store channel.\nA value of `null` indicates that the product is not published to Online Store.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "tags", "description": "A categorization that a product can be tagged with, commonly used for filtering and searching.\nEach comma-separated tag has a character limit of 255.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "The product’s title.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "The date and time when the product was last modified.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "variantBySelectedOptions", "description": "Find a product’s variant based on its selected options.\nThis is useful for converting a user’s selection of product options into a single matching variant.\nIf there is not a variant for the selected options, `null` will be returned.\n", "args": [ { "name": "selectedOptions", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "SelectedOptionInput", "ofType": null } } } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "ProductVariant", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "variants", "description": "List of the product’s variants.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProductVariantConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "vendor", "description": "The product’s vendor name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CollectionConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CollectionEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CollectionEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of CollectionEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Collection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Collection", "description": "A collection represents a grouping of products that a shop owner can create to organize them or make their shops easier to browse.", "fields": [ { "name": "description", "description": "Stripped description of the collection, single line with HTML tags removed.", "args": [ { "name": "truncateAt", "description": "Truncates string after the given length.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "descriptionHtml", "description": "The description of the collection, complete with HTML formatting.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "handle", "description": "A human-friendly unique string for the collection automatically generated from its title.\nLimit of 255 characters.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "image", "description": "Image associated with the collection.", "args": [ { "name": "maxWidth", "description": "Image width in pixels between 1 and 2048", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "maxHeight", "description": "Image height in pixels between 1 and 2048", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "crop", "description": "If specified, crop the image keeping the specified region", "type": { "kind": "ENUM", "name": "CropRegion", "ofType": null }, "defaultValue": null }, { "name": "scale", "description": "Image size multiplier retina displays. Must be between 1 and 3", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": "1" } ], "type": { "kind": "OBJECT", "name": "Image", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "products", "description": "List of products in the collection.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "sortKey", "description": null, "type": { "kind": "ENUM", "name": "ProductCollectionSortKeys", "ofType": null }, "defaultValue": "COLLECTION_DEFAULT" }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProductConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "The collection’s name. Limit of 255 characters.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "The date and time when the collection was last modified.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "HTML", "description": "A string containing HTML code.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProductConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProductEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProductEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of ProductEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Product", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "ProductCollectionSortKeys", "description": "The set of valid sort keys for the products query.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "MANUAL", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "BEST_SELLING", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "TITLE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "PRICE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "CREATED", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "COLLECTION_DEFAULT", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "ID", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "RELEVANCE", "description": null, "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "ImageConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ImageEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ImageEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of ImageEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Image", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "ProductImageSortKeys", "description": "The set of valid sort keys for the images query.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "CREATED_AT", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "POSITION", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "ID", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "RELEVANCE", "description": null, "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "SelectedOptionInput", "description": "Specifies the input fields required for a selected option.", "fields": null, "inputFields": [ { "name": "name", "description": "The product option’s name.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "value", "description": "The product option’s value.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProductOption", "description": "Custom product property names like \"Size\", \"Color\", and \"Material\".\nProducts are based on permutations of these options.\nA product may have a maximum of 3 options.\n255 characters limit each.\n", "fields": [ { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The product option’s name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "values", "description": "The corresponding value to the product option name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProductVariantConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProductVariantEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ProductVariantEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of ProductVariantEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProductVariant", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Attribute", "description": "Represents a generic custom attribute.", "fields": [ { "name": "key", "description": "Key or name of the attribute.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "value", "description": "Value of the attribute.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "OrderSortKeys", "description": "The set of valid sort keys for the orders query.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "PROCESSED_AT", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "TOTAL_PRICE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "ID", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "RELEVANCE", "description": null, "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "Shop", "description": "Shop represents a collection of the general settings and information about the shop.", "fields": [ { "name": "articles", "description": "List of the shop' articles.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "query", "description": "Supported filter parameters:\n - `author`\n - `updated_at`\n - `created_at`\n - `blog_title`\n - `tag`", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "sortKey", "description": null, "type": { "kind": "ENUM", "name": "ArticleSortKeys", "ofType": null }, "defaultValue": "ID" }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ArticleConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "blogs", "description": "List of the shop' blogs.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "query", "description": "Supported filter parameters:\n - `handle`\n - `title`\n - `updated_at`\n - `created_at`", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "sortKey", "description": null, "type": { "kind": "ENUM", "name": "BlogSortKeys", "ofType": null }, "defaultValue": "ID" }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "BlogConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "cardVaultUrl", "description": "The url pointing to the endpoint to vault credit cards.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URL", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `paymentSettings` instead" }, { "name": "collectionByHandle", "description": "Find a collection by its handle.", "args": [ { "name": "handle", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Collection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "collections", "description": "List of the shop’s collections.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "query", "description": "Supported filter parameters:\n - `title`\n - `collection_type`\n - `updated_at`", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "sortKey", "description": null, "type": { "kind": "ENUM", "name": "CollectionSortKeys", "ofType": null }, "defaultValue": "ID" }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CollectionConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "currencyCode", "description": "The three-letter code for the currency that the shop accepts.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CurrencyCode", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `paymentSettings` instead" }, { "name": "description", "description": "A description of the shop.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "moneyFormat", "description": "A string representing the way currency is formatted when the currency isn’t specified.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The shop’s name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "paymentSettings", "description": "Settings related to payments.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PaymentSettings", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "primaryDomain", "description": "The shop’s primary domain.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Domain", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "privacyPolicy", "description": "The shop’s privacy policy.", "args": [], "type": { "kind": "OBJECT", "name": "ShopPolicy", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "productByHandle", "description": "Find a product by its handle.", "args": [ { "name": "handle", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Product", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "productTypes", "description": "List of the shop’s product types.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "StringConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "products", "description": "List of the shop’s products.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "query", "description": "Supported filter parameters:\n - `title`\n - `product_type`\n - `vendor`\n - `created_at`\n - `updated_at`\n - `tag`", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "sortKey", "description": null, "type": { "kind": "ENUM", "name": "ProductSortKeys", "ofType": null }, "defaultValue": "ID" }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ProductConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "refundPolicy", "description": "The shop’s refund policy.", "args": [], "type": { "kind": "OBJECT", "name": "ShopPolicy", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "shopifyPaymentsAccountId", "description": "The shop’s Shopify Payments account id.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": true, "deprecationReason": "Use `paymentSettings` instead" }, { "name": "termsOfService", "description": "The shop’s terms of service.", "args": [], "type": { "kind": "OBJECT", "name": "ShopPolicy", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PaymentSettings", "description": "Settings related to payments.", "fields": [ { "name": "acceptedCardBrands", "description": "List of the card brands which the shop accepts.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CardBrand", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "cardVaultUrl", "description": "The url pointing to the endpoint to vault credit cards.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URL", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "countryCode", "description": "The country where the shop is located.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CountryCode", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "currencyCode", "description": "The three-letter code for the currency that the shop accepts.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CurrencyCode", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "shopifyPaymentsAccountId", "description": "The shop’s Shopify Payments account id.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "supportedDigitalWallets", "description": "List of the digital wallets which the shop supports.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "DigitalWallet", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "CountryCode", "description": "ISO 3166-1 alpha-2 country codes with some differences.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "CA", "description": "Canada", "isDeprecated": false, "deprecationReason": null }, { "name": "US", "description": "United States", "isDeprecated": false, "deprecationReason": null }, { "name": "GB", "description": "United Kingdom", "isDeprecated": false, "deprecationReason": null }, { "name": "AF", "description": "Afghanistan", "isDeprecated": false, "deprecationReason": null }, { "name": "AL", "description": "Albania", "isDeprecated": false, "deprecationReason": null }, { "name": "DZ", "description": "Algeria", "isDeprecated": false, "deprecationReason": null }, { "name": "AD", "description": "Andorra", "isDeprecated": false, "deprecationReason": null }, { "name": "AO", "description": "Angola", "isDeprecated": false, "deprecationReason": null }, { "name": "AG", "description": "Antigua And Barbuda", "isDeprecated": false, "deprecationReason": null }, { "name": "AR", "description": "Argentina", "isDeprecated": false, "deprecationReason": null }, { "name": "AM", "description": "Armenia", "isDeprecated": false, "deprecationReason": null }, { "name": "AW", "description": "Aruba", "isDeprecated": false, "deprecationReason": null }, { "name": "AU", "description": "Australia", "isDeprecated": false, "deprecationReason": null }, { "name": "AT", "description": "Austria", "isDeprecated": false, "deprecationReason": null }, { "name": "AZ", "description": "Azerbaijan", "isDeprecated": false, "deprecationReason": null }, { "name": "BS", "description": "Bahamas", "isDeprecated": false, "deprecationReason": null }, { "name": "BH", "description": "Bahrain", "isDeprecated": false, "deprecationReason": null }, { "name": "BD", "description": "Bangladesh", "isDeprecated": false, "deprecationReason": null }, { "name": "BB", "description": "Barbados", "isDeprecated": false, "deprecationReason": null }, { "name": "BY", "description": "Belarus", "isDeprecated": false, "deprecationReason": null }, { "name": "BE", "description": "Belgium", "isDeprecated": false, "deprecationReason": null }, { "name": "BZ", "description": "Belize", "isDeprecated": false, "deprecationReason": null }, { "name": "BJ", "description": "Benin", "isDeprecated": false, "deprecationReason": null }, { "name": "BM", "description": "Bermuda", "isDeprecated": false, "deprecationReason": null }, { "name": "BT", "description": "Bhutan", "isDeprecated": false, "deprecationReason": null }, { "name": "BO", "description": "Bolivia", "isDeprecated": false, "deprecationReason": null }, { "name": "BA", "description": "Bosnia And Herzegovina", "isDeprecated": false, "deprecationReason": null }, { "name": "BW", "description": "Botswana", "isDeprecated": false, "deprecationReason": null }, { "name": "BR", "description": "Brazil", "isDeprecated": false, "deprecationReason": null }, { "name": "BN", "description": "Brunei", "isDeprecated": false, "deprecationReason": null }, { "name": "BG", "description": "Bulgaria", "isDeprecated": false, "deprecationReason": null }, { "name": "NC", "description": "New Caledonia", "isDeprecated": false, "deprecationReason": null }, { "name": "KH", "description": "Cambodia", "isDeprecated": false, "deprecationReason": null }, { "name": "CM", "description": "Republic of Cameroon", "isDeprecated": false, "deprecationReason": null }, { "name": "CV", "description": "Cape Verde", "isDeprecated": false, "deprecationReason": null }, { "name": "KY", "description": "Cayman Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "CL", "description": "Chile", "isDeprecated": false, "deprecationReason": null }, { "name": "CN", "description": "China", "isDeprecated": false, "deprecationReason": null }, { "name": "CO", "description": "Colombia", "isDeprecated": false, "deprecationReason": null }, { "name": "KM", "description": "Comoros", "isDeprecated": false, "deprecationReason": null }, { "name": "CG", "description": "Congo", "isDeprecated": false, "deprecationReason": null }, { "name": "CD", "description": "Congo, The Democratic Republic Of The", "isDeprecated": false, "deprecationReason": null }, { "name": "CR", "description": "Costa Rica", "isDeprecated": false, "deprecationReason": null }, { "name": "CI", "description": "Côte d'Ivoire", "isDeprecated": false, "deprecationReason": null }, { "name": "HR", "description": "Croatia", "isDeprecated": false, "deprecationReason": null }, { "name": "CW", "description": "Curaçao", "isDeprecated": false, "deprecationReason": null }, { "name": "CY", "description": "Cyprus", "isDeprecated": false, "deprecationReason": null }, { "name": "CZ", "description": "Czech Republic", "isDeprecated": false, "deprecationReason": null }, { "name": "DK", "description": "Denmark", "isDeprecated": false, "deprecationReason": null }, { "name": "DM", "description": "Dominica", "isDeprecated": false, "deprecationReason": null }, { "name": "DO", "description": "Dominican Republic", "isDeprecated": false, "deprecationReason": null }, { "name": "EC", "description": "Ecuador", "isDeprecated": false, "deprecationReason": null }, { "name": "EG", "description": "Egypt", "isDeprecated": false, "deprecationReason": null }, { "name": "SV", "description": "El Salvador", "isDeprecated": false, "deprecationReason": null }, { "name": "EE", "description": "Estonia", "isDeprecated": false, "deprecationReason": null }, { "name": "ET", "description": "Ethiopia", "isDeprecated": false, "deprecationReason": null }, { "name": "GQ", "description": "Equatorial Guinea", "isDeprecated": false, "deprecationReason": null }, { "name": "FO", "description": "Faroe Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "FJ", "description": "Fiji", "isDeprecated": false, "deprecationReason": null }, { "name": "FI", "description": "Finland", "isDeprecated": false, "deprecationReason": null }, { "name": "FR", "description": "France", "isDeprecated": false, "deprecationReason": null }, { "name": "PF", "description": "French Polynesia", "isDeprecated": false, "deprecationReason": null }, { "name": "GA", "description": "Gabon", "isDeprecated": false, "deprecationReason": null }, { "name": "GM", "description": "Gambia", "isDeprecated": false, "deprecationReason": null }, { "name": "GE", "description": "Georgia", "isDeprecated": false, "deprecationReason": null }, { "name": "DE", "description": "Germany", "isDeprecated": false, "deprecationReason": null }, { "name": "GH", "description": "Ghana", "isDeprecated": false, "deprecationReason": null }, { "name": "GI", "description": "Gibraltar", "isDeprecated": false, "deprecationReason": null }, { "name": "GR", "description": "Greece", "isDeprecated": false, "deprecationReason": null }, { "name": "GL", "description": "Greenland", "isDeprecated": false, "deprecationReason": null }, { "name": "GD", "description": "Grenada", "isDeprecated": false, "deprecationReason": null }, { "name": "GP", "description": "Guadeloupe", "isDeprecated": false, "deprecationReason": null }, { "name": "GT", "description": "Guatemala", "isDeprecated": false, "deprecationReason": null }, { "name": "GG", "description": "Guernsey", "isDeprecated": false, "deprecationReason": null }, { "name": "GY", "description": "Guyana", "isDeprecated": false, "deprecationReason": null }, { "name": "HT", "description": "Haiti", "isDeprecated": false, "deprecationReason": null }, { "name": "HN", "description": "Honduras", "isDeprecated": false, "deprecationReason": null }, { "name": "HK", "description": "Hong Kong", "isDeprecated": false, "deprecationReason": null }, { "name": "HU", "description": "Hungary", "isDeprecated": false, "deprecationReason": null }, { "name": "IS", "description": "Iceland", "isDeprecated": false, "deprecationReason": null }, { "name": "IN", "description": "India", "isDeprecated": false, "deprecationReason": null }, { "name": "ID", "description": "Indonesia", "isDeprecated": false, "deprecationReason": null }, { "name": "IE", "description": "Ireland", "isDeprecated": false, "deprecationReason": null }, { "name": "IM", "description": "Isle Of Man", "isDeprecated": false, "deprecationReason": null }, { "name": "IL", "description": "Israel", "isDeprecated": false, "deprecationReason": null }, { "name": "IT", "description": "Italy", "isDeprecated": false, "deprecationReason": null }, { "name": "JM", "description": "Jamaica", "isDeprecated": false, "deprecationReason": null }, { "name": "JP", "description": "Japan", "isDeprecated": false, "deprecationReason": null }, { "name": "JE", "description": "Jersey", "isDeprecated": false, "deprecationReason": null }, { "name": "JO", "description": "Jordan", "isDeprecated": false, "deprecationReason": null }, { "name": "KZ", "description": "Kazakhstan", "isDeprecated": false, "deprecationReason": null }, { "name": "KE", "description": "Kenya", "isDeprecated": false, "deprecationReason": null }, { "name": "XK", "description": "Kosovo", "isDeprecated": false, "deprecationReason": null }, { "name": "KW", "description": "Kuwait", "isDeprecated": false, "deprecationReason": null }, { "name": "KG", "description": "Kyrgyzstan", "isDeprecated": false, "deprecationReason": null }, { "name": "LA", "description": "Lao People's Democratic Republic", "isDeprecated": false, "deprecationReason": null }, { "name": "LV", "description": "Latvia", "isDeprecated": false, "deprecationReason": null }, { "name": "LB", "description": "Lebanon", "isDeprecated": false, "deprecationReason": null }, { "name": "LS", "description": "Lesotho", "isDeprecated": false, "deprecationReason": null }, { "name": "LR", "description": "Liberia", "isDeprecated": false, "deprecationReason": null }, { "name": "LI", "description": "Liechtenstein", "isDeprecated": false, "deprecationReason": null }, { "name": "LT", "description": "Lithuania", "isDeprecated": false, "deprecationReason": null }, { "name": "LU", "description": "Luxembourg", "isDeprecated": false, "deprecationReason": null }, { "name": "MO", "description": "Macao", "isDeprecated": false, "deprecationReason": null }, { "name": "MK", "description": "Macedonia, Republic Of", "isDeprecated": false, "deprecationReason": null }, { "name": "MG", "description": "Madagascar", "isDeprecated": false, "deprecationReason": null }, { "name": "MW", "description": "Malawi", "isDeprecated": false, "deprecationReason": null }, { "name": "MY", "description": "Malaysia", "isDeprecated": false, "deprecationReason": null }, { "name": "MV", "description": "Maldives", "isDeprecated": false, "deprecationReason": null }, { "name": "MT", "description": "Malta", "isDeprecated": false, "deprecationReason": null }, { "name": "MQ", "description": "Martinique", "isDeprecated": false, "deprecationReason": null }, { "name": "MU", "description": "Mauritius", "isDeprecated": false, "deprecationReason": null }, { "name": "YT", "description": "Mayotte", "isDeprecated": false, "deprecationReason": null }, { "name": "MX", "description": "Mexico", "isDeprecated": false, "deprecationReason": null }, { "name": "MD", "description": "Moldova, Republic of", "isDeprecated": false, "deprecationReason": null }, { "name": "MC", "description": "Monaco", "isDeprecated": false, "deprecationReason": null }, { "name": "MN", "description": "Mongolia", "isDeprecated": false, "deprecationReason": null }, { "name": "ME", "description": "Montenegro", "isDeprecated": false, "deprecationReason": null }, { "name": "MA", "description": "Morocco", "isDeprecated": false, "deprecationReason": null }, { "name": "MZ", "description": "Mozambique", "isDeprecated": false, "deprecationReason": null }, { "name": "MM", "description": "Myanmar", "isDeprecated": false, "deprecationReason": null }, { "name": "NA", "description": "Namibia", "isDeprecated": false, "deprecationReason": null }, { "name": "NP", "description": "Nepal", "isDeprecated": false, "deprecationReason": null }, { "name": "AN", "description": "Netherlands Antilles", "isDeprecated": false, "deprecationReason": null }, { "name": "NL", "description": "Netherlands", "isDeprecated": false, "deprecationReason": null }, { "name": "NZ", "description": "New Zealand", "isDeprecated": false, "deprecationReason": null }, { "name": "NI", "description": "Nicaragua", "isDeprecated": false, "deprecationReason": null }, { "name": "NE", "description": "Niger", "isDeprecated": false, "deprecationReason": null }, { "name": "NG", "description": "Nigeria", "isDeprecated": false, "deprecationReason": null }, { "name": "NO", "description": "Norway", "isDeprecated": false, "deprecationReason": null }, { "name": "OM", "description": "Oman", "isDeprecated": false, "deprecationReason": null }, { "name": "PK", "description": "Pakistan", "isDeprecated": false, "deprecationReason": null }, { "name": "PS", "description": "Palestinian Territory, Occupied", "isDeprecated": false, "deprecationReason": null }, { "name": "PA", "description": "Panama", "isDeprecated": false, "deprecationReason": null }, { "name": "PG", "description": "Papua New Guinea", "isDeprecated": false, "deprecationReason": null }, { "name": "PY", "description": "Paraguay", "isDeprecated": false, "deprecationReason": null }, { "name": "PE", "description": "Peru", "isDeprecated": false, "deprecationReason": null }, { "name": "PH", "description": "Philippines", "isDeprecated": false, "deprecationReason": null }, { "name": "PL", "description": "Poland", "isDeprecated": false, "deprecationReason": null }, { "name": "PT", "description": "Portugal", "isDeprecated": false, "deprecationReason": null }, { "name": "QA", "description": "Qatar", "isDeprecated": false, "deprecationReason": null }, { "name": "RE", "description": "Reunion", "isDeprecated": false, "deprecationReason": null }, { "name": "RO", "description": "Romania", "isDeprecated": false, "deprecationReason": null }, { "name": "RU", "description": "Russia", "isDeprecated": false, "deprecationReason": null }, { "name": "RW", "description": "Rwanda", "isDeprecated": false, "deprecationReason": null }, { "name": "KN", "description": "Saint Kitts And Nevis", "isDeprecated": false, "deprecationReason": null }, { "name": "LC", "description": "Saint Lucia", "isDeprecated": false, "deprecationReason": null }, { "name": "MF", "description": "Saint Martin", "isDeprecated": false, "deprecationReason": null }, { "name": "ST", "description": "Sao Tome And Principe", "isDeprecated": false, "deprecationReason": null }, { "name": "WS", "description": "Samoa", "isDeprecated": false, "deprecationReason": null }, { "name": "SA", "description": "Saudi Arabia", "isDeprecated": false, "deprecationReason": null }, { "name": "SN", "description": "Senegal", "isDeprecated": false, "deprecationReason": null }, { "name": "RS", "description": "Serbia", "isDeprecated": false, "deprecationReason": null }, { "name": "SC", "description": "Seychelles", "isDeprecated": false, "deprecationReason": null }, { "name": "SG", "description": "Singapore", "isDeprecated": false, "deprecationReason": null }, { "name": "SX", "description": "Sint Maarten", "isDeprecated": false, "deprecationReason": null }, { "name": "SK", "description": "Slovakia", "isDeprecated": false, "deprecationReason": null }, { "name": "SI", "description": "Slovenia", "isDeprecated": false, "deprecationReason": null }, { "name": "SB", "description": "Solomon Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "ZA", "description": "South Africa", "isDeprecated": false, "deprecationReason": null }, { "name": "KR", "description": "South Korea", "isDeprecated": false, "deprecationReason": null }, { "name": "SS", "description": "South Sudan", "isDeprecated": false, "deprecationReason": null }, { "name": "ES", "description": "Spain", "isDeprecated": false, "deprecationReason": null }, { "name": "LK", "description": "Sri Lanka", "isDeprecated": false, "deprecationReason": null }, { "name": "VC", "description": "St. Vincent", "isDeprecated": false, "deprecationReason": null }, { "name": "SD", "description": "Sudan", "isDeprecated": false, "deprecationReason": null }, { "name": "SR", "description": "Suriname", "isDeprecated": false, "deprecationReason": null }, { "name": "SE", "description": "Sweden", "isDeprecated": false, "deprecationReason": null }, { "name": "CH", "description": "Switzerland", "isDeprecated": false, "deprecationReason": null }, { "name": "SY", "description": "Syria", "isDeprecated": false, "deprecationReason": null }, { "name": "TW", "description": "Taiwan", "isDeprecated": false, "deprecationReason": null }, { "name": "TZ", "description": "Tanzania, United Republic Of", "isDeprecated": false, "deprecationReason": null }, { "name": "TH", "description": "Thailand", "isDeprecated": false, "deprecationReason": null }, { "name": "TT", "description": "Trinidad and Tobago", "isDeprecated": false, "deprecationReason": null }, { "name": "TN", "description": "Tunisia", "isDeprecated": false, "deprecationReason": null }, { "name": "TR", "description": "Turkey", "isDeprecated": false, "deprecationReason": null }, { "name": "TM", "description": "Turkmenistan", "isDeprecated": false, "deprecationReason": null }, { "name": "TC", "description": "Turks and Caicos Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "UG", "description": "Uganda", "isDeprecated": false, "deprecationReason": null }, { "name": "UA", "description": "Ukraine", "isDeprecated": false, "deprecationReason": null }, { "name": "AE", "description": "United Arab Emirates", "isDeprecated": false, "deprecationReason": null }, { "name": "UY", "description": "Uruguay", "isDeprecated": false, "deprecationReason": null }, { "name": "UZ", "description": "Uzbekistan", "isDeprecated": false, "deprecationReason": null }, { "name": "VU", "description": "Vanuatu", "isDeprecated": false, "deprecationReason": null }, { "name": "VE", "description": "Venezuela", "isDeprecated": false, "deprecationReason": null }, { "name": "VN", "description": "Vietnam", "isDeprecated": false, "deprecationReason": null }, { "name": "VG", "description": "Virgin Islands, British", "isDeprecated": false, "deprecationReason": null }, { "name": "YE", "description": "Yemen", "isDeprecated": false, "deprecationReason": null }, { "name": "ZM", "description": "Zambia", "isDeprecated": false, "deprecationReason": null }, { "name": "ZW", "description": "Zimbabwe", "isDeprecated": false, "deprecationReason": null }, { "name": "AX", "description": "Aland Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "AI", "description": "Anguilla", "isDeprecated": false, "deprecationReason": null }, { "name": "BV", "description": "Bouvet Island", "isDeprecated": false, "deprecationReason": null }, { "name": "IO", "description": "British Indian Ocean Territory", "isDeprecated": false, "deprecationReason": null }, { "name": "BF", "description": "Burkina Faso", "isDeprecated": false, "deprecationReason": null }, { "name": "BI", "description": "Burundi", "isDeprecated": false, "deprecationReason": null }, { "name": "CF", "description": "Central African Republic", "isDeprecated": false, "deprecationReason": null }, { "name": "TD", "description": "Chad", "isDeprecated": false, "deprecationReason": null }, { "name": "CX", "description": "Christmas Island", "isDeprecated": false, "deprecationReason": null }, { "name": "CC", "description": "Cocos (Keeling) Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "CK", "description": "Cook Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "CU", "description": "Cuba", "isDeprecated": false, "deprecationReason": null }, { "name": "DJ", "description": "Djibouti", "isDeprecated": false, "deprecationReason": null }, { "name": "ER", "description": "Eritrea", "isDeprecated": false, "deprecationReason": null }, { "name": "FK", "description": "Falkland Islands (Malvinas)", "isDeprecated": false, "deprecationReason": null }, { "name": "GF", "description": "French Guiana", "isDeprecated": false, "deprecationReason": null }, { "name": "TF", "description": "French Southern Territories", "isDeprecated": false, "deprecationReason": null }, { "name": "GN", "description": "Guinea", "isDeprecated": false, "deprecationReason": null }, { "name": "GW", "description": "Guinea Bissau", "isDeprecated": false, "deprecationReason": null }, { "name": "HM", "description": "Heard Island And Mcdonald Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "VA", "description": "Holy See (Vatican City State)", "isDeprecated": false, "deprecationReason": null }, { "name": "IR", "description": "Iran, Islamic Republic Of", "isDeprecated": false, "deprecationReason": null }, { "name": "IQ", "description": "Iraq", "isDeprecated": false, "deprecationReason": null }, { "name": "KI", "description": "Kiribati", "isDeprecated": false, "deprecationReason": null }, { "name": "KP", "description": "Korea, Democratic People's Republic Of", "isDeprecated": false, "deprecationReason": null }, { "name": "LY", "description": "Libyan Arab Jamahiriya", "isDeprecated": false, "deprecationReason": null }, { "name": "ML", "description": "Mali", "isDeprecated": false, "deprecationReason": null }, { "name": "MR", "description": "Mauritania", "isDeprecated": false, "deprecationReason": null }, { "name": "MS", "description": "Montserrat", "isDeprecated": false, "deprecationReason": null }, { "name": "NR", "description": "Nauru", "isDeprecated": false, "deprecationReason": null }, { "name": "NU", "description": "Niue", "isDeprecated": false, "deprecationReason": null }, { "name": "NF", "description": "Norfolk Island", "isDeprecated": false, "deprecationReason": null }, { "name": "PN", "description": "Pitcairn", "isDeprecated": false, "deprecationReason": null }, { "name": "BL", "description": "Saint Barthélemy", "isDeprecated": false, "deprecationReason": null }, { "name": "SH", "description": "Saint Helena", "isDeprecated": false, "deprecationReason": null }, { "name": "PM", "description": "Saint Pierre And Miquelon", "isDeprecated": false, "deprecationReason": null }, { "name": "SM", "description": "San Marino", "isDeprecated": false, "deprecationReason": null }, { "name": "SL", "description": "Sierra Leone", "isDeprecated": false, "deprecationReason": null }, { "name": "SO", "description": "Somalia", "isDeprecated": false, "deprecationReason": null }, { "name": "GS", "description": "South Georgia And The South Sandwich Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "SJ", "description": "Svalbard And Jan Mayen", "isDeprecated": false, "deprecationReason": null }, { "name": "SZ", "description": "Swaziland", "isDeprecated": false, "deprecationReason": null }, { "name": "TJ", "description": "Tajikistan", "isDeprecated": false, "deprecationReason": null }, { "name": "TL", "description": "Timor Leste", "isDeprecated": false, "deprecationReason": null }, { "name": "TG", "description": "Togo", "isDeprecated": false, "deprecationReason": null }, { "name": "TK", "description": "Tokelau", "isDeprecated": false, "deprecationReason": null }, { "name": "TO", "description": "Tonga", "isDeprecated": false, "deprecationReason": null }, { "name": "TV", "description": "Tuvalu", "isDeprecated": false, "deprecationReason": null }, { "name": "UM", "description": "United States Minor Outlying Islands", "isDeprecated": false, "deprecationReason": null }, { "name": "WF", "description": "Wallis And Futuna", "isDeprecated": false, "deprecationReason": null }, { "name": "EH", "description": "Western Sahara", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "CardBrand", "description": "Card brand, such as Visa or Mastercard, which can be used for payments.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "VISA", "description": "Visa", "isDeprecated": false, "deprecationReason": null }, { "name": "MASTERCARD", "description": "Mastercard", "isDeprecated": false, "deprecationReason": null }, { "name": "DISCOVER", "description": "Discover", "isDeprecated": false, "deprecationReason": null }, { "name": "AMERICAN_EXPRESS", "description": "American Express", "isDeprecated": false, "deprecationReason": null }, { "name": "DINERS_CLUB", "description": "Diners Club", "isDeprecated": false, "deprecationReason": null }, { "name": "JCB", "description": "JCB", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "DigitalWallet", "description": "Digital wallet, such as Apple Pay, which can be used for accelerated checkouts.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "APPLE_PAY", "description": "Apple Pay", "isDeprecated": false, "deprecationReason": null }, { "name": "ANDROID_PAY", "description": "Android Pay", "isDeprecated": false, "deprecationReason": null }, { "name": "SHOPIFY_PAY", "description": "Shopify Pay", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "Domain", "description": "Represents a web address.", "fields": [ { "name": "host", "description": "The host name of the domain (eg: `example.com`).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "sslEnabled", "description": "Whether SSL is enabled or not.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The URL of the domain (eg: `https://example.com`).", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URL", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ShopPolicy", "description": "Policy that a merchant has configured for their store, such as their refund or privacy policy.", "fields": [ { "name": "body", "description": "Policy text, maximum size of 64kb.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "Policy’s title.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "Public URL to the policy.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URL", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "BlogConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "BlogEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "BlogEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of BlogEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Blog", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Blog", "description": null, "fields": [ { "name": "articles", "description": "List of the blog's articles.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ArticleConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "The blogs’s title.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The url pointing to the blog accessible from the web.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URL", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ArticleConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ArticleEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ArticleEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of ArticleEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Article", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Article", "description": null, "fields": [ { "name": "author", "description": "The article's author.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ArticleAuthor", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "blog", "description": "The blog that the article belongs to.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Blog", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "comments", "description": "List of comments posted on the article.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CommentConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "content", "description": "Stripped content of the article, single line with HTML tags removed.", "args": [ { "name": "truncateAt", "description": "Truncates string after the given length.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "contentHtml", "description": "The content of the article, complete with HTML formatting.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "excerpt", "description": "Stripped excerpt of the article, single line with HTML tags removed.", "args": [ { "name": "truncateAt", "description": "Truncates string after the given length.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "excerptHtml", "description": "The excerpt of the article, complete with HTML formatting.", "args": [], "type": { "kind": "SCALAR", "name": "HTML", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "image", "description": "The image associated with the article.", "args": [ { "name": "maxWidth", "description": "Image width in pixels between 1 and 2048", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "maxHeight", "description": "Image height in pixels between 1 and 2048", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "crop", "description": "If specified, crop the image keeping the specified region", "type": { "kind": "ENUM", "name": "CropRegion", "ofType": null }, "defaultValue": null }, { "name": "scale", "description": "Image size multiplier retina displays. Must be between 1 and 3", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": "1" } ], "type": { "kind": "OBJECT", "name": "Image", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "publishedAt", "description": "The date and time when the article was published.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "tags", "description": "A categorization that a article can be tagged with.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "The article’s name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": "The url pointing to the article accessible from the web.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URL", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ArticleAuthor", "description": null, "fields": [ { "name": "bio", "description": "The author's bio.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "email", "description": "The author’s email.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "firstName", "description": "The author's first name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastName", "description": "The author's last name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The author's full name", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CommentConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CommentEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CommentEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of CommentEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Comment", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Comment", "description": null, "fields": [ { "name": "author", "description": "The comment’s author.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CommentAuthor", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "content", "description": "Stripped content of the comment, single line with HTML tags removed.", "args": [ { "name": "truncateAt", "description": "Truncates string after the given length.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "contentHtml", "description": "The content of the comment, complete with HTML formatting.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "HTML", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CommentAuthor", "description": null, "fields": [ { "name": "email", "description": "The author's email.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": "The author’s name.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "BlogSortKeys", "description": "The set of valid sort keys for the blogs query.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "HANDLE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "TITLE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "ID", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "RELEVANCE", "description": null, "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "ArticleSortKeys", "description": "The set of valid sort keys for the articles query.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "TITLE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "BLOG_TITLE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "AUTHOR", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "UPDATED_AT", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "ID", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "RELEVANCE", "description": null, "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "CollectionSortKeys", "description": "The set of valid sort keys for the collections query.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "TITLE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "UPDATED_AT", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "ID", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "RELEVANCE", "description": null, "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "ProductSortKeys", "description": "The set of valid sort keys for the products query.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "TITLE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "PRODUCT_TYPE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "VENDOR", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "UPDATED_AT", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "CREATED_AT", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "ID", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "RELEVANCE", "description": null, "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "StringConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "StringEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StringEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of StringEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Mutation", "description": "The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start.", "fields": [ { "name": "checkoutAttributesUpdate", "description": "Updates the attributes of a checkout.", "args": [ { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CheckoutAttributesUpdateInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutAttributesUpdatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutCompleteFree", "description": null, "args": [ { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutCompleteFreePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutCompleteWithCreditCard", "description": "Completes a checkout using a credit card token from Shopify's Vault.", "args": [ { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "payment", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CreditCardPaymentInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutCompleteWithCreditCardPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutCompleteWithTokenizedPayment", "description": "Completes a checkout with a tokenized payment.", "args": [ { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "payment", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "TokenizedPaymentInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutCompleteWithTokenizedPaymentPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutCreate", "description": "Creates a new checkout.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CheckoutCreateInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutCreatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutCustomerAssociate", "description": "Associates a customer to the checkout.", "args": [ { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "customerAccessToken", "description": "The customer access token of the customer to associate.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutCustomerAssociatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutCustomerDisassociate", "description": "Disassociates the current checkout customer from the checkout.", "args": [ { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutCustomerDisassociatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutEmailUpdate", "description": "Updates the email on an existing checkout.", "args": [ { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "email", "description": "The email to update the checkout with.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutEmailUpdatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutGiftCardApply", "description": "Applies a gift card to an existing checkout using a gift card code.", "args": [ { "name": "giftCardCode", "description": "The code of the gift card to apply on the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutGiftCardApplyPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutGiftCardRemove", "description": "Removes an applied gift card from the checkout.", "args": [ { "name": "appliedGiftCardId", "description": "The ID of the Applied Gift Card to remove from the Checkout", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "checkoutId", "description": "The ID of the Checkout", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutGiftCardRemovePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutLineItemsAdd", "description": "Adds a list of line items to a checkout.", "args": [ { "name": "lineItems", "description": "A list of line item objects to add to the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CheckoutLineItemInput", "ofType": null } } } }, "defaultValue": null }, { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutLineItemsAddPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutLineItemsRemove", "description": "Removes line items from an existing checkout", "args": [ { "name": "checkoutId", "description": "the checkout on which to remove line items", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "lineItemIds", "description": "line item ids to remove", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } } } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutLineItemsRemovePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutLineItemsUpdate", "description": "Updates line items on a checkout.", "args": [ { "name": "checkoutId", "description": "the checkout on which to update line items.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "lineItems", "description": "line items to update.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CheckoutLineItemUpdateInput", "ofType": null } } } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutLineItemsUpdatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutShippingAddressUpdate", "description": "Updates the shipping address of an existing checkout.", "args": [ { "name": "shippingAddress", "description": "The shipping address to where the line items will be shipped.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "MailingAddressInput", "ofType": null } }, "defaultValue": null }, { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutShippingAddressUpdatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkoutShippingLineUpdate", "description": "Updates the shipping lines on an existing checkout.", "args": [ { "name": "checkoutId", "description": "The ID of the checkout.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "shippingRateHandle", "description": "A concatenation of a Checkout’s shipping provider, price, and title, enabling the customer to select the availableShippingRates.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CheckoutShippingLineUpdatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerAccessTokenCreate", "description": "Creates a customer access token.\nThe customer access token is required to modify the customer object in any way.\n", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CustomerAccessTokenCreateInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerAccessTokenCreatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerAccessTokenDelete", "description": "Permanently destroys a customer access token.", "args": [ { "name": "customerAccessToken", "description": "The access token used to identify the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerAccessTokenDeletePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerAccessTokenRenew", "description": "Renews a customer access token.", "args": [ { "name": "customerAccessToken", "description": "The access token used to identify the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerAccessTokenRenewPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerActivate", "description": "Activates a customer.", "args": [ { "name": "id", "description": "Specifies the customer to activate.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CustomerActivateInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerActivatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerAddressCreate", "description": "Creates a new address for a customer.", "args": [ { "name": "customerAccessToken", "description": "The access token used to identify the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "address", "description": "The customer mailing address to create.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "MailingAddressInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerAddressCreatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerAddressDelete", "description": "Permanently deletes the address of an existing customer.", "args": [ { "name": "id", "description": "Specifies the address to delete.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "customerAccessToken", "description": "The access token used to identify the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerAddressDeletePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerAddressUpdate", "description": "Updates the address of an existing customer.", "args": [ { "name": "customerAccessToken", "description": "The access token used to identify the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "id", "description": "Specifies the customer address to update.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "address", "description": "The customer’s mailing address.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "MailingAddressInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerAddressUpdatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerCreate", "description": "Creates a new customer.", "args": [ { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CustomerCreateInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerCreatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerRecover", "description": "Sends a reset password email to the customer, as the first step in the reset password process.", "args": [ { "name": "email", "description": "The email address of the customer to recover.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerRecoverPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerReset", "description": "Resets a customer’s password with a token received from `CustomerRecover`.", "args": [ { "name": "id", "description": "Specifies the customer to reset.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null }, { "name": "input", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CustomerResetInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerResetPayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "customerUpdate", "description": "Updates an existing customer.", "args": [ { "name": "customerAccessToken", "description": "The access token used to identify the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "customer", "description": "The customer object input.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CustomerUpdateInput", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "CustomerUpdatePayload", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutAttributesUpdatePayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "UserError", "description": "Represents an error in the input of a mutation.", "fields": [ { "name": "field", "description": "Path to input field which caused the error.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "message", "description": "The error message.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Checkout", "description": "A container for all the information required to checkout items and pay.", "fields": [ { "name": "appliedGiftCards", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "AppliedGiftCard", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "availableShippingRates", "description": "The available shipping rates for this Checkout.\nShould only be used when checkout `requiresShipping` is `true` and\nthe shipping address is valid.\n", "args": [], "type": { "kind": "OBJECT", "name": "AvailableShippingRates", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "completedAt", "description": "The date and time when the checkout was completed.", "args": [], "type": { "kind": "SCALAR", "name": "DateTime", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "createdAt", "description": "The date and time when the checkout was created.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "currencyCode", "description": "The currency code for the Checkout.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "CurrencyCode", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "customAttributes", "description": "A list of extra information that is added to the checkout.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Attribute", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "customer", "description": "The customer associated with the checkout.", "args": [], "type": { "kind": "OBJECT", "name": "Customer", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "email", "description": "The email attached to this checkout.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lineItems", "description": "A list of line item objects, each one containing information about an item in the checkout.", "args": [ { "name": "first", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "reverse", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CheckoutLineItemConnection", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "note", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "order", "description": "The resulting order from a paid checkout.", "args": [], "type": { "kind": "OBJECT", "name": "Order", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "orderStatusUrl", "description": "The Order Status Page for this Checkout, null when checkout is not completed.", "args": [], "type": { "kind": "SCALAR", "name": "URL", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "paymentDue", "description": "The amount left to be paid. This is equal to the cost of the line items, taxes and shipping minus discounts and gift cards.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "ready", "description": "Whether or not the Checkout is ready and can be completed. Checkouts may have asynchronous operations that can take time to finish. If you want to complete a checkout or ensure all the fields are populated and up to date, polling is required until the value is true. ", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "requiresShipping", "description": "States whether or not the fulfillment requires shipping.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "shippingAddress", "description": "The shipping address to where the line items will be shipped.", "args": [], "type": { "kind": "OBJECT", "name": "MailingAddress", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "shippingLine", "description": "Once a shipping rate is selected by the customer it is transitioned to a `shipping_line` object.", "args": [], "type": { "kind": "OBJECT", "name": "ShippingRate", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "subtotalPrice", "description": "Price of the checkout before shipping, taxes, and discounts.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "taxExempt", "description": "Specifies if the Checkout is tax exempt.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "taxesIncluded", "description": "Specifies if taxes are included in the line item and shipping line prices.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalPrice", "description": "The sum of all the prices of all the items in the checkout, taxes and discounts included.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalTax", "description": "The sum of all the taxes applied to the line items and shipping lines in the checkout.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "updatedAt", "description": "The date and time when the checkout was last updated.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "webUrl", "description": "The url pointing to the checkout accessible from the web.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "URL", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutLineItemConnection", "description": null, "fields": [ { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CheckoutLineItemEdge", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutLineItemEdge", "description": null, "fields": [ { "name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "The item at the end of CheckoutLineItemEdge.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "CheckoutLineItem", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutLineItem", "description": "A single line item in the checkout, grouped by variant and attributes.", "fields": [ { "name": "customAttributes", "description": "Extra information in the form of an array of Key-Value pairs about the line item.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Attribute", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "quantity", "description": "The quantity of the line item.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "Title of the line item. Defaults to the product's title.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "variant", "description": "Product variant of the line item.", "args": [], "type": { "kind": "OBJECT", "name": "ProductVariant", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "ShippingRate", "description": "A shipping rate to be applied to a checkout.", "fields": [ { "name": "handle", "description": "Human-readable unique identifier for this shipping rate.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "price", "description": "Price of this shipping rate.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "title", "description": "Title of this shipping rate.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "AvailableShippingRates", "description": "A collection of available shipping rates for a checkout.", "fields": [ { "name": "ready", "description": "Whether or not the shipping rates are ready.\nThe `shippingRates` field is `null` when this value is `false`.\nThis field should be polled until its value becomes `true`.\n", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "shippingRates", "description": "The fetched shipping rates. `null` until the `ready` field is `true`.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "ShippingRate", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "AppliedGiftCard", "description": "Details about the gift card used on the checkout.", "fields": [ { "name": "amountUsed", "description": "The amount that was used taken from the Gift Card by applying it.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "balance", "description": "The amount left on the Gift Card.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastCharacters", "description": "The last characters of the Gift Card code", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CheckoutAttributesUpdateInput", "description": "Specifies the fields required to update a checkout's attributes.\n", "fields": null, "inputFields": [ { "name": "note", "description": "The text of an optional note that a shop owner can attach to the checkout.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "customAttributes", "description": "A list of extra information that is added to the checkout.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AttributeInput", "ofType": null } } }, "defaultValue": null }, { "name": "allowPartialAddresses", "description": "Allows setting partial addresses on a Checkout, skipping the full validation of attributes.\nThe required attributes are city, province, and country.\nFull validation of the addresses is still done at complete time.\n", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "AttributeInput", "description": "Specifies the input fields required for an attribute.", "fields": null, "inputFields": [ { "name": "key", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "value", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutCompleteFreePayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "OBJECT", "name": "Checkout", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutCompleteWithCreditCardPayload", "description": null, "fields": [ { "name": "checkout", "description": "The checkout on which the payment was applied.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "payment", "description": "A representation of the attempted payment.", "args": [], "type": { "kind": "OBJECT", "name": "Payment", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Payment", "description": "A payment applied to a checkout.", "fields": [ { "name": "amount", "description": "The amount of the payment.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "billingAddress", "description": "The billing address for the payment.", "args": [], "type": { "kind": "OBJECT", "name": "MailingAddress", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "checkout", "description": "The checkout to which the payment belongs.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "creditCard", "description": "The credit card used for the payment in the case of direct payments.", "args": [], "type": { "kind": "OBJECT", "name": "CreditCard", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "errorMessage", "description": "An message describing a processing error during asynchronous processing.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "Globally unique identifier.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "idempotencyKey", "description": "A client-side generated token to identify a payment and perform idempotent operations.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "ready", "description": "Whether or not the payment is still processing asynchronously.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "test", "description": "A flag to indicate if the payment is to be done in test mode for gateways that support it.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "transaction", "description": "The actual transaction recorded by Shopify after having processed the payment with the gateway.", "args": [], "type": { "kind": "OBJECT", "name": "Transaction", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CreditCard", "description": "Credit card information used for a payment.", "fields": [ { "name": "brand", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "expiryMonth", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "expiryYear", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "firstDigits", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "firstName", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastDigits", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "lastName", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "maskedNumber", "description": "Masked credit card number with only the last 4 digits displayed", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Transaction", "description": "An object representing exchange of money for a product or service.", "fields": [ { "name": "amount", "description": "The amount of money that the transaction was for.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "kind", "description": "The kind of the transaction.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "TransactionKind", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "status", "description": "The status of the transaction", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "TransactionStatus", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "test", "description": "Whether the transaction was done in test mode or not", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "TransactionKind", "description": null, "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "SALE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "CAPTURE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "AUTHORIZATION", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "EMV_AUTHORIZATION", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "CHANGE", "description": null, "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "ENUM", "name": "TransactionStatus", "description": null, "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "PENDING", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "SUCCESS", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "FAILURE", "description": null, "isDeprecated": false, "deprecationReason": null }, { "name": "ERROR", "description": null, "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CreditCardPaymentInput", "description": "Specifies the fields required to complete a checkout with\na Shopify vaulted credit card payment.\n", "fields": null, "inputFields": [ { "name": "amount", "description": "The amount of the payment.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "defaultValue": null }, { "name": "idempotencyKey", "description": "A unique client generated key used to avoid duplicate charges. When a duplicate payment is found, the original is returned instead of creating a new one.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "billingAddress", "description": "The billing address for the payment.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "MailingAddressInput", "ofType": null } }, "defaultValue": null }, { "name": "vaultId", "description": "The ID returned by Shopify's Card Vault.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "test", "description": "Executes the payment in test mode if possible. Defaults to `false`.", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "MailingAddressInput", "description": "Specifies the fields accepted to create or update a mailing address.", "fields": null, "inputFields": [ { "name": "address1", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "address2", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "city", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "company", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "country", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "firstName", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "lastName", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "phone", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "province", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "zip", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutCompleteWithTokenizedPaymentPayload", "description": null, "fields": [ { "name": "checkout", "description": "The checkout on which the payment was applied.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "payment", "description": "A representation of the attempted payment.", "args": [], "type": { "kind": "OBJECT", "name": "Payment", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "TokenizedPaymentInput", "description": "Specifies the fields required to complete a checkout with\na tokenized payment.\n", "fields": null, "inputFields": [ { "name": "amount", "description": "The amount of the payment.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Money", "ofType": null } }, "defaultValue": null }, { "name": "idempotencyKey", "description": "A unique client generated key used to avoid duplicate charges. When a duplicate payment is found, the original is returned instead of creating a new one.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "billingAddress", "description": "The billing address for the payment.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "MailingAddressInput", "ofType": null } }, "defaultValue": null }, { "name": "type", "description": "The type of payment token.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "paymentData", "description": "A simple string or JSON containing the required payment data for the tokenized payment.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "test", "description": "Executes the payment in test mode if possible. Defaults to `false`.", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" }, { "name": "identifier", "description": "Public Hash Key used for AndroidPay payments only.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutCreatePayload", "description": null, "fields": [ { "name": "checkout", "description": "The new checkout object.", "args": [], "type": { "kind": "OBJECT", "name": "Checkout", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CheckoutCreateInput", "description": "Specifies the fields required to create a checkout.\n", "fields": null, "inputFields": [ { "name": "email", "description": "The email with which the customer wants to checkout.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "lineItems", "description": "A list of line item objects, each one containing information about an item in the checkout.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "CheckoutLineItemInput", "ofType": null } } }, "defaultValue": null }, { "name": "shippingAddress", "description": "The shipping address to where the line items will be shipped.", "type": { "kind": "INPUT_OBJECT", "name": "MailingAddressInput", "ofType": null }, "defaultValue": null }, { "name": "note", "description": "The text of an optional note that a shop owner can attach to the checkout.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "customAttributes", "description": "A list of extra information that is added to the checkout.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AttributeInput", "ofType": null } } }, "defaultValue": null }, { "name": "allowPartialAddresses", "description": "Allows setting partial addresses on a Checkout, skipping the full validation of attributes.\nThe required attributes are city, province, and country.\nFull validation of addresses is still done at complete time.\n", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CheckoutLineItemInput", "description": "Specifies the input fields to create a line item on a checkout.", "fields": null, "inputFields": [ { "name": "customAttributes", "description": "Extra information in the form of an array of Key-Value pairs about the line item.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AttributeInput", "ofType": null } } }, "defaultValue": null }, { "name": "quantity", "description": "The quantity of the line item.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } }, "defaultValue": null }, { "name": "variantId", "description": "The identifier of the product variant for the line item.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutCustomerAssociatePayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutCustomerDisassociatePayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutEmailUpdatePayload", "description": null, "fields": [ { "name": "checkout", "description": "The checkout object with the updated email.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutGiftCardApplyPayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutGiftCardRemovePayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutLineItemsAddPayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "OBJECT", "name": "Checkout", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutLineItemsRemovePayload", "description": null, "fields": [ { "name": "checkout", "description": null, "args": [], "type": { "kind": "OBJECT", "name": "Checkout", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutLineItemsUpdatePayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "OBJECT", "name": "Checkout", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CheckoutLineItemUpdateInput", "description": "Specifies the input fields to update a line item on the checkout.", "fields": null, "inputFields": [ { "name": "id", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "variantId", "description": "The variant identifier of the line item.", "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "quantity", "description": "The quantity of the line item.", "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "customAttributes", "description": "Extra information in the form of an array of Key-Value pairs about the line item.", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "INPUT_OBJECT", "name": "AttributeInput", "ofType": null } } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutShippingAddressUpdatePayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "Checkout", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CheckoutShippingLineUpdatePayload", "description": null, "fields": [ { "name": "checkout", "description": "The updated checkout object.", "args": [], "type": { "kind": "OBJECT", "name": "Checkout", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerAccessTokenCreatePayload", "description": null, "fields": [ { "name": "customerAccessToken", "description": "The newly created customer access token object.", "args": [], "type": { "kind": "OBJECT", "name": "CustomerAccessToken", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerAccessToken", "description": "A CustomerAccessToken represents the unique token required to make modifications to the customer object.", "fields": [ { "name": "accessToken", "description": "The customer’s access token.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "expiresAt", "description": "The date and time when the customer access token expires.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "DateTime", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CustomerAccessTokenCreateInput", "description": "Specifies the input fields required to create a customer access token.", "fields": null, "inputFields": [ { "name": "email", "description": "The email associated to the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "password", "description": "The login password to be used by the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerAccessTokenDeletePayload", "description": null, "fields": [ { "name": "deletedAccessToken", "description": "The destroyed access token.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "deletedCustomerAccessTokenId", "description": "ID of the destroyed customer access token.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerAccessTokenRenewPayload", "description": null, "fields": [ { "name": "customerAccessToken", "description": "The renewed customer access token object.", "args": [], "type": { "kind": "OBJECT", "name": "CustomerAccessToken", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerActivatePayload", "description": null, "fields": [ { "name": "customer", "description": "The customer object.", "args": [], "type": { "kind": "OBJECT", "name": "Customer", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CustomerActivateInput", "description": "Specifies the input fields required to activate a customer.", "fields": null, "inputFields": [ { "name": "activationToken", "description": "The activation token required to activate the customer", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "password", "description": "The login password used by the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerAddressCreatePayload", "description": null, "fields": [ { "name": "customerAddress", "description": "The new customer address object.", "args": [], "type": { "kind": "OBJECT", "name": "MailingAddress", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerAddressDeletePayload", "description": null, "fields": [ { "name": "deletedCustomerAddressId", "description": "ID of the deleted customer address.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerAddressUpdatePayload", "description": null, "fields": [ { "name": "customerAddress", "description": "The customer’s updated mailing address.", "args": [], "type": { "kind": "OBJECT", "name": "MailingAddress", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerCreatePayload", "description": null, "fields": [ { "name": "customer", "description": "The created customer object.", "args": [], "type": { "kind": "OBJECT", "name": "Customer", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CustomerCreateInput", "description": "Specifies the fields required to create a new Customer.", "fields": null, "inputFields": [ { "name": "firstName", "description": "The customer’s first name.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "lastName", "description": "The customer’s last name.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "email", "description": "The customer’s email.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "phone", "description": "The customer’s phone number.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "password", "description": "The login password used by the customer.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "acceptsMarketing", "description": "Indicates whether the customer has consented to be sent marketing material via email.", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerRecoverPayload", "description": null, "fields": [ { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerResetPayload", "description": null, "fields": [ { "name": "customer", "description": "The customer object which was reset.", "args": [], "type": { "kind": "OBJECT", "name": "Customer", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CustomerResetInput", "description": "Specifies the fields required to reset a Customer’s password.", "fields": null, "inputFields": [ { "name": "resetToken", "description": "The reset token required to reset the customer’s password.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null }, { "name": "password", "description": "New password that will be set as part of the reset password process.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "CustomerUpdatePayload", "description": null, "fields": [ { "name": "customer", "description": "The updated customer object.", "args": [], "type": { "kind": "OBJECT", "name": "Customer", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "userErrors", "description": "List of errors that occurred executing the mutation.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "UserError", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "INPUT_OBJECT", "name": "CustomerUpdateInput", "description": "Specifies the fields required to update the Customer information.", "fields": null, "inputFields": [ { "name": "firstName", "description": "The customer’s first name.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "lastName", "description": "The customer’s last name.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "email", "description": "The customer’s email.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "phone", "description": "The customer’s phone number.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "password", "description": "The login password used by the customer.", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "acceptsMarketing", "description": "Indicates whether the customer has consented to be sent marketing material via email.", "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": null } ], "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Schema", "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.", "fields": [ { "name": "directives", "description": "A list of all directives supported by this server.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Directive", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "mutationType", "description": "If this server supports mutation, the type that mutation operations will be rooted at.", "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "queryType", "description": "The type that query operations will be rooted at.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "subscriptionType", "description": "If this server support subscription, the type that subscription operations will be rooted at.", "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "types", "description": "A list of all types supported by this server.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Type", "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, 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.", "fields": [ { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "enumValues", "description": null, "args": [ { "name": "includeDeprecated", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__EnumValue", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "fields", "description": null, "args": [ { "name": "includeDeprecated", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Field", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "inputFields", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__InputValue", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "interfaces", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "kind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "__TypeKind", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "ofType", "description": null, "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "possibleTypes", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "__TypeKind", "description": "An enum describing what kind of type a given `__Type` is.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "SCALAR", "description": "Indicates this type is a scalar.", "isDeprecated": false, "deprecationReason": null }, { "name": "OBJECT", "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "INTERFACE", "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNION", "description": "Indicates this type is a union. `possibleTypes` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM", "description": "Indicates this type is an enum. `enumValues` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_OBJECT", "description": "Indicates this type is an input object. `inputFields` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "LIST", "description": "Indicates this type is a list. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "NON_NULL", "description": "Indicates this type is a non-null. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "__Field", "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.", "fields": [ { "name": "accessRestrictedReason", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "args", "description": null, "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 } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "deprecationReason", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "isAccessRestricted", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isDeprecated", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__InputValue", "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.", "fields": [ { "name": "defaultValue", "description": "A GraphQL-formatted string representing the default value for this input value.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__EnumValue", "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.", "fields": [ { "name": "deprecationReason", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "isDeprecated", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Directive", "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL'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.", "fields": [ { "name": "args", "description": null, "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 } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "locations", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "__DirectiveLocation", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "onField", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." }, { "name": "onFragment", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." }, { "name": "onOperation", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "__DirectiveLocation", "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "QUERY", "description": "Location adjacent to a query operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "MUTATION", "description": "Location adjacent to a mutation operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "SUBSCRIPTION", "description": "Location adjacent to a subscription operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "FIELD", "description": "Location adjacent to a field.", "isDeprecated": false, "deprecationReason": null }, { "name": "FRAGMENT_DEFINITION", "description": "Location adjacent to a fragment definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "FRAGMENT_SPREAD", "description": "Location adjacent to a fragment spread.", "isDeprecated": false, "deprecationReason": null }, { "name": "INLINE_FRAGMENT", "description": "Location adjacent to an inline fragment.", "isDeprecated": false, "deprecationReason": null }, { "name": "SCHEMA", "description": "Location adjacent to a schema definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "SCALAR", "description": "Location adjacent to a scalar definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "OBJECT", "description": "Location adjacent to an object type definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "FIELD_DEFINITION", "description": "Location adjacent to a field definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ARGUMENT_DEFINITION", "description": "Location adjacent to an argument definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INTERFACE", "description": "Location adjacent to an interface definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNION", "description": "Location adjacent to a union definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM", "description": "Location adjacent to an enum definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM_VALUE", "description": "Location adjacent to an enum value definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_OBJECT", "description": "Location adjacent to an input object type definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_FIELD_DEFINITION", "description": "Location adjacent to an input object field definition.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null } ], "directives": [ { "name": "include", "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [ { "name": "if", "description": "Included when true.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "defaultValue": null } ] }, { "name": "skip", "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [ { "name": "if", "description": "Skipped when true.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "defaultValue": null } ] }, { "name": "deprecated", "description": "Marks an element of a GraphQL schema as no longer supported.", "locations": ["FIELD_DEFINITION", "ENUM_VALUE"], "args": [ { "name": "reason", "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": "\"No longer supported\"" } ] }, { "name": "accessRestricted", "description": "Marks an element of a GraphQL schema as having restricted access.", "locations": ["FIELD_DEFINITION"], "args": [ { "name": "reason", "description": "Explains the reason around this restriction", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": "null" } ] } ] } } } ================================================ FILE: demo/presets/swapi_introspection.json ================================================ { "data": { "__schema": { "queryType": { "name": "Root" }, "mutationType": null, "subscriptionType": null, "types": [ { "kind": "OBJECT", "name": "Root", "description": null, "fields": [ { "name": "allFilms", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "FilmsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "film", "description": null, "args": [ { "name": "id", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "filmID", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Film", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "allPeople", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PeopleConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "person", "description": null, "args": [ { "name": "id", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "personID", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Person", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "allPlanets", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PlanetsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "planet", "description": null, "args": [ { "name": "id", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "planetID", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Planet", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "allSpecies", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "SpeciesConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "species", "description": null, "args": [ { "name": "id", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "speciesID", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Species", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "allStarships", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "StarshipsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "starship", "description": null, "args": [ { "name": "id", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "starshipID", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Starship", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "allVehicles", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "VehiclesConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "vehicle", "description": null, "args": [ { "name": "id", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null }, { "name": "vehicleID", "description": null, "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Vehicle", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "node", "description": "Fetches an object given its ID", "args": [ { "name": "id", "description": "The ID of an object", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "defaultValue": null } ], "type": { "kind": "INTERFACE", "name": "Node", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "String", "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.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Int", "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. ", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "FilmsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "films", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Film", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PageInfo", "description": "Information about pagination in a connection.", "fields": [ { "name": "hasNextPage", "description": "When paginating forwards, are there more items?", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hasPreviousPage", "description": "When paginating backwards, are there more items?", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "startCursor", "description": "When paginating backwards, the cursor to continue.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "endCursor", "description": "When paginating forwards, the cursor to continue.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Boolean", "description": "The `Boolean` scalar type represents `true` or `false`.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Film", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Film", "description": "A single film.", "fields": [ { "name": "title", "description": "The title of this film.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "episodeID", "description": "The episode number of this film.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "openingCrawl", "description": "The opening paragraphs at the beginning of this film.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "director", "description": "The name of the director of this film.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "producers", "description": "The name(s) of the producer(s) of this film.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "releaseDate", "description": "The ISO 8601 date format of film release at original creator country.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "speciesConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "FilmSpeciesConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "starshipConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "FilmStarshipsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "vehicleConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "FilmVehiclesConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "characterConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "FilmCharactersConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "planetConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "FilmPlanetsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "created", "description": "The ISO 8601 date format of the time that this resource was created.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "edited", "description": "The ISO 8601 date format of the time that this resource was edited.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "The ID of an object", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "INTERFACE", "name": "Node", "description": "An object with an ID", "fields": [ { "name": "id", "description": "The id of the object.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": [ { "kind": "OBJECT", "name": "Film", "ofType": null }, { "kind": "OBJECT", "name": "Species", "ofType": null }, { "kind": "OBJECT", "name": "Planet", "ofType": null }, { "kind": "OBJECT", "name": "Person", "ofType": null }, { "kind": "OBJECT", "name": "Starship", "ofType": null }, { "kind": "OBJECT", "name": "Vehicle", "ofType": null } ] }, { "kind": "SCALAR", "name": "ID", "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.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmSpeciesConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "FilmSpeciesEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "species", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Species", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmSpeciesEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Species", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Species", "description": "A type of person or character within the Star Wars Universe.", "fields": [ { "name": "name", "description": "The name of this species.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "classification", "description": "The classification of this species, such as \"mammal\" or \"reptile\".", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "designation", "description": "The designation of this species, such as \"sentient\".", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "averageHeight", "description": "The average height of this species in centimeters.", "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "averageLifespan", "description": "The average lifespan of this species in years, null if unknown.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "eyeColors", "description": "Common eye colors for this species, null if this species does not typically\nhave eyes.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hairColors", "description": "Common hair colors for this species, null if this species does not typically\nhave hair.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "skinColors", "description": "Common skin colors for this species, null if this species does not typically\nhave skin.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "language", "description": "The language commonly spoken by this species.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "homeworld", "description": "A planet that this species originates from.", "args": [], "type": { "kind": "OBJECT", "name": "Planet", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "personConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "SpeciesPeopleConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "filmConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "SpeciesFilmsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "created", "description": "The ISO 8601 date format of the time that this resource was created.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "edited", "description": "The ISO 8601 date format of the time that this resource was edited.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "The ID of an object", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Float", "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point). ", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Planet", "description": "A large mass, planet or planetoid in the Star Wars Universe, at the time of\n0 ABY.", "fields": [ { "name": "name", "description": "The name of this planet.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "diameter", "description": "The diameter of this planet in kilometers.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "rotationPeriod", "description": "The number of standard hours it takes for this planet to complete a single\nrotation on its axis.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "orbitalPeriod", "description": "The number of standard days it takes for this planet to complete a single orbit\nof its local star.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "gravity", "description": "A number denoting the gravity of this planet, where \"1\" is normal or 1 standard\nG. \"2\" is twice or 2 standard Gs. \"0.5\" is half or 0.5 standard Gs.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "population", "description": "The average population of sentient beings inhabiting this planet.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "climates", "description": "The climates of this planet.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "terrains", "description": "The terrains of this planet.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "surfaceWater", "description": "The percentage of the planet surface that is naturally occuring water or bodies\nof water.", "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "residentConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PlanetResidentsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "filmConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PlanetFilmsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "created", "description": "The ISO 8601 date format of the time that this resource was created.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "edited", "description": "The ISO 8601 date format of the time that this resource was edited.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "The ID of an object", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PlanetResidentsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PlanetResidentsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "residents", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Person", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PlanetResidentsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Person", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Person", "description": "An individual person or character within the Star Wars universe.", "fields": [ { "name": "name", "description": "The name of this person.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "birthYear", "description": "The birth year of the person, using the in-universe standard of BBY or ABY -\nBefore the Battle of Yavin or After the Battle of Yavin. The Battle of Yavin is\na battle that occurs at the end of Star Wars episode IV: A New Hope.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "eyeColor", "description": "The eye color of this person. Will be \"unknown\" if not known or \"n/a\" if the\nperson does not have an eye.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "gender", "description": "The gender of this person. Either \"Male\", \"Female\" or \"unknown\",\n\"n/a\" if the person does not have a gender.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "hairColor", "description": "The hair color of this person. Will be \"unknown\" if not known or \"n/a\" if the\nperson does not have hair.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "height", "description": "The height of the person in centimeters.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "mass", "description": "The mass of the person in kilograms.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "skinColor", "description": "The skin color of this person.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "homeworld", "description": "A planet that this person was born on or inhabits.", "args": [], "type": { "kind": "OBJECT", "name": "Planet", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "filmConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PersonFilmsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "species", "description": "The species that this person belongs to, or null if unknown.", "args": [], "type": { "kind": "OBJECT", "name": "Species", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "starshipConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PersonStarshipsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "vehicleConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "PersonVehiclesConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "created", "description": "The ISO 8601 date format of the time that this resource was created.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "edited", "description": "The ISO 8601 date format of the time that this resource was edited.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "The ID of an object", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PersonFilmsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PersonFilmsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "films", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Film", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PersonFilmsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Film", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PersonStarshipsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PersonStarshipsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "starships", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Starship", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PersonStarshipsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Starship", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Starship", "description": "A single transport craft that has hyperdrive capability.", "fields": [ { "name": "name", "description": "The name of this starship. The common name, such as \"Death Star\".", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "model", "description": "The model or official name of this starship. Such as \"T-65 X-wing\" or \"DS-1\nOrbital Battle Station\".", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "starshipClass", "description": "The class of this starship, such as \"Starfighter\" or \"Deep Space Mobile\nBattlestation\"", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "manufacturers", "description": "The manufacturers of this starship.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "costInCredits", "description": "The cost of this starship new, in galactic credits.", "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "length", "description": "The length of this starship in meters.", "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "crew", "description": "The number of personnel needed to run or pilot this starship.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "passengers", "description": "The number of non-essential people this starship can transport.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "maxAtmospheringSpeed", "description": "The maximum speed of this starship in atmosphere. null if this starship is\nincapable of atmosphering flight.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "hyperdriveRating", "description": "The class of this starships hyperdrive.", "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "MGLT", "description": "The Maximum number of Megalights this starship can travel in a standard hour.\nA \"Megalight\" is a standard unit of distance and has never been defined before\nwithin the Star Wars universe. This figure is only really useful for measuring\nthe difference in speed of starships. We can assume it is similar to AU, the\ndistance between our Sun (Sol) and Earth.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cargoCapacity", "description": "The maximum number of kilograms that this starship can transport.", "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "consumables", "description": "The maximum length of time that this starship can provide consumables for its\nentire crew without having to resupply.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pilotConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "StarshipPilotsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "filmConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "StarshipFilmsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "created", "description": "The ISO 8601 date format of the time that this resource was created.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "edited", "description": "The ISO 8601 date format of the time that this resource was edited.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "The ID of an object", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StarshipPilotsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "StarshipPilotsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pilots", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Person", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StarshipPilotsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Person", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StarshipFilmsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "StarshipFilmsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "films", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Film", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StarshipFilmsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Film", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PersonVehiclesConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PersonVehiclesEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "vehicles", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Vehicle", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PersonVehiclesEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Vehicle", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Vehicle", "description": "A single transport craft that does not have hyperdrive capability", "fields": [ { "name": "name", "description": "The name of this vehicle. The common name, such as \"Sand Crawler\" or \"Speeder\nbike\".", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "model", "description": "The model or official name of this vehicle. Such as \"All-Terrain Attack\nTransport\".", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "vehicleClass", "description": "The class of this vehicle, such as \"Wheeled\" or \"Repulsorcraft\".", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "manufacturers", "description": "The manufacturers of this vehicle.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "costInCredits", "description": "The cost of this vehicle new, in Galactic Credits.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "length", "description": "The length of this vehicle in meters.", "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "crew", "description": "The number of personnel needed to run or pilot this vehicle.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "passengers", "description": "The number of non-essential people this vehicle can transport.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "maxAtmospheringSpeed", "description": "The maximum speed of this vehicle in atmosphere.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cargoCapacity", "description": "The maximum number of kilograms that this vehicle can transport.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "consumables", "description": "The maximum length of time that this vehicle can provide consumables for its\nentire crew without having to resupply.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pilotConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "VehiclePilotsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "filmConnection", "description": null, "args": [ { "name": "after", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "first", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "before", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "last", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "VehicleFilmsConnection", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "created", "description": "The ISO 8601 date format of the time that this resource was created.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "edited", "description": "The ISO 8601 date format of the time that this resource was edited.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": "The ID of an object", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [ { "kind": "INTERFACE", "name": "Node", "ofType": null } ], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "VehiclePilotsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "VehiclePilotsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "pilots", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Person", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "VehiclePilotsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Person", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "VehicleFilmsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "VehicleFilmsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "films", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Film", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "VehicleFilmsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Film", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PlanetFilmsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PlanetFilmsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "films", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Film", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PlanetFilmsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Film", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SpeciesPeopleConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "SpeciesPeopleEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "people", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Person", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SpeciesPeopleEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Person", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SpeciesFilmsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "SpeciesFilmsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "films", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Film", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SpeciesFilmsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Film", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmStarshipsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "FilmStarshipsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "starships", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Starship", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmStarshipsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Starship", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmVehiclesConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "FilmVehiclesEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "vehicles", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Vehicle", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmVehiclesEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Vehicle", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmCharactersConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "FilmCharactersEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "characters", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Person", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmCharactersEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Person", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmPlanetsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "FilmPlanetsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "planets", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Planet", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "FilmPlanetsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Planet", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PeopleConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PeopleEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "people", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Person", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PeopleEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Person", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PlanetsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "PlanetsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "planets", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Planet", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "PlanetsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Planet", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SpeciesConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "SpeciesEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "species", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Species", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "SpeciesEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Species", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StarshipsConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "StarshipsEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "starships", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Starship", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "StarshipsEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Starship", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "VehiclesConnection", "description": "A connection to a list of items.", "fields": [ { "name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "PageInfo", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "edges", "description": "A list of edges.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "VehiclesEdge", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "totalCount", "description": "A count of the total number of objects in this connection, ignoring pagination.\nThis allows a client to fetch the first five objects by passing \"5\" as the\nargument to \"first\", then fetch the total count so it could display \"5 of 83\",\nfor example.", "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "vehicles", "description": "A list of all of the objects returned in the connection. This is a convenience\nfield provided for quickly exploring the API; rather than querying for\n\"{ edges { node } }\" when no edge data is needed, this field can be be used\ninstead. Note that when clients like Relay need to fetch the \"cursor\" field on\nthe edge to enable efficient pagination, this shortcut cannot be used, and the\nfull \"{ edges { node } }\" version should be used instead.", "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Vehicle", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "VehiclesEdge", "description": "An edge in a connection.", "fields": [ { "name": "node", "description": "The item at the end of the edge", "args": [], "type": { "kind": "OBJECT", "name": "Vehicle", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "cursor", "description": "A cursor for use in pagination", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Schema", "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.", "fields": [ { "name": "types", "description": "A list of all types supported by this server.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "queryType", "description": "The type that query operations will be rooted at.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "mutationType", "description": "If this server supports mutation, the type that mutation operations will be rooted at.", "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "subscriptionType", "description": "If this server support subscription, the type that subscription operations will be rooted at.", "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "directives", "description": "A list of all directives supported by this server.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Directive", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Type", "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, 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.", "fields": [ { "name": "kind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "__TypeKind", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "fields", "description": null, "args": [ { "name": "includeDeprecated", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Field", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "interfaces", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "possibleTypes", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "enumValues", "description": null, "args": [ { "name": "includeDeprecated", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__EnumValue", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "inputFields", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__InputValue", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "ofType", "description": null, "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "__TypeKind", "description": "An enum describing what kind of type a given `__Type` is.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "SCALAR", "description": "Indicates this type is a scalar.", "isDeprecated": false, "deprecationReason": null }, { "name": "OBJECT", "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "INTERFACE", "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNION", "description": "Indicates this type is a union. `possibleTypes` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM", "description": "Indicates this type is an enum. `enumValues` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_OBJECT", "description": "Indicates this type is an input object. `inputFields` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "LIST", "description": "Indicates this type is a list. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "NON_NULL", "description": "Indicates this type is a non-null. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "__Field", "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.", "fields": [ { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "args", "description": null, "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 } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isDeprecated", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "deprecationReason", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__InputValue", "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.", "fields": [ { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "defaultValue", "description": "A GraphQL-formatted string representing the default value for this input value.", "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__EnumValue", "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.", "fields": [ { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "isDeprecated", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "deprecationReason", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Directive", "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL'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.", "fields": [ { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "locations", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "__DirectiveLocation", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "args", "description": null, "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 } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "onOperation", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." }, { "name": "onFragment", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." }, { "name": "onField", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "__DirectiveLocation", "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "QUERY", "description": "Location adjacent to a query operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "MUTATION", "description": "Location adjacent to a mutation operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "SUBSCRIPTION", "description": "Location adjacent to a subscription operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "FIELD", "description": "Location adjacent to a field.", "isDeprecated": false, "deprecationReason": null }, { "name": "FRAGMENT_DEFINITION", "description": "Location adjacent to a fragment definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "FRAGMENT_SPREAD", "description": "Location adjacent to a fragment spread.", "isDeprecated": false, "deprecationReason": null }, { "name": "INLINE_FRAGMENT", "description": "Location adjacent to an inline fragment.", "isDeprecated": false, "deprecationReason": null }, { "name": "SCHEMA", "description": "Location adjacent to a schema definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "SCALAR", "description": "Location adjacent to a scalar definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "OBJECT", "description": "Location adjacent to an object type definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "FIELD_DEFINITION", "description": "Location adjacent to a field definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ARGUMENT_DEFINITION", "description": "Location adjacent to an argument definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INTERFACE", "description": "Location adjacent to an interface definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNION", "description": "Location adjacent to a union definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM", "description": "Location adjacent to an enum definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM_VALUE", "description": "Location adjacent to an enum value definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_OBJECT", "description": "Location adjacent to an input object type definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_FIELD_DEFINITION", "description": "Location adjacent to an input object field definition.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null } ], "directives": [ { "name": "include", "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [ { "name": "if", "description": "Included when true.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "defaultValue": null } ] }, { "name": "skip", "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [ { "name": "if", "description": "Skipped when true.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "defaultValue": null } ] }, { "name": "deprecated", "description": "Marks an element of a GraphQL schema as no longer supported.", "locations": ["FIELD_DEFINITION", "ENUM_VALUE"], "args": [ { "name": "reason", "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": "\"No longer supported\"" } ] } ] } } } ================================================ FILE: demo/presets/yelp_introspection.json ================================================ { "data": { "__schema": { "queryType": { "name": "Query" }, "mutationType": null, "subscriptionType": null, "types": [ { "kind": "OBJECT", "name": "Query", "description": null, "fields": [ { "name": "business", "description": null, "args": [ { "name": "id", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "locale", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Business", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "reviews", "description": null, "args": [ { "name": "business", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "locale", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Reviews", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "phone_search", "description": null, "args": [ { "name": "phone", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Businesses", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "search", "description": null, "args": [ { "name": "term", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "location", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "country", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "offset", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "limit", "description": null, "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "defaultValue": null }, { "name": "sort_by", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "locale", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "longitude", "description": null, "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "defaultValue": null }, { "name": "latitude", "description": null, "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "defaultValue": null }, { "name": "categories", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "open_now", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "open_at", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "price", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "attributes", "description": null, "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "defaultValue": null }, { "name": "radius", "description": null, "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "defaultValue": null } ], "type": { "kind": "OBJECT", "name": "Businesses", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Business", "description": null, "fields": [ { "name": "name", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "id", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "is_claimed", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "is_closed", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "phone", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "display_phone", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "review_count", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "categories", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Category", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "rating", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "location", "description": null, "args": [], "type": { "kind": "OBJECT", "name": "Location", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "coordinates", "description": null, "args": [], "type": { "kind": "OBJECT", "name": "Coordinates", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "photos", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "hours", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Hours", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "reviews", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Review", "ofType": null } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "String", "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.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Boolean", "description": "The `Boolean` scalar type represents `true` or `false`.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Int", "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^53 - 1) and 2^53 - 1 since represented in JSON as double-precision floating point numbers specifiedby [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point).", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Category", "description": null, "fields": [ { "name": "title", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "alias", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "SCALAR", "name": "Float", "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point). ", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Location", "description": null, "fields": [ { "name": "address1", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "address2", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "address3", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "city", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "state", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "zip_code", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "country", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "formatted_address", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Coordinates", "description": null, "fields": [ { "name": "latitude", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "longitude", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Float", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Hours", "description": null, "fields": [ { "name": "hours_type", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "open", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "OpenHours", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "is_open_now", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "OpenHours", "description": null, "fields": [ { "name": "is_overnight", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "end", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "start", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "day", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Review", "description": null, "fields": [ { "name": "rating", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "user", "description": null, "args": [], "type": { "kind": "OBJECT", "name": "User", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "text", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "time_created", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "url", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "User", "description": null, "fields": [ { "name": "image_url", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Reviews", "description": null, "fields": [ { "name": "review", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Review", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "total", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "Businesses", "description": null, "fields": [ { "name": "business", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", "name": "Business", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "total", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Schema", "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.", "fields": [ { "name": "types", "description": "A list of all types supported by this server.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "queryType", "description": "The type that query operations will be rooted at.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "mutationType", "description": "If this server supports mutation, the type that mutation operations will be rooted at.", "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "subscriptionType", "description": "If this server support subscription, the type that subscription operations will be rooted at.", "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "directives", "description": "A list of all directives supported by this server.", "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Directive", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Type", "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, 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.", "fields": [ { "name": "kind", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "__TypeKind", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "name", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "fields", "description": null, "args": [ { "name": "includeDeprecated", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Field", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "interfaces", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "possibleTypes", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "enumValues", "description": null, "args": [ { "name": "includeDeprecated", "description": null, "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, "defaultValue": "false" } ], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__EnumValue", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "inputFields", "description": null, "args": [], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__InputValue", "ofType": null } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "ofType", "description": null, "args": [], "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "__TypeKind", "description": "An enum describing what kind of type a given `__Type` is", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "SCALAR", "description": "Indicates this type is a scalar.", "isDeprecated": false, "deprecationReason": null }, { "name": "OBJECT", "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "INTERFACE", "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNION", "description": "Indicates this type is a union. `possibleTypes` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM", "description": "Indicates this type is an enum. `enumValues` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_OBJECT", "description": "Indicates this type is an input object. `inputFields` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "LIST", "description": "Indicates this type is a list. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null }, { "name": "NON_NULL", "description": "Indicates this type is a non-null. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null }, { "kind": "OBJECT", "name": "__Field", "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.", "fields": [ { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "args", "description": null, "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 } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "isDeprecated", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "deprecationReason", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__InputValue", "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.", "fields": [ { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "type", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "defaultValue", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__EnumValue", "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.", "fields": [ { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "isDeprecated", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "deprecationReason", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", "name": "__Directive", "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL'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.", "fields": [ { "name": "name", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } }, "isDeprecated": false, "deprecationReason": null }, { "name": "description", "description": null, "args": [], "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { "name": "locations", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "LIST", "name": null, "ofType": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "ENUM", "name": "__DirectiveLocation", "ofType": null } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "args", "description": null, "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 } } } }, "isDeprecated": false, "deprecationReason": null }, { "name": "onOperation", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." }, { "name": "onFragment", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." }, { "name": "onField", "description": null, "args": [], "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "isDeprecated": true, "deprecationReason": "Use `locations`." } ], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null }, { "kind": "ENUM", "name": "__DirectiveLocation", "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [ { "name": "QUERY", "description": "Location adjacent to a query operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "MUTATION", "description": "Location adjacent to a mutation operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "SUBSCRIPTION", "description": "Location adjacent to a subscription operation.", "isDeprecated": false, "deprecationReason": null }, { "name": "FIELD", "description": "Location adjacent to a field.", "isDeprecated": false, "deprecationReason": null }, { "name": "FRAGMENT_DEFINITION", "description": "Location adjacent to a fragment definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "FRAGMENT_SPREAD", "description": "Location adjacent to a fragment spread.", "isDeprecated": false, "deprecationReason": null }, { "name": "INLINE_FRAGMENT", "description": "Location adjacent to an inline fragment.", "isDeprecated": false, "deprecationReason": null }, { "name": "SCHEMA", "description": "Location adjacent to a schema definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "SCALAR", "description": "Location adjacent to a scalar definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "OBJECT", "description": "Location adjacent to an object definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "FIELD_DEFINITION", "description": "Location adjacent to a field definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ARGUMENT_DEFINITION", "description": "Location adjacent to an argument definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INTERFACE", "description": "Location adjacent to an interface definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "UNION", "description": "Location adjacent to a union definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM", "description": "Location adjacent to an enum definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "ENUM_VALUE", "description": "Location adjacent to an enum value definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_OBJECT", "description": "Location adjacent to an input object definition.", "isDeprecated": false, "deprecationReason": null }, { "name": "INPUT_FIELD_DEFINITION", "description": "Location adjacent to an input object field definition.", "isDeprecated": false, "deprecationReason": null } ], "possibleTypes": null } ], "directives": [ { "name": "include", "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [ { "name": "if", "description": "Included when true.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "defaultValue": null } ] }, { "name": "skip", "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [ { "name": "if", "description": "Skipped when true.", "type": { "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", "name": "Boolean", "ofType": null } }, "defaultValue": null } ] } ] } } } ================================================ FILE: docker-compose.yml ================================================ services: playwright-server: build: context: . dockerfile: ./tests/Dockerfile args: PLAYWRIGHT_VERSION: ${PLAYWRIGHT_VERSION} ipc: host command: playwright run-server --host=0.0.0.0 --port=3000 ports: - '3000:3000' ================================================ FILE: example/README.md ================================================ # Example GraphQL-Voyager Install --- **Attribution:** the contents of this folder was copied from [GraphiQL](https://github.com/graphql/graphiql/tree/main/example) example and modified for GraphQL-Voyager example. See copyright below: > Copyright (c) Facebook, Inc. All rights reserved. [LICENSE](https://github.com/graphql/graphiql/blob/main/LICENSE) --- This example uses the version of GraphQL-Voyager found in the parent directory, rather than depending on npm, so that it is easier to test new changes. In order to use the compiled version of GraphQL-Voyager, first run in the parent directory before installing and starting the example. 1. Run `npm install && npm run build:release` in the parent directory 2. Navigate to this directory (example) in Terminal 3. `npm install` 4. `npm start` 5. Open your browser to the address listed in your console. e.g. `Started on http://localhost:49811/` ================================================ FILE: example/cdn/index.html ================================================
Loading...
================================================ FILE: example/express-server/Dockerfile ================================================ # syntax=docker/dockerfile:1 FROM node:20 WORKDIR /app COPY ./graphql-voyager-*.tgz graphql-voyager.tgz COPY ./example/express-server ./example/express-server WORKDIR /app/example/express-server RUN npm install && npm test EXPOSE 9090 CMD ["npm", "start"] ================================================ FILE: example/express-server/index.ts ================================================ import express from 'express'; import { createHandler } from 'graphql-http/lib/use/express'; import { express as voyagerMiddleware } from 'graphql-voyager/middleware'; import { schema } from './schema.ts'; const PORT = 9090; const app = express(); app.use('/graphql', createHandler({ schema })); app.use( '/voyager', voyagerMiddleware({ endpointUrl: '/graphql', displayOptions: { sortByAlphabet: true, }, }), ); app.listen(PORT, () => { console.log(`Started on http://localhost:${PORT}/voyager`); }); ================================================ FILE: example/express-server/package.json ================================================ { "private": "true", "description": "An example using GraphQL-Voyager", "type": "module", "scripts": { "start": "node index.ts", "test": "tsc" }, "dependencies": { "express": "4.21.0", "graphql": "16.9.0", "graphql-http": "1.22.1", "graphql-voyager": "../../graphql-voyager.tgz" }, "devDependencies": { "@types/express": "4.17.21", "typescript": "5.9.2" } } ================================================ FILE: example/express-server/schema.ts ================================================ import { buildSchema } from 'graphql'; export const schema = buildSchema(` enum TestEnum { "A rosy color" RED "The color of martians and slime" GREEN "A feeling you might have if you can't use GraphQL" BLUE } input TestInput { string: String int: Int float: Float boolean: Boolean id: ID enum: TestEnum object: TestInput # List listString: [String] listInt: [Int] listFloat: [Float] listBoolean: [Boolean] listID: [ID] listEnum: [TestEnum] listObject: [TestInput] } "The interface" interface TestInterface { "Common name string." name: String } type First implements TestInterface { "Common name string for First." name: String first: [TestInterface] } type Second implements TestInterface { "Common name string for Second." name: String second: [TestInterface] } union TestUnion = First | Second type Test { "\`test\` field from \`Test\` type." test: Test "> union field from Test type, block-quoted." union: TestUnion "id field from Test type." id: ID "Is this a test schema? Sure it is." isTest: Boolean hasArgs( string: String int: Int float: Float boolean: Boolean id: ID enum: TestEnum object: TestInput # List listString: [String] listInt: [Int] listFloat: [Float] listBoolean: [Boolean] listID: [ID] listEnum: [TestEnum] listObject: [TestInput] ): String } "This is a simple mutation type" type MutationType { "Set the string field" setString(value: String): String } "This is a simple subscription type" type SubscriptionType { "Subscribe to the test type" subscribeToTest(id: String): Test } schema { query: Test mutation: MutationType subscription: SubscriptionType } `); ================================================ FILE: example/express-server/tsconfig.json ================================================ { "compilerOptions": { "strict": true, "noEmit": true, "module": "nodenext", "moduleResolution": "nodenext", "allowImportingTsExtensions": true, "esModuleInterop": true, "target": "es2021" }, "include": ["./index.ts"] } ================================================ FILE: example/webpack/Dockerfile ================================================ # syntax=docker/dockerfile:1 FROM node:24 WORKDIR /app COPY ./graphql-voyager-*.tgz graphql-voyager.tgz COPY ./example/webpack ./example/webpack WORKDIR /app/example/webpack RUN npm install && npm test EXPOSE 9090 CMD ["npm", "start"] ================================================ FILE: example/webpack/README.md ================================================ # Example GraphQL-Voyager Install This example uses the version of GraphQL-Voyager found in the parent directory, rather than depending on npm, so that it is easier to test new changes. In order to use the compiled version of GraphQL-Voyager, first run in the parent directory before installing and starting the example. 1. Run `npm install && npm run build:release` in the root repo directory 2. Navigate to this directory (example) in Terminal 3. `npm install` 4. `npm start` 5. Open your browser to the address listed in your console. e.g. `Project is running at http://localhost:9090/` ================================================ FILE: example/webpack/index.html ================================================
Loading...
================================================ FILE: example/webpack/index.tsx ================================================ import { Voyager, voyagerIntrospectionQuery } from 'graphql-voyager'; import { StrictMode } from 'react'; import * as ReactDOMClient from 'react-dom/client'; const response = await fetch('https://swapi-graphql.netlify.app/graphql', { method: 'post', headers: { Accept: 'application/json', 'Content-Type': 'application/json', }, body: JSON.stringify({ query: voyagerIntrospectionQuery }), credentials: 'omit', }); const introspection = await response.json(); const reactRoot = ReactDOMClient.createRoot( document.getElementById('voyager')!, ); reactRoot.render( , ); ================================================ FILE: example/webpack/package.json ================================================ { "private": "true", "description": "An example using GraphQL-Voyager", "scripts": { "start": "webpack-dev-server --config webpack.config.js --mode=production", "test": "tsc" }, "type": "module", "dependencies": { "graphql-voyager": "../../graphql-voyager.tgz" }, "devDependencies": { "@types/react": "18.3.8", "@types/react-dom": "18.3.0", "ts-loader": "5.3.3", "typescript": "5.9.2", "webpack": "5.99.9", "webpack-cli": "6.0.1", "webpack-dev-server": "5.2.2" } } ================================================ FILE: example/webpack/tsconfig.json ================================================ { "compilerOptions": { "strict": true, "noEmit": true, "module": "nodenext", "moduleResolution": "nodenext", "target": "es2021", "jsx": "react-jsx" }, "include": ["./index.tsx"] } ================================================ FILE: example/webpack/webpack.config.js ================================================ import path from 'node:path'; const config = { devServer: { port: 9090, allowedHosts: 'all', static: { directory: import.meta.dirname }, // needed to prevent info messages during integration tests client: { logging: 'warn' }, }, // disable hints since Voyager is too big :( performance: { hints: false }, entry: ['./index.tsx'], output: { path: path.resolve(import.meta.dirname, 'dist'), filename: 'main.js', }, module: { rules: [ { test: /\.tsx?$/, use: { loader: 'ts-loader', options: { compilerOptions: { noEmit: false } }, }, exclude: /node_modules/, }, ], }, }; export default config; ================================================ FILE: manual-types.d.ts ================================================ declare module '*.svg' { import React from 'react'; const SVG: React.FC>; export default SVG; } declare module '*?raw' { const content: string; export default content; } declare module '*.css' { const content: any; export default content; } ================================================ FILE: package.json ================================================ { "name": "graphql-voyager", "version": "2.1.0", "description": "GraphQL introspection viewer", "author": "IvanGoncharov ", "license": "MIT", "homepage": "https://apis.guru/graphql-voyager", "repository": { "type": "git", "url": "git+https://github.com/APIs-guru/graphql-voyager.git" }, "funding": "https://github.com/APIs-guru/graphql-voyager?sponsor=1", "bugs": { "url": "https://github.com/APIs-guru/graphql-voyager/issues" }, "engines": { "node": ">=25.2.0" }, "type": "module", "exports": { ".": { "import": "./dist/voyager.lib.js", "browser": "./dist/voyager.lib.js", "types": "./dist/index.d.ts" }, "./*": { "import": "./dist/*", "browser": "./dist/*", "types": "./dist/*" }, "./middleware": { "import": "./dist/middleware/index.js", "types": "./dist/middleware/index.d.ts" } }, "scripts": { "preversion": "npm ci --ignore-scripts && npm test", "changelog": "node scripts/gen-changelog.ts", "test": "npm run lint && npm run check && npm run testonly && npm run prettier:check && npm run check:spell", "start": "webpack serve --mode=development", "serve": "node ./scripts/serve-directory.ts -p 9090 demo-dist/graphql-voyager", "bundle": "rm -rf dist && webpack --mode=production", "build:ts": "tsc --project tsconfig.build.json", "build:release": "npm run bundle && npm run build:ts", "build:demo": "npm run build:release && rm -rf demo-dist && mkdir demo-dist && cp -R demo/ demo-dist/graphql-voyager/ && cp dist/voyager.css* dist/voyager.standalone.js* demo-dist/graphql-voyager/", "stats": "NODE_ENV=production webpack --json --mode=production > stats.json", "lint": "eslint --cache --max-warnings 0 .", "check": "tsc", "prettier": "prettier --write --list-different . **/*.svg", "prettier:check": "prettier --check . **/*.svg", "check:spell": "cspell --cache --no-progress '**/*'", "testonly": "npm run build:demo && npm pack && playwright test", "update-snapshots": "npm run build:demo && npm pack && playwright test --update-snapshots", "deploy": "wrangler deploy" }, "peerDependencies": { "graphql": ">=16.5.0", "react": ">=18.0.0" }, "dependencies": { "@emotion/react": "11.14.0", "@emotion/styled": "11.14.0", "@mui/icons-material": "7.1.1", "@mui/lab": "7.0.0-beta.13", "@mui/material": "7.1.1", "commonmark": "0.31.2", "dotviz": "0.0.7", "svg-pan-zoom": "3.6.2" }, "devDependencies": { "@svgr/webpack": "8.1.0", "@types/commonmark": "0.27.9", "@types/node": "24.0.1", "@types/react": "19.1.8", "@types/react-dom": "19.1.6", "@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/parser": "8.16.0", "cspell": "9.4.0", "css-loader": "7.1.2", "eslint": "8.57.1", "eslint-plugin-import": "2.31.0", "eslint-plugin-playwright": "1.6.2", "eslint-plugin-react": "7.37.1", "eslint-plugin-react-hooks": "4.6.2", "eslint-plugin-simple-import-sort": "12.1.1", "graphql": "16.11.0", "mini-css-extract-plugin": "2.9.2", "playwright": "1.53.0", "postcss-cssnext": "3.1.1", "postcss-import": "16.1.0", "postcss-loader": "8.1.1", "postcss-variables-loader": "6.0.0", "prettier": "3.5.3", "react": "19.1.0", "react-dom": "19.1.0", "style-loader": "4.0.0", "ts-loader": "9.5.2", "ts-node": "10.9.2", "typescript": "5.7.3", "webpack": "5.103.0", "webpack-cli": "6.0.1", "webpack-dev-server": "5.2.2", "wrangler": "4.33.1" } } ================================================ FILE: playwright.config.ts ================================================ import playwrightPackage from 'playwright/package.json' with { type: 'json' }; import { devices, type PlaywrightTestConfig } from 'playwright/test'; const isCI = !!process.env['CI']; /** * See https://playwright.dev/docs/test-configuration. */ const config: PlaywrightTestConfig = { testDir: './tests', // FIXME: remove '-linux' snapshotPathTemplate: '{snapshotDir}/{testFileDir}/{testFileName}-snapshots/{arg}{-projectName}-linux{ext}', /* Maximum time one test can run for. */ timeout: 20 * 1000, expect: { /** * Maximum time expect() should wait for the condition to be met. * For example in `await expect(locator).toHaveText();` */ timeout: 10000, }, /* Run tests in files in parallel */ fullyParallel: true, /* Fail the build on CI if you accidentally left test.only in the source code. */ forbidOnly: isCI, /* Retry on CI only */ retries: isCI ? 2 : 0, /* Opt out of parallel tests on CI. */ workers: isCI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [['html', { open: 'never' }]], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { ...devices['Desktop Chrome'], viewport: { width: 1920, height: 1001 }, permissions: ['clipboard-read', 'clipboard-write'], /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'retain-on-failure', connectOptions: { wsEndpoint: 'ws://127.0.0.1:3000/', exposeNetwork: '', }, }, projects: [ { name: 'Demo', testMatch: 'Demo.spec.ts', use: { baseURL: 'http://127.0.0.1:9090' }, }, { name: 'WebpackExample', testMatch: 'webpack.spec.ts', use: { baseURL: 'http://serve-webpack-example:9090' }, }, { name: 'ExpressExample', testMatch: 'express.spec.ts', use: { baseURL: 'http://serve-express-example:9090' }, }, ], outputDir: 'test-results/', webServer: [ { name: 'playwright-server', env: { PLAYWRIGHT_VERSION: playwrightPackage.version }, command: 'docker compose up --abort-on-container-exit --build playwright-server', url: 'http://127.0.0.1:3000/', stdout: 'pipe', timeout: 120 * 1000, gracefulShutdown: { signal: 'SIGINT', timeout: 120 * 1000, }, }, { name: 'npm run serve', command: 'npm run serve', url: 'http://localhost:9090/', }, ], }; export default config; ================================================ FILE: scripts/gen-changelog.ts ================================================ import packageJSON from '../package.json' with { type: 'json' }; import { git } from './utils.ts'; const labelsConfig: { [label: string]: { section: string; fold?: boolean } } = { 'PR: breaking change 💥': { section: 'Breaking Change 💥', }, 'PR: deprecation ⚠': { section: 'Deprecation ⚠', }, 'PR: feature 🚀': { section: 'New Feature 🚀', }, 'PR: bug fix 🐞': { section: 'Bug Fix 🐞', }, 'PR: docs 📝': { section: 'Docs 📝', fold: true, }, 'PR: polish 💅': { section: 'Polish 💅', fold: true, }, 'PR: internal 🏠': { section: 'Internal 🏠', fold: true, }, 'PR: dependency 📦': { section: 'Dependency 📦', fold: true, }, }; const { GITHUB_TOKEN } = process.env; if (GITHUB_TOKEN == null) { console.error('Must provide GITHUB_TOKEN as environment variable!'); process.exit(1); } if (!packageJSON.repository || typeof packageJSON.repository.url !== 'string') { console.error('package.json is missing repository.url string!'); process.exit(1); } const repoURLMatch = /https:\/\/github.com\/(?[^/]+)\/(?[^/]+).git/.exec( packageJSON.repository.url, ); if (repoURLMatch?.groups == null) { console.error('Cannot extract organization and repo name from repo URL!'); process.exit(1); } const { githubOrg, githubRepo } = repoURLMatch.groups; genChangeLog() .then((result) => process.stdout.write(result)) .catch((e) => { console.error(e); process.exit(1); }); async function genChangeLog(): Promise { const { version } = packageJSON; let tag: string | null = null; let commitsList = git().revList('--reverse', `v${version}..`); if (commitsList.length === 0) { const parentPackageJSON = git().catFile('blob', 'HEAD~1:package.json'); const parentVersion = JSON.parse(parentPackageJSON).version; commitsList = git().revList('--reverse', `v${parentVersion}..HEAD~1`); tag = `v${version}`; } const allPRs = await getPRsInfo(commitsList); const date = git().log('-1', '--format=%cd', '--date=short'); const byLabel: { [label: string]: Array } = {}; const committersByLogin: { [login: string]: AuthorInfo } = {}; for (const pr of allPRs) { const labels = pr.labels.nodes .map((label) => label.name) .filter((label) => label.startsWith('PR: ')); const label = labels[0]; if (label == null) { throw new Error(`PR is missing label. See ${pr.url}`); } if (labels.length > 1) { throw new Error( `PR has conflicting labels: ${labels.join('\n')}\nSee ${pr.url}`, ); } if (labelsConfig[label] == null) { throw new Error(`Unknown label: ${label}. See ${pr.url}`); } byLabel[label] ??= []; byLabel[label].push(pr); committersByLogin[pr.author.login] = pr.author; } let changelog = `## ${tag ?? 'Unreleased'} (${date})\n`; for (const [label, config] of Object.entries(labelsConfig)) { const prs = byLabel[label]; if (prs != null) { const shouldFold = config.fold && prs.length > 1; changelog += `\n#### ${config.section}\n`; if (shouldFold) { changelog += '
\n'; changelog += ` ${prs.length} PRs were merged \n\n`; } for (const pr of prs) { const { number, url, author } = pr; changelog += `* [#${number}](${url}) ${pr.title} ([@${author.login}](${author.url}))\n`; } if (shouldFold) { changelog += '
\n'; } } } const committers = Object.values(committersByLogin).sort((a, b) => (a.name || a.login).localeCompare(b.name || b.login), ); changelog += `\n#### Committers: ${committers.length}\n`; for (const committer of committers) { changelog += `* ${committer.name}([@${committer.login}](${committer.url}))\n`; } return changelog; } async function graphqlRequest(query: string) { const response = await fetch('https://api.github.com/graphql', { method: 'POST', headers: { Authorization: 'bearer ' + GITHUB_TOKEN, 'Content-Type': 'application/json', 'User-Agent': 'gen-changelog', }, body: JSON.stringify({ query }), }); if (!response.ok) { throw new Error( `GitHub responded with ${response.status}: ${response.statusText}\n` + (await response.text()), ); } const json = await response.json(); if (json.errors != null) { throw new Error('Errors: ' + JSON.stringify(json.errors, null, 2)); } return json.data; } interface CommitInfo { oid: string; message: string; associatedPullRequests: { nodes: ReadonlyArray<{ number: number; repository: { nameWithOwner: string; }; }>; }; } async function batchCommitToPR( commits: ReadonlyArray, ): Promise> { let commitsSubQuery = ''; for (const oid of commits) { commitsSubQuery += ` commit_${oid}: object(oid: "${oid}") { ... on Commit { oid message associatedPullRequests(first: 10) { nodes { number repository { nameWithOwner } } } } } `; } const response = await graphqlRequest(` { repository(owner: "${githubOrg}", name: "${githubRepo}") { ${commitsSubQuery} } } `); const prNumbers = []; for (const oid of commits) { const commitInfo: CommitInfo = response.repository['commit_' + oid]; prNumbers.push(commitInfoToPR(commitInfo)); } return prNumbers; } interface AuthorInfo { login: string; url: string; name: string; } interface PRInfo { number: number; title: string; url: string; author: AuthorInfo; labels: { nodes: ReadonlyArray<{ name: string; }>; }; } async function batchPRInfo( prNumbers: ReadonlyArray, ): Promise> { let prsSubQuery = ''; for (const number of prNumbers) { prsSubQuery += ` pr_${number}: pullRequest(number: ${number}) { number title url author { login url ... on User { name } } labels(first: 10) { nodes { name } } } `; } const response = await graphqlRequest(` { repository(owner: "${githubOrg}", name: "${githubRepo}") { ${prsSubQuery} } } `); const prsInfo = []; for (const number of prNumbers) { prsInfo.push(response.repository['pr_' + number]); } return prsInfo; } function commitInfoToPR(commit: CommitInfo): number { const associatedPRs = commit.associatedPullRequests.nodes.filter( (pr) => pr.repository.nameWithOwner === `${githubOrg}/${githubRepo}`, ); if (associatedPRs.length > 1) { throw new Error( `Commit ${commit.oid} is associated with multiple PRs: ${commit.message}`, ); } const associatedPR = associatedPRs[0]; if (associatedPR == null) { const match = / \(#(?[0-9]+)\)$/m.exec(commit.message); const { prNumber } = match?.groups ?? {}; if (prNumber != null) { return parseInt(prNumber, 10); } throw new Error( `Commit ${commit.oid} has no associated PR: ${commit.message}`, ); } return associatedPR.number; } async function getPRsInfo( commits: ReadonlyArray, ): Promise> { let prNumbers = await splitBatches(commits, batchCommitToPR); prNumbers = Array.from(new Set(prNumbers)); // Remove duplicates return splitBatches(prNumbers, batchPRInfo); } // Split commits into batches of 50 to prevent timeouts async function splitBatches( array: ReadonlyArray, batchFn: (array: ReadonlyArray) => Promise>, ): Promise> { const promises = []; for (let i = 0; i < array.length; i += 50) { const batchItems = array.slice(i, i + 50); promises.push(batchFn(batchItems)); } return (await Promise.all(promises)).flat(); } ================================================ FILE: scripts/serve-directory.ts ================================================ // Copied from https://developer.mozilla.org/en-US/docs/Learn/Server-side/Node_server_without_framework import * as fs from 'node:fs'; import * as http from 'node:http'; import * as path from 'node:path'; import * as util from 'node:util'; const parsedArgs = util.parseArgs({ strict: true, allowPositionals: true, options: { port: { type: 'string', short: 'p', }, }, }); const options = { directory: parsedArgs.positionals[0], port: parsedArgs.values.port, }; function consoleError(msg: string) { console.error('\x1b[31m%s\x1b[0m', msg); } http .createServer((request, response) => { const url = new URL(request.url!, 'file:'); let filePath = url.pathname; if (filePath === '/') { filePath = '/index.html'; } filePath = path.join(options.directory, filePath); const extname = String(path.extname(filePath)).toLowerCase(); const mimeTypes: { [ext: string]: string } = { '.html': 'text/html', '.js': 'text/javascript', '.css': 'text/css', '.json': 'application/json', '.png': 'image/png', '.jpg': 'image/jpg', '.svg': 'image/svg+xml', '.wasm': 'application/wasm', '.map': 'application/json', }; const contentType = mimeTypes[extname] ?? 'application/octet-stream'; fs.readFile(filePath, (error, content) => { if (error) { if (error.code === 'ENOENT') { consoleError(`${request.url} => 404`); response.writeHead(404); response.end('Sorry, missing file ..\n'); } else { consoleError(`${request.url} => 500`); response.writeHead(500); response.end( `Sorry, check with the site admin for error: ${error.code} ..\n`, ); } } else { console.log(`${request.url} => ${contentType}`); response.writeHead(200, { 'Content-Type': contentType }); response.end(content, 'utf-8'); } }); }) .listen(options.port); console.log(`Server running at http://127.0.0.1:${options.port}/`); ================================================ FILE: scripts/utils.ts ================================================ import childProcess from 'node:child_process'; interface GITOptions extends SpawnOptions { quiet?: boolean; } export function git(options?: GITOptions) { const cmdOptions = options?.quiet === true ? ['--quiet'] : []; return { clone(...args: ReadonlyArray): void { spawn('git', ['clone', ...cmdOptions, ...args], options); }, checkout(...args: ReadonlyArray): void { spawn('git', ['checkout', ...cmdOptions, ...args], options); }, revParse(...args: ReadonlyArray): string { return spawnOutput('git', ['rev-parse', ...cmdOptions, ...args], options); }, revList(...args: ReadonlyArray): Array { const allArgs = ['rev-list', ...cmdOptions, ...args]; const result = spawnOutput('git', allArgs, options); return result === '' ? [] : result.split('\n'); }, catFile(...args: ReadonlyArray): string { return spawnOutput('git', ['cat-file', ...cmdOptions, ...args], options); }, log(...args: ReadonlyArray): string { return spawnOutput('git', ['log', ...cmdOptions, ...args], options); }, }; } interface SpawnOptions { cwd?: string; env?: typeof process.env; } export function spawnOutput( command: string, args: ReadonlyArray, options?: SpawnOptions, ): string { const result = childProcess.spawnSync(command, args, { maxBuffer: 10 * 1024 * 1024, // 10MB stdio: ['inherit', 'pipe', 'inherit'], encoding: 'utf-8', ...options, }); if (result.status !== 0) { throw new Error(`Command failed: ${command} ${args.join(' ')}`); } return result.stdout.toString().trimEnd(); } function spawn( command: string, args: ReadonlyArray, options?: SpawnOptions, ): void { const result = childProcess.spawnSync(command, args, { stdio: 'inherit', ...options, }); if (result.status !== 0) { throw new Error(`Command failed: ${command} ${args.join(' ')}`); } } ================================================ FILE: src/components/GraphViewport.tsx ================================================ import Box from '@mui/material/Box'; import IconButton from '@mui/material/IconButton'; import Stack from '@mui/material/Stack'; import { GraphQLNamedType } from 'graphql'; import { Component, createRef } from 'react'; import { renderSvg } from '../graph/svg-renderer.ts'; import { TypeGraph } from '../graph/type-graph.ts'; import { Viewport } from '../graph/viewport.ts'; import { extractTypeName, typeObjToId } from '../introspection/utils.ts'; import ZoomInIcon from './icons/zoom-in.svg'; import ZoomOutIcon from './icons/zoom-out.svg'; import ZoomResetIcon from './icons/zoom-reset.svg'; import LoadingAnimation from './utils/LoadingAnimation.tsx'; import { type NavStack } from './Voyager.tsx'; interface GraphViewportProps { navStack: NavStack | null; onSelectNode: (type: GraphQLNamedType | null) => void; onSelectEdge: ( edgeID: string, fromType: GraphQLNamedType, toType: GraphQLNamedType, ) => void; } interface GraphViewportState { typeGraph: TypeGraph | null | undefined; svgViewport: Viewport | null; } export default class GraphViewport extends Component< GraphViewportProps, GraphViewportState > { state: GraphViewportState = { typeGraph: null, svgViewport: null }; _containerRef = createRef(); // Handle async graph rendering based on this example // https://gist.github.com/bvaughn/982ab689a41097237f6e9860db7ca8d6 _currentTypeGraph: TypeGraph | null = null; static getDerivedStateFromProps( props: GraphViewportProps, state: GraphViewportState, ): GraphViewportState | null { const typeGraph = props.navStack?.typeGraph; if (typeGraph !== state.typeGraph) { return { typeGraph, svgViewport: null }; } return null; } componentDidMount() { this._renderSvgAsync(this.props.navStack?.typeGraph); } componentDidUpdate( prevProps: GraphViewportProps, prevState: GraphViewportState, ) { const navStack = this.props.navStack; const prevNavStack = prevProps.navStack; const { svgViewport } = this.state; if (svgViewport == null) { this._renderSvgAsync(navStack?.typeGraph); return; } const isJustRendered = prevState.svgViewport == null; if (prevNavStack?.type !== navStack?.type || isJustRendered) { const nodeId = navStack?.type == null ? null : typeObjToId(navStack.type); svgViewport.selectNodeById(nodeId); } if ( prevNavStack?.selectedEdgeID !== navStack?.selectedEdgeID || isJustRendered ) { svgViewport.selectEdgeById(navStack?.selectedEdgeID); } } componentWillUnmount() { this._currentTypeGraph = null; this._cleanupSvgViewport(); } _renderSvgAsync(typeGraph: TypeGraph | null | undefined) { if (typeGraph == null) { return; // Nothing to render } if (typeGraph === this._currentTypeGraph) { return; // Already rendering in background } this._currentTypeGraph = typeGraph; const { onSelectNode, onSelectEdge } = this.props; renderSvg(typeGraph) .then((svg) => { if (typeGraph !== this._currentTypeGraph) { return; // One of the past rendering jobs finished } this._cleanupSvgViewport(); const svgViewport = new Viewport( svg, this._containerRef.current!, (nodeId: string | null) => { if (nodeId == null) { return onSelectNode(null); } const type = typeGraph.nodes.get(extractTypeName(nodeId)); if (type != null) { onSelectNode(type); } }, (edgeID: string, toID: string) => { const fromType = typeGraph.nodes.get(extractTypeName(edgeID)); const toType = typeGraph.nodes.get(extractTypeName(toID)); if (fromType != null && toType != null) { onSelectEdge(edgeID, fromType, toType); } }, ); this.setState({ svgViewport }); }) .catch((rawError) => { this._currentTypeGraph = null; const error = rawError instanceof Error ? rawError : new Error('Unknown error: ' + String(rawError)); this.setState(() => { throw error; }); }); } render() { const isLoading = this.state.svgViewport == null; const { svgViewport } = this.state; return ( <> svg': { height: '100%', width: '100%', }, }} /> {!isLoading && ( svgViewport?.zoomIn()} > svgViewport?.reset()} > svgViewport?.zoomOut()} > )} {isLoading && } ); } focusNode(type: GraphQLNamedType): void { const { svgViewport } = this.state; if (svgViewport) { svgViewport.focusElement(typeObjToId(type)); } } _cleanupSvgViewport() { const { svgViewport } = this.state; if (svgViewport) { svgViewport.destroy(); } } } ================================================ FILE: src/components/IntrospectionModal.tsx ================================================ import ContentCopyIcon from '@mui/icons-material/ContentCopy'; import TabContext from '@mui/lab/TabContext'; import TabList from '@mui/lab/TabList'; import TabPanel from '@mui/lab/TabPanel'; import Button from '@mui/material/Button'; import Dialog from '@mui/material/Dialog'; import DialogActions from '@mui/material/DialogActions'; import DialogContent from '@mui/material/DialogContent'; import Grid from '@mui/material/Grid'; import Stack from '@mui/material/Stack'; import Tab from '@mui/material/Tab'; import TextField from '@mui/material/TextField'; import Tooltip from '@mui/material/Tooltip'; import Typography from '@mui/material/Typography'; import { buildClientSchema } from 'graphql/utilities'; import { ReactElement, useState } from 'react'; import { voyagerIntrospectionQuery } from '../utils/introspection-query.ts'; import { sdlToSchema } from '../utils/sdl-to-introspection.ts'; enum InputType { Presets = 'Presets', SDL = 'SDL', Introspection = 'Introspection', } interface IntrospectionModalProps { open: boolean; presets?: { [name: string]: any }; onClose: () => void; onChange: (introspection: any) => void; } export function IntrospectionModal(props: IntrospectionModalProps) { const { open, presets, onChange, onClose } = props; const hasPresets = presets != null; const presetNames = hasPresets ? Object.keys(presets) : []; const [submitted, setSubmitted] = useState({ inputType: hasPresets ? InputType.Presets : InputType.SDL, activePreset: presetNames.at(0) ?? '', sdlText: '', jsonText: '', }); const [inputType, setInputType] = useState(submitted.inputType); const [sdlText, setSDLText] = useState(submitted.sdlText); const [jsonText, setJSONText] = useState(submitted.jsonText); const [activePreset, setActivePreset] = useState(submitted.activePreset); return ( setInputType(activeTab)} > {hasPresets && ( )} {hasPresets && ( )} ); function handleCancel() { setInputType(submitted.inputType); setSDLText(submitted.sdlText); setJSONText(submitted.jsonText); setActivePreset(submitted.activePreset); onClose(); } function handleSubmit() { switch (inputType) { case InputType.Presets: onChange(buildClientSchema(presets?.[activePreset].data)); break; case InputType.Introspection: // check for errors and check if valid onChange(buildClientSchema(JSON.parse(jsonText).data)); break; case InputType.SDL: onChange(sdlToSchema(sdlText)); break; } setSubmitted({ inputType, sdlText, jsonText, activePreset }); onClose(); } } interface IntrospectionDialogProps { open: boolean; onCancel: () => void; onSubmit: () => void; children: ReactElement; } function IntrospectionDialog(props: IntrospectionDialogProps) { const { open, onCancel, onSubmit, children } = props; return ( {children} ); } interface PresetsTabProps { presets: { [name: string]: any }; activePreset: string; onPresetChange: (presetName: string) => void; } function PresetsTab(props: PresetsTabProps) { const { presets, activePreset, onPresetChange } = props; const presetNames = Object.keys(presets); return ( {presetNames.map((name) => ( ))} ); } interface SDLTabProps { sdlText: string; onSDLTextChange: (sdl: string) => void; } function SDLTab(props: SDLTabProps) { const { sdlText, onSDLTextChange } = props; return ( onSDLTextChange(event.target.value)} /> ); } interface IntrospectionTabProps { jsonText: string; onJSONTextChange: (json: string) => void; } function IntrospectionTab(props: IntrospectionTabProps) { const { jsonText, onJSONTextChange } = props; const [isCopied, setIsCopied] = useState(false); return ( Run the introspection query against a GraphQL endpoint. Paste the result into the textarea below to view the model relationships. setIsCopied(false)} leaveDelay={1500} > onJSONTextChange(event.target.value)} /> ); } function PrivacyNote() { return ( Privacy note: Your schema is processed within browser and is not transmitted to external servers or third parties. ); } ================================================ FILE: src/components/MUITheme.tsx ================================================ import { cyan } from '@mui/material/colors'; import { createTheme } from '@mui/material/styles'; import variables from './variables.css'; declare module '@mui/material/styles' { interface Palette { shadowColor: Palette['primary']; } interface PaletteOptions { shadowColor: PaletteOptions['primary']; } interface Theme { panelSpacing?: string; } interface ThemeOptions { panelSpacing?: string; } } export const theme = createTheme({ palette: { primary: cyan, secondary: { main: '#548f9e' }, shadowColor: { main: 'rgba(0, 0, 0, 0.1)' }, }, typography: { fontSize: 12, fontFamily: 'helvetica neue, helvetica, arial, sans-serif', }, panelSpacing: '15px', components: { MuiCheckbox: { styleOverrides: { root: { width: '30px', height: '15px', padding: 0, }, }, }, MuiIconButton: { styleOverrides: { root: { width: variables.iconsSize, height: variables.iconSize, padding: 0, }, }, }, MuiInput: { styleOverrides: { root: { marginBottom: '10px', }, }, }, MuiTooltip: { styleOverrides: { tooltip: { fontSize: variables.baseFontSize - 2, }, }, }, MuiMenuItem: { styleOverrides: { root: { padding: '11px 16px', }, }, }, MuiSnackbar: { styleOverrides: { anchorOriginBottomLeft: { [variables.bigViewport]: { left: '340px', right: '20px', bottom: '20px', }, }, }, }, MuiSnackbarContent: { styleOverrides: { root: { width: '50%', backgroundColor: variables.alertColor, }, }, }, }, }); ================================================ FILE: src/components/Voyager.css ================================================ @import './variables.css'; /* fix height of element */ [data-reactroot] { height: 100%; } .graphql-voyager { font: var(--base-font-size) var(--base-font-family); display: flex; height: 100%; @media (--small-viewport) { flex-direction: column; } & > .doc-panel { width: var(--doc-panel-width); min-width: var(--doc-panel-width); background: var(--doc-panel-bg-color); box-sizing: border-box; position: relative; z-index: 10; } @media (--small-viewport) { & > .doc-panel { height: 50%; width: 100%; max-width: none; } } } ================================================ FILE: src/components/Voyager.tsx ================================================ import './Voyager.css'; import './viewport.css'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import Stack from '@mui/material/Stack'; import { ThemeProvider } from '@mui/material/styles'; import { ExecutionResult } from 'graphql/execution'; import { GraphQLNamedType, GraphQLSchema } from 'graphql/type'; import { buildClientSchema, IntrospectionQuery } from 'graphql/utilities'; import { Children, type ReactNode, useCallback, useEffect, useMemo, useRef, useState, } from 'react'; import { getTypeGraph, TypeGraph } from '../graph/type-graph.ts'; import { getSchema } from '../introspection/introspection.ts'; import { MaybePromise, usePromise } from '../utils/usePromise.ts'; import DocExplorer from './doc-explorer/DocExplorer.tsx'; import GraphViewport from './GraphViewport.tsx'; import { IntrospectionModal } from './IntrospectionModal.tsx'; import { theme } from './MUITheme.tsx'; import Settings from './settings/Settings.tsx'; import PoweredBy from './utils/PoweredBy.tsx'; import { VoyagerLogo } from './utils/VoyagerLogo.tsx'; export interface VoyagerDisplayOptions { rootType?: string; skipRelay?: boolean; skipDeprecated?: boolean; showLeafFields?: boolean; sortByAlphabet?: boolean; hideRoot?: boolean; } export interface VoyagerProps { introspection?: MaybePromise< ExecutionResult | GraphQLSchema >; displayOptions?: VoyagerDisplayOptions; introspectionPresets?: { [name: string]: any }; allowToChangeSchema?: boolean; hideDocs?: boolean; hideSettings?: boolean; hideVoyagerLogo?: boolean; children?: ReactNode; } interface NavStackTypeList { prev: null; typeGraph: TypeGraph; type: null; selectedEdgeID: null; searchValue: string; } interface NavStackType { prev: NavStack; typeGraph: TypeGraph; type: GraphQLNamedType; selectedEdgeID: string | null; searchValue: string; } export type NavStack = NavStackTypeList | NavStackType; export default function Voyager(props: VoyagerProps) { const initialDisplayOptions = useMemo( () => ({ rootType: undefined, skipRelay: true, skipDeprecated: true, sortByAlphabet: false, showLeafFields: true, hideRoot: false, ...props.displayOptions, }), [props.displayOptions], ); const [introspectionModalOpen, setIntrospectionModalOpen] = useState( props.introspection == null, ); const [introspectionResult, resolveIntrospectionResult] = usePromise( props.introspection, ); const [displayOptions, setDisplayOptions] = useState(initialDisplayOptions); useEffect(() => { setDisplayOptions(initialDisplayOptions); }, [introspectionResult, initialDisplayOptions]); const [navStack, setNavStack] = useState(null); useEffect(() => { if (introspectionResult.loading || introspectionResult.value == null) { return; // FIXME: display introspectionResult.error } let introspectionSchema; if (introspectionResult.value instanceof GraphQLSchema) { introspectionSchema = introspectionResult.value; } else { if ( introspectionResult.value.errors != null || introspectionResult.value.data == null ) { return; // FIXME: display errors } introspectionSchema = buildClientSchema(introspectionResult.value.data); } const schema = getSchema(introspectionSchema, displayOptions); const typeGraph = getTypeGraph(schema, displayOptions); setNavStack(() => ({ prev: null, typeGraph, type: null, selectedEdgeID: null, searchValue: '', })); }, [introspectionResult, displayOptions]); const { allowToChangeSchema = false, hideDocs = false, hideSettings = false, // TODO: switch to false in the next major version hideVoyagerLogo = true, } = props; const viewportRef = useRef(null); const handleNavigationBack = useCallback(() => { setNavStack((old) => { if (old?.prev == null) { return old; } return old.prev; }); }, []); const handleSearch = useCallback((searchValue: string) => { setNavStack((old) => { if (old == null) { return old; } return { ...old, searchValue }; }); }, []); const handleSelectNode = useCallback((type: GraphQLNamedType | null) => { setNavStack((old) => { if (old == null) { return old; } if (type == null) { let first = old; while (first.prev != null) { first = first.prev; } return first; } return { prev: old, typeGraph: old.typeGraph, type, selectedEdgeID: null, searchValue: '', }; }); }, []); const handleSelectEdge = useCallback( (edgeID: string, fromType: GraphQLNamedType, _toType: GraphQLNamedType) => { setNavStack((old) => { if (old == null) { return old; } if (fromType === old.type) { // deselect if click again return edgeID === old.selectedEdgeID ? { ...old, selectedEdgeID: null } : { ...old, selectedEdgeID: edgeID }; } return { prev: old, typeGraph: old.typeGraph, type: fromType, selectedEdgeID: edgeID, searchValue: '', }; }); }, [], ); return (
{!hideDocs && renderPanel()} {renderGraphViewport()} {allowToChangeSchema && renderIntrospectionModal()}
); function renderIntrospectionModal() { return ( setIntrospectionModalOpen(false)} onChange={resolveIntrospectionResult} /> ); } function renderPanel() { const children = Children.toArray(props.children); const panelHeader = children.find( (child) => typeof child === 'object' && 'type' in child && child.type === Voyager.PanelHeader, ); return (
{!hideVoyagerLogo && } {allowToChangeSchema && renderChangeSchemaButton()} {panelHeader} viewportRef.current?.focusNode(type)} onSelectNode={handleSelectNode} onSelectEdge={handleSelectEdge} />
); } function renderChangeSchemaButton() { // TODO: generalize padding by applying it to the whole panel return ( `0 ${panelSpacing}`}> ); } function renderGraphViewport() { return ( ({ flex: 1, position: 'relative', display: 'inline-block', width: '100%', height: '100%', maxHeight: '100%', [theme.breakpoints.down('md')]: { height: '50%', maxWidth: 'none', }, })} > {!hideSettings && ( setDisplayOptions((oldOptions) => ({ ...oldOptions, ...options })) } /> )} ); } } function PanelHeader(props: { children: ReactNode }) { return <>{props.children}; } Voyager.PanelHeader = PanelHeader; ================================================ FILE: src/components/doc-explorer/Argument.css ================================================ @import '../variables.css'; .args-wrap { &:before { content: '( '; display: inline; } &:after { content: ' )'; display: inline; } &.-empty { &:before, &:after { display: none !important; } } } .arg-wrap { & > .arg { display: inline; &:after { content: ', '; } & > .default-value { color: var(--arg-default-color); } } &:last-child .arg:after { content: ''; } & > .arg-description, & .arg > .wrapped-type-name { display: none; } } .arg-wrap.-expanded { &:before, &:after { display: none; } & .arg { display: block; margin: var(--spacing-unit) 0; } & .arg-description { display: block; color: var(--text-color); } & .wrapped-type-name { display: inline-block; } & .arg-description > p { margin: 0; } & .arg-description:before { display: block; content: '#'; float: left; margin-right: var(--spacing-unit); } } ================================================ FILE: src/components/doc-explorer/Argument.tsx ================================================ import './Argument.css'; import { GraphQLArgument, GraphQLNamedType } from 'graphql/type'; import { highlightTerm } from '../../utils/highlight.tsx'; import Markdown from '../utils/Markdown.tsx'; import WrappedTypeName from './WrappedTypeName.tsx'; interface ArgumentProps { arg: GraphQLArgument; filter: string; expanded: boolean; onTypeLink: (type: GraphQLNamedType) => void; } export default function Argument(props: ArgumentProps) { const { arg, filter, expanded, onTypeLink } = props; return ( {highlightTerm(arg.name, filter)} {arg.defaultValue != null && ( {' = '} {JSON.stringify(arg.defaultValue)} )} ); } ================================================ FILE: src/components/doc-explorer/Description.css ================================================ @import '../variables.css'; .description-box { & blockquote { border-left: 2px solid color(var(--secondary-color) a(50%)); margin: var(--spacing-unit) calc(var(--spacing-unit) * 3); padding-left: calc(var(--spacing-unit) * 2); } & a { word-break: break-all; } & p:first-child { margin-top: 0; } &.-no-description { font-style: italic; color: var(--text-color); } &.-linked-type, &.-field, &.-enum-value { & p { margin: 0; } } &.-enum-value { padding: var(--spacing-unit) 0 0 var(--spacing-unit); } } ================================================ FILE: src/components/doc-explorer/Description.tsx ================================================ import './Description.css'; import Markdown from '../utils/Markdown.tsx'; interface DescriptionProps { text: string | undefined | null; className: string; } export default function Description(props: DescriptionProps) { const { text, className } = props; if (text) return ; return (

No Description

); } ================================================ FILE: src/components/doc-explorer/DocExplorer.css ================================================ @import '../variables.css'; .doc-wrapper { position: relative; z-index: 1; background: white; } .doc-panel { & > .contents { display: flex; flex-direction: column; background: var(--doc-panel-bg-color); position: relative; z-index: 5; border-right: 1px solid var(--shadow-color); height: 100%; } } .doc-navigation { min-height: var(--icons-size); border-bottom: 1px solid var(--shadow-color); display: flex; justify-content: space-between; & > span { display: inline-block; vertical-align: middle; white-space: nowrap; line-height: var(--icons-size); } & > .back { color: var(--field-name-color); cursor: pointer; overflow-x: hidden; text-overflow: ellipsis; white-space: nowrap; padding-left: 2px; font-weight: normal; &:before { border-left: 2px solid var(--field-name-color); border-top: 2px solid var(--field-name-color); content: ''; display: inline-block; height: 9px; margin: 0 3px -1px 0; position: relative; transform: rotate(-45deg); width: 9px; } } & > .active { font-weight: bold; color: var(--primary-color); font-weight: bold; overflow: hidden; text-overflow: ellipsis; } & > .header { font-weight: bold; color: var(--text-color); } } ================================================ FILE: src/components/doc-explorer/DocExplorer.tsx ================================================ import './DocExplorer.css'; import { type GraphQLNamedType } from 'graphql/type'; import { useCallback, useEffect, useState } from 'react'; import SearchBox from '../utils/SearchBox.tsx'; import { type NavStack } from '../Voyager.tsx'; import FocusTypeButton from './FocusTypeButton.tsx'; import OtherSearchResults from './OtherSearchResults.tsx'; import TypeDoc from './TypeDoc.tsx'; import TypeInfoPopover from './TypeInfoPopover.tsx'; import TypeList from './TypeList.tsx'; interface DocExplorerProps { navStack: NavStack | null; onNavigationBack: () => void; onSearch: (searchValue: string) => void; onFocusNode: (type: GraphQLNamedType) => void; onSelectNode: (type: GraphQLNamedType | null) => void; onSelectEdge: ( edgeID: string, fromType: GraphQLNamedType, toType: GraphQLNamedType, ) => void; } const TYPE_LIST = 'Type List'; export default function DocExplorer(props: DocExplorerProps) { const { navStack, onNavigationBack, onSearch, onFocusNode, onSelectNode, onSelectEdge, } = props; const [typeForInfoPopover, setTypeForInfoPopover] = useState(null); useEffect(() => setTypeForInfoPopover(null), [navStack]); const handleTypeLink = useCallback( (type: GraphQLNamedType) => { if (navStack?.typeGraph.nodes.has(type.name)) { onFocusNode(type); onSelectNode(type); } else { setTypeForInfoPopover(type); } }, [navStack, onFocusNode, onSelectNode, setTypeForInfoPopover], ); const handleSelectEdge = useCallback( (fieldID: string, fromType: GraphQLNamedType, toType: GraphQLNamedType) => { if (fromType !== navStack?.type) { onFocusNode(fromType); } onSelectEdge(fieldID, fromType, toType); }, [navStack, onFocusNode, onSelectEdge], ); const handleNavBack = useCallback(() => { const previousType = navStack?.prev?.type; if (previousType != null) { onFocusNode(previousType); } onNavigationBack(); }, [navStack, onNavigationBack, onFocusNode]); if (navStack == null) { return (
Loading...
); } return (
{navStack.prev == null ? (
{TYPE_LIST}
) : (
{navStack.prev.type?.name ?? TYPE_LIST} {navStack.type.name} onFocusNode(navStack.type)} />
)}
{navStack.type == null ? ( ) : ( )}
{typeForInfoPopover && ( )}
); } ================================================ FILE: src/components/doc-explorer/EnumValue.tsx ================================================ import { GraphQLEnumValue } from 'graphql/type'; import Markdown from '../utils/Markdown.tsx'; interface EnumValueProps { value: GraphQLEnumValue; } export default function EnumValue(props: EnumValueProps) { const { value } = props; return (
{value.name}
{value.deprecationReason && ( )}
); } ================================================ FILE: src/components/doc-explorer/FocusTypeButton.css ================================================ @import '../variables.css'; .eye-button { height: var(--icons-size); width: var(--icons-size); min-width: var(--icons-size); padding: 0; vertical-align: middle; & svg { line-height: var(--icons-size); height: var(--icons-size); & path:not([fill]) { fill: var(--primary-color); } } } ================================================ FILE: src/components/doc-explorer/FocusTypeButton.tsx ================================================ import './FocusTypeButton.css'; import IconButton from '@mui/material/IconButton'; import EyeIcon from '../icons/remove-red-eye.svg'; function FocusTypeButton(props: { onClick: () => void }) { return ( ); } export default FocusTypeButton; ================================================ FILE: src/components/doc-explorer/OtherSearchResults.tsx ================================================ import { getNamedType, GraphQLNamedType } from 'graphql/type'; import { TypeGraph } from '../../graph/type-graph.ts'; import { mapFields } from '../../introspection/utils.ts'; import { highlightTerm } from '../../utils/highlight.tsx'; import { isMatch } from '../../utils/is-match.ts'; interface OtherSearchResultsProps { typeGraph: TypeGraph; withinType: GraphQLNamedType | null; searchValue: string; onTypeLink: (type: GraphQLNamedType) => void; onFieldLink: ( fieldID: string, parent: GraphQLNamedType, fieldType: GraphQLNamedType, ) => void; } export default function OtherSearchResults(props: OtherSearchResultsProps) { const { typeGraph, withinType, searchValue, onTypeLink, onFieldLink } = props; if (searchValue == '') { return null; } const types = Array.from(typeGraph.nodes.values()).filter( (type) => type !== withinType, ); const matchedTypes = []; if (withinType != null) { for (const type of types) { if (isMatch(type.name, searchValue)) { matchedTypes.push(
onTypeLink(type)} > {highlightTerm(type.name, searchValue)}
, ); } } } const matchedFields = []; for (const type of types) { if (matchedFields.length >= 100) { break; } matchedFields.push( ...mapFields(type, (fieldID, field) => { const matchingArgs = Object.values(field.args).filter((arg) => isMatch(arg.name, searchValue), ); if (!isMatch(field.name, searchValue) && matchingArgs.length === 0) { return null; } return (
onFieldLink(fieldID, type, getNamedType(field.type))} > {type.name} {highlightTerm(field.name, searchValue)} {matchingArgs.length > 0 && ( {matchingArgs.map((arg) => ( {highlightTerm(arg.name, searchValue)} ))} )}
); }), ); } return (
other results
{matchedTypes.length + matchedFields.length === 0 ? (
No results found.
) : ( <> {matchedTypes} {matchedFields} )}
); } ================================================ FILE: src/components/doc-explorer/TypeDetails.css ================================================ .type-details { display: flex; flex-direction: column; height: 100%; & > .doc-categories { flex: 1; overflow-y: auto; } } ================================================ FILE: src/components/doc-explorer/TypeDetails.tsx ================================================ import { GraphQLEnumType, GraphQLInputObjectType, GraphQLNamedType, isEnumType, isInputObjectType, } from 'graphql/type'; import Markdown from '../utils/Markdown.tsx'; import Description from './Description.tsx'; import EnumValue from './EnumValue.tsx'; import WrappedTypeName from './WrappedTypeName.tsx'; interface TypeDetailsProps { type: GraphQLNamedType; onTypeLink: (type: GraphQLNamedType) => void; } export default function TypeDetails(props: TypeDetailsProps) { const { type, onTypeLink } = props; return (

{type.name}

{isInputObjectType(type) && renderFields(type)} {isEnumType(type) && renderEnumValues(type)}
); function renderFields(type: GraphQLInputObjectType) { const inputFields = Object.values(type.getFields()); if (inputFields.length === 0) return null; return (
fields
{inputFields.map((field) => { return ( ); })}
); } function renderEnumValues(type: GraphQLEnumType) { const enumValues = type.getValues(); if (enumValues.length === 0) return null; return (
values
{enumValues.map((value) => ( ))}
); } } ================================================ FILE: src/components/doc-explorer/TypeDoc.css ================================================ @import '../variables.css'; /* common type doc styling */ .field-name { color: var(--field-name-color); } .type-name + .field-name { &::before { content: '.'; color: var(--text-color); } } .doc-alert-text { color: var(--alert-color); font-family: var(--monospace-font-family); font-size: 13px; &.-search { padding: var(--panel-items-spacing) var(--panel-spacing); } } .value-name { color: var(--arg-default-color); } .arg-name { color: var(--arg-name-color); } .type-doc { display: flex; flex-direction: column; flex: 1; margin-top: var(--panel-spacing); position: relative; /* Overwrite min-height: https://drafts.csswg.org/css-flexbox/#min-size-auto */ min-height: 0; & > div { position: relative; z-index: 1; background: white; } & > .loading { padding: 0 var(--panel-spacing); font-weight: bold; color: var(--text-color); } & a { cursor: pointer; text-decoration: none; } & > .scroll-area { padding-top: var(--panel-spacing); overflow-y: auto; flex-grow: 1; & .description-box.-doc-type { padding: 0 var(--panel-spacing); } } & > .doc-navigation { padding: var(--spacing-unit) calc(var(--panel-spacing) + var(--spacing-unit)) var(--spacing-unit) 18px; } } .doc-category { margin: var(--panel-spacing) 0 0; cursor: pointer; & > .item { padding: var(--panel-items-spacing) var(--panel-spacing); color: var(--text-color); position: relative; border-left: 3px solid transparent; & > .description-box { margin-top: 5px; } } & > .title { border-bottom: 1px solid #e0e0e0; padding: 0 15px; color: var(--text-color); cursor: default; font-size: 14px; font-variant: small-caps; font-weight: bold; letter-spacing: 1px; margin: 0 -15px 10px 0; user-select: none; box-sizing: border-box; width: 100%; } & > .item { &:nth-child(odd) { background-color: var(--doc-panel-item-stripe-color); } &:hover { background-color: var(--doc-panel-item-hover-color); } &.-with-args { &:before { width: 0; height: 0; border-left: var(--spacing-unit) solid transparent; border-right: var(--spacing-unit) solid transparent; border-top: var(--spacing-unit) solid var(--field-name-color); display: block; content: ''; float: right; margin-top: var(--panel-items-spacing); margin-right: calc(- var(--panel-items-spacing)); transition: all 0.3s ease; opacity: 0; } &:hover:before, &.-selected:before { opacity: 1; } &.-selected:before { transform: rotateZ(180deg); } } &.-selected { background-color: color(var(--doc-panel-item-hover-color) a(+ 0.15)); border-left: 3px solid var(--primary-color); & .args { display: block; padding-left: var(--panel-spacing); } } } } ================================================ FILE: src/components/doc-explorer/TypeDoc.tsx ================================================ import './TypeDoc.css'; import { getNamedType, GraphQLField, GraphQLNamedType } from 'graphql/type'; import React, { Component, ReactElement } from 'react'; import { TypeGraph } from '../../graph/type-graph.ts'; import { mapDerivedTypes, mapFields, mapInterfaces, mapPossibleTypes, } from '../../introspection/utils.ts'; import { highlightTerm } from '../../utils/highlight.tsx'; import { isMatch } from '../../utils/is-match.ts'; import Markdown from '../utils/Markdown.tsx'; import Argument from './Argument.tsx'; import Description from './Description.tsx'; import TypeLink from './TypeLink.tsx'; import WrappedTypeName from './WrappedTypeName.tsx'; interface TypeDocProps { selectedType: GraphQLNamedType; selectedEdgeID: string | null; typeGraph: TypeGraph; filter: string; onSelectEdge: ( edgeID: string, fromType: GraphQLNamedType, toType: GraphQLNamedType, ) => void; onTypeLink: (type: GraphQLNamedType) => void; } export default class TypeDoc extends Component { private selectedItemRef = React.createRef(); componentDidUpdate(prevProps: TypeDocProps) { if (this.props.selectedEdgeID !== prevProps.selectedEdgeID) { this.ensureActiveVisible(); } } componentDidMount() { this.ensureActiveVisible(); } ensureActiveVisible() { const itemComponent = this.selectedItemRef.current; if (!itemComponent) return; itemComponent.scrollIntoView(); } render() { const { selectedType, selectedEdgeID, typeGraph, filter, onSelectEdge, onTypeLink, } = this.props; const { selectedItemRef } = this; return ( <> {renderDocCategory( 'possible types', mapPossibleTypes(selectedType, renderTypesDef), )} {renderDocCategory( 'implementations', mapDerivedTypes(typeGraph.schema, selectedType, renderTypesDef), )} {renderDocCategory( 'implements', mapInterfaces(selectedType, renderTypesDef), )} {renderDocCategory('fields', mapFields(selectedType, renderField))} ); function renderDocCategory(title: string, items: Array) { if (items.length === 0) return null; return (
{title}
{items}
); } function renderTypesDef(id: string, type: GraphQLNamedType) { if (!isMatch(type.name, filter)) { return null; } const isSelected = id === selectedEdgeID; const className = `item ${isSelected ? '-selected' : ''}`; return (
onSelectEdge(id, selectedType, type)} ref={isSelected ? selectedItemRef : undefined} >
); } function isMatchingField(field: GraphQLField): boolean { const matchingArgs = field.args.filter((arg) => isMatch(arg.name, filter), ); return isMatch(field.name, filter) || matchingArgs.length > 0; } function renderField(fieldID: string, field: GraphQLField) { if (!isMatchingField(field)) { return null; } const hasArgs = field.args.length !== 0; const isSelected = fieldID === selectedEdgeID; const className = `item ${isSelected ? '-selected' : ''} ${ hasArgs ? '-with-args' : '' }`; return (
onSelectEdge(fieldID, selectedType, getNamedType(field.type)) } ref={isSelected ? selectedItemRef : undefined} > {highlightTerm(field.name, filter)} {hasArgs && ( {field.args.map((arg) => ( ))} )} {field.deprecationReason && ( DEPRECATED )}
); } } } ================================================ FILE: src/components/doc-explorer/TypeInfoPopover.css ================================================ @import '../variables.css'; .type-doc > .type-info-popover { z-index: 0; position: absolute; } .type-info-popover { left: var(--doc-panel-width); top: calc(var(--icons-size) + (var(--spacing-unit) * 2) + 1px); bottom: 75px; overflow-y: auto; transform: translateX(-110%); box-sizing: border-box; width: var(--type-info-popover-width); padding: calc(var(--spacing-unit) * 2) var(--panel-spacing); position: absolute; background: white; box-shadow: 0px 0 10px 3px var(--shadow-color); border: 1px solid var(--shadow-color); border-left: 0px; transition: all 0.45s ease-out; &.-opened { transform: none; } & > button { position: absolute; right: calc(var(--spacing-unit) * 2); } } ================================================ FILE: src/components/doc-explorer/TypeInfoPopover.tsx ================================================ import './TypeInfoPopover.css'; import IconButton from '@mui/material/IconButton'; import { GraphQLNamedType } from 'graphql/type'; import { Component } from 'react'; import TypeDetails from '../doc-explorer/TypeDetails.tsx'; import CloseIcon from '../icons/close-black.svg'; interface ScalarDetailsProps { type: GraphQLNamedType; onChange: (type: GraphQLNamedType | null) => void; } interface ScalarDetailsState { localType: GraphQLNamedType | null; } export default class ScalarDetails extends Component< ScalarDetailsProps, ScalarDetailsState > { constructor(props: ScalarDetailsProps) { super(props); this.state = { localType: null }; } close() { this.props.onChange(null); setTimeout(() => { this.setState({ localType: null }); }, 450); } render() { const { type, onChange } = this.props; //FIXME: implement animation correctly //https://facebook.github.io/react/docs/animation.html const { localType } = this.state; if (type && (!localType || type !== localType)) { setTimeout(() => { this.setState({ localType: type }); }); } return (
this.close()}> {(type ?? localType) && ( )}
); } } ================================================ FILE: src/components/doc-explorer/TypeLink.css ================================================ @import '../variables.css'; .type-link { fill: var(--link-color); } .type-link:hover { fill: var(--link-hover-color); } .type-name { &.-input-obj, &.-object { color: var(--link-color); &:hover { color: var(--link-hover-color); } } &.-scalar, &.-built-in { color: var(--builtin-color); &:hover { color: color(var(--builtin-color) l(- 10%)); } } } ================================================ FILE: src/components/doc-explorer/TypeLink.tsx ================================================ import './TypeLink.css'; import { GraphQLNamedType, isInputObjectType, isScalarType, isSpecifiedScalarType, } from 'graphql/type'; import { highlightTerm } from '../../utils/highlight.tsx'; interface TypeLinkProps { type: GraphQLNamedType; onClick: (type: GraphQLNamedType) => void; filter: string; } export default function TypeLink(props: TypeLinkProps) { const { type, onClick, filter } = props; let className: string; if (isSpecifiedScalarType(type)) className = '-built-in'; else if (isScalarType(type)) className = '-scalar'; else if (isInputObjectType(type)) className = '-input-obj'; else className = '-object'; return ( { event.stopPropagation(); onClick(type); }} > {highlightTerm(type.name, filter)} ); } ================================================ FILE: src/components/doc-explorer/TypeList.css ================================================ @import '../variables.css'; .typelist-item > .type-name { padding-left: var(--panel-spacing); } .typelist-item.-root .type-name:after { content: 'root'; display: inline-block; vertical-align: middle; background: var(--primary-color); color: white; padding: 0 var(--spacing-unit); margin-left: var(--spacing-unit); font-size: 0.9em; } ================================================ FILE: src/components/doc-explorer/TypeList.tsx ================================================ import './TypeList.css'; import { GraphQLNamedType } from 'graphql/type'; import { TypeGraph } from '../../graph/type-graph.ts'; import { isMatch } from '../../utils/is-match.ts'; import Description from './Description.tsx'; import FocusTypeButton from './FocusTypeButton.tsx'; import TypeLink from './TypeLink.tsx'; interface TypeListProps { typeGraph: TypeGraph; filter: string; onFocusType: (type: GraphQLNamedType) => void; onTypeLink: (type: GraphQLNamedType) => void; } export default function TypeList(props: TypeListProps) { const { typeGraph, filter, onFocusType, onTypeLink } = props; const types = Array.from(typeGraph.nodes.values()).filter((type) => isMatch(type.name, filter), ); // sort alphabetically but root is always be first types.sort((a, b) => (isRoot(b) ? 1 : a.name.localeCompare(b.name))); return (
{types.map((type) => { const className = isRoot(type) ? 'typelist-item -root' : 'typelist-item'; return (
onFocusType(type)} />
); })}
); function isRoot(type: GraphQLNamedType) { return type === typeGraph.rootType; } } ================================================ FILE: src/components/doc-explorer/WrappedTypeName.css ================================================ @import '../variables.css'; .wrapped-type-name::before { content: ': '; } .relay-icon { height: var(--icons-size); line-height: var(--icons-size); width: var(--icons-size); margin-left: var(--spacing-unit); & svg { height: var(--icons-size); line-height: var(--icons-size); width: var(--icons-size); min-height: var(--icons-size); } } ================================================ FILE: src/components/doc-explorer/WrappedTypeName.tsx ================================================ import './WrappedTypeName.css'; import IconButton from '@mui/material/IconButton'; import Tooltip from '@mui/material/Tooltip'; import { getNamedType, GraphQLArgument, GraphQLField, GraphQLInputField, GraphQLNamedType, } from 'graphql/type'; import { stringifyTypeWrappers } from '../../utils/stringify-type-wrappers.ts'; import RelayIcon from '../icons/relay-icon.svg'; import TypeLink from './TypeLink.tsx'; interface WrappedTypeNameProps { container: GraphQLField | GraphQLArgument | GraphQLInputField; onTypeLink: (type: GraphQLNamedType) => void; } export default function WrappedTypeName(props: WrappedTypeNameProps) { const { container, onTypeLink } = props; const type = getNamedType(container.type); const [leftWrap, rightWrap] = stringifyTypeWrappers(container.type); return ( <> {leftWrap} {rightWrap} {container.extensions.isRelayField && wrapRelayIcon()} ); } function wrapRelayIcon() { return ( ); } ================================================ FILE: src/components/settings/RootSelector.tsx ================================================ import MenuItem from '@mui/material/MenuItem'; import Select from '@mui/material/Select'; import { GraphQLNamedType } from 'graphql/type'; import { isNode, TypeGraph } from '../../graph/type-graph.ts'; interface RootSelectorProps { typeGraph: TypeGraph; onChange: (rootType: string) => void; } export default function RootSelector(props: RootSelectorProps) { const { typeGraph, onChange } = props; const { schema } = typeGraph; const rootType = typeGraph.rootType.name; const types = Object.values(schema.getTypeMap()) .filter((type) => isNode(type) && !isOperationRootType(type)) .sort((a, b) => a.name.localeCompare(b.name)); const subscriptionRoot = schema.getSubscriptionType(); if (subscriptionRoot) { types.unshift(subscriptionRoot); } const mutationRoot = schema.getMutationType(); if (mutationRoot) { types.unshift(mutationRoot); } const queryRoot = schema.getQueryType(); if (queryRoot) { types.unshift(queryRoot); } return ( ); function isOperationRootType(type: GraphQLNamedType) { return ( type === schema.getQueryType() || type === schema.getMutationType() || type === schema.getSubscriptionType() ); } } ================================================ FILE: src/components/settings/Settings.tsx ================================================ import Checkbox from '@mui/material/Checkbox'; import Stack from '@mui/material/Stack'; import { TypeGraph } from '../../graph/type-graph.ts'; import { VoyagerDisplayOptions } from '../Voyager.tsx'; import RootSelector from './RootSelector.tsx'; interface SettingsProps { typeGraph: TypeGraph | null | undefined; options: VoyagerDisplayOptions; onChange: (options: VoyagerDisplayOptions) => void; } export default function Settings(props: SettingsProps) { const { typeGraph, options, onChange } = props; if (typeGraph == null) { return null; } return ( ({ position: 'absolute', opacity: 1, overflow: 'hidden', background: theme.palette.background.default, margin: 2, border: 1, borderColor: theme.palette.shadowColor.main, boxShadow: 2, padding: 1, // left-bottom corner left: 0, bottom: 0, })} > onChange({ rootType })} /> onChange({ sortByAlphabet: event.target.checked }) } /> onChange({ skipRelay: event.target.checked })} /> onChange({ skipDeprecated: event.target.checked }) } /> onChange({ showLeafFields: event.target.checked }) } /> ); } ================================================ FILE: src/components/utils/LoadingAnimation.tsx ================================================ import { SvgIcon, Typography } from '@mui/material'; import Stack from '@mui/material/Stack'; import VoyagerIcon from '../icons/logo-with-signals.svg'; export default function LoadingAnimation() { return ( Transmitting... ); } ================================================ FILE: src/components/utils/Markdown.tsx ================================================ import { HtmlRenderer, Parser } from 'commonmark'; const parser = new Parser(); const renderer = new HtmlRenderer({ safe: true }); interface MarkdownProps { text: string | null | undefined; className: string; } export default function Markdown(props: MarkdownProps) { const { text, className } = props; if (!text) return null; const __html = renderer.render(parser.parse(text)); return
; } ================================================ FILE: src/components/utils/PoweredBy.tsx ================================================ import Link from '@mui/material/Link'; import Typography from '@mui/material/Typography'; export default function PoweredBy() { return ( 🛰 Powered by{' '} GraphQL Voyager ); } ================================================ FILE: src/components/utils/SearchBox.tsx ================================================ import CloseIcon from '@mui/icons-material/Close'; import Box from '@mui/material/Box'; import IconButton from '@mui/material/IconButton'; import Input from '@mui/material/Input'; import InputAdornment from '@mui/material/InputAdornment'; import { useEffect, useState } from 'react'; interface SearchBoxProps { placeholder: string; value: string; onSearch: (value: string) => void; } export default function SearchBox(props: SearchBoxProps) { const { placeholder, onSearch, value } = props; const [localValue, setLocalValue] = useState(value); useEffect(() => setLocalValue(value), [value]); useEffect(() => { if (localValue === value) return; const timeout = setTimeout(() => onSearch(localValue), 200); return () => clearTimeout(timeout); }, [onSearch, value, localValue]); return ( setLocalValue(event.target.value)} type="text" endAdornment={ localValue && ( setLocalValue('')}> ) } /> ); } ================================================ FILE: src/components/utils/VoyagerLogo.tsx ================================================ import Box from '@mui/material/Box'; import Link from '@mui/material/Link'; import Stack from '@mui/material/Stack'; import SvgIcon from '@mui/material/SvgIcon'; import Typography from '@mui/material/Typography'; import LogoIcon from '../icons/logo-small.svg'; export function VoyagerLogo() { return ( GraphQL Voyager ); } ================================================ FILE: src/components/variables.css ================================================ :root { --monospace-font-family: 'Consolas', 'Inconsolata', 'Droid Sans Mono', 'Monaco', monospace; --base-font-family: 'helvetica neue', helvetica, arial, sans-serif; --base-font-size: 14px; --spacing-unit: 5px; --panel-items-spacing: 8px; --panel-spacing: 15px; --icons-size: 24px; --primary-color: #00bcd4; --background-color: #fff; --dark-bg-color: #0b2840; --highlight-color: var(--primary-color); --secondary-color: #548f9e; --link-color: #42a0dd; --link-hover-color: #0262a0; --field-name-color: #224d6f; --builtin-color: #711c1c; --text-color: #666; --shadow-color: rgba(0, 0, 0, 0.1); --alert-color: #b71c1c; --modal-bg-color: var(--dark-bg-color); --doc-panel-width: 320px; --type-info-popover-width: 320px; --doc-panel-bg-color: var(--background-color); --doc-panel-item-stripe-color: rgba(158, 158, 158, 0.07); --doc-panel-item-hover-color: rgba(214, 236, 238, 0.6); --arg-default-color: #0b7fc7; --arg-name-color: #c77f53; --node-fill-color: #f6f8f8; --node-header-color: var(--secondary-color); --node-header-text-color: white; --edge-color: color(var(--secondary-color) l(- 15%)); --selected-edge-color: red; --selected-field-bg: rgba(255, 0, 0, 0.18); } /* match mui md breakpoint, see https://mui.com/material-ui/customization/breakpoints/#default-breakpoints */ @custom-media --small-viewport (max-width: 900px); @custom-media --big-viewport (min-width: 901px); ================================================ FILE: src/components/viewport.css ================================================ @import './variables.css'; g.graph > polygon { fill: transparent; } /* Nodes Styling */ .node { pointer-events: bounding-box; cursor: pointer; & polygon { stroke: var(--node-header-color); fill: var(--node-fill-color); } & .type-title { & polygon { fill: var(--node-header-color); } & text { fill: var(--node-header-text-color); } } &.selected polygon { stroke: var(--highlight-color); stroke-width: 3; } &.selected .type-title polygon { fill: var(--highlight-color); } } /* field */ .field.selected { & > polygon { fill: var(--selected-field-bg); } } /* Edges Styling */ .edge { cursor: pointer; & path { stroke: var(--edge-color); stroke-width: 2; &.hover-path { stroke: transparent; stroke-width: 15; } } &.highlighted, &.hovered, &:hover { & path:not(.hover-path) { stroke: var(--highlight-color); stroke-width: 3; } & polygon { stroke: color(var(--highlight-color) l(- 20%)); fill: color(var(--highlight-color) l(- 20%)); opacity: 1; } } & polygon { fill: color(var(--edge-color) l(- 5%)); stroke: color(var(--edge-color) l(- 5%)); } & text { font-family: var(--base-font-family); fill: var(--field-name-color); display: none; } &:hover, &.highlighted, &.hovered { & text { display: block; } } &.selected { & path:not(.hover-path) { stroke: var(--selected-edge-color); } & polygon { stroke: color(var(--selected-edge-color) l(- 10%)); fill: color(var(--selected-edge-color) l(- 10%)); } } } /* selection fade */ .selection-active { & .edge, & .node { opacity: 0.2; } & .node.selected-reachable, & .node.selected, & .edge.highlighted { opacity: 1; } } ================================================ FILE: src/graph/dot.ts ================================================ // eslint-disable-next-line import/no-unresolved import { Edge, Graph, Node } from 'dotviz'; import { getNamedType, GraphQLField, GraphQLNamedType, isEnumType, isInputObjectType, isInterfaceType, isObjectType, isScalarType, isUnionType, } from 'graphql/type'; import { mapDerivedTypes, mapFields, mapPossibleTypes, typeObjToId, } from '../introspection/utils.ts'; import { stringifyTypeWrappers } from '../utils/stringify-type-wrappers.ts'; import { unreachable } from '../utils/unreachable.ts'; import { TypeGraph } from './type-graph.ts'; export function getDot(typeGraph: TypeGraph): Graph { const { schema } = typeGraph; const nodes: Array = []; const edges: Array = []; for (const type of typeGraph.nodes.values()) { const fields = mapFields(type, (id, field) => { const fieldType = getNamedType(field.type); if (isNode(fieldType)) { edges.push({ tail: type.name, head: fieldType.name, attributes: { tailport: field.name, id: `${id} => ${typeObjToId(fieldType)}`, label: `${type.name}:${field.name}`, }, }); return fieldLabel(id, field); } return typeGraph.showLeafFields ? fieldLabel(id, field) : ''; }).join(''); const possibleTypes = mapPossibleTypes(type, (id, possibleType) => { edges.push({ tail: type.name, head: possibleType.name, attributes: { tailport: possibleType.name, id: `${id} => ${typeObjToId(possibleType)}`, style: 'dashed', }, }); return ` ${possibleType.name} `; }).join(''); const derivedTypes = mapDerivedTypes( schema, type, (id, derivedType) => { edges.push({ tail: type.name, head: derivedType.name, attributes: { tailport: derivedType.name, id: `${id} => ${typeObjToId(derivedType)}`, style: 'dotted', }, }); return ` ${derivedType.name} `; }, ).join(''); const htmlID = HtmlId('TYPE_TITLE::' + type.name); const kindLabel = isObjectType(type) ? '' : '<<' + typeToKind(type).toLowerCase() + '>>'; const html = ` ${fields} ${possibleTypes !== '' ? '\n' + possibleTypes : ''} ${derivedTypes !== '' ? '\n' + derivedTypes : ''}
${type.name}
${kindLabel}
possible types
implementations
`; nodes.push({ name: type.name, attributes: { id: typeObjToId(type), label: { html }, }, }); } return { directed: true, graphAttributes: { rankdir: 'LR', ranksep: 2.0, }, nodeAttributes: { fontsize: '16', fontname: 'helvetica', shape: 'plaintext', }, nodes, edges, }; function isNode(type: GraphQLNamedType): boolean { return typeGraph.nodes.has(type.name); } function fieldLabel(id: string, field: GraphQLField): string { const namedType = getNamedType(field.type); const parts = stringifyTypeWrappers(field.type).map(TEXT); const relayIcon = field.extensions.isRelayField ? TEXT('{R}') : ''; const deprecatedIcon = field.deprecationReason != null ? TEXT('{D}') : ''; return `
${field.name} ${deprecatedIcon}${relayIcon}${parts[0]}${ namedType.name }${parts[1]}
`; } } function HtmlId(id: string) { return 'HREF="remove_me_url" ID="' + id + '"'; } function TEXT(str: string) { if (str === '') return ''; str = str.replace(/]/, ']'); return '' + str + ''; } function typeToKind(type: GraphQLNamedType): string { if (isInterfaceType(type)) { return 'INTERFACE'; } if (isObjectType(type)) { return 'OBJECT'; } if (isScalarType(type)) { return 'SCALAR'; } if (isUnionType(type)) { return 'UNION'; } if (isEnumType(type)) { return 'UNION'; } if (isInputObjectType(type)) { return 'INPUT_OBJECT'; } unreachable(type); } ================================================ FILE: src/graph/graphviz-worker.ts ================================================ import { type Graph, RenderOptions, type RenderResult, WASM_HASH as DotVizWorkerHash, // eslint-disable-next-line import/no-unresolved } from 'dotviz'; import DotVizWorkerSource from 'dotviz/dotviz-inline-worker'; import { type RenderResponse } from 'dotviz/dotviz-worker'; import { computeHash } from '../utils/compute-hash.ts'; import { LocalStorageLRUCache } from '../utils/local-storage-lru-cache.ts'; export interface RenderArgs { input: string | Graph; options: RenderOptions; } export class VizWorker { private _cache = new LocalStorageLRUCache({ localStorageKey: 'VoyagerSVGCache', maxSize: 10, }); private _worker: Worker; private _listeners: Map void> = new Map(); constructor() { const blob = new Blob([DotVizWorkerSource], { type: 'application/javascript', }); const url = URL.createObjectURL(blob); this._worker = new Worker(url, { name: 'graphql-voyager-worker', type: 'module', }); URL.revokeObjectURL(url); this._worker.addEventListener('error', (event) => { // FIXME: better error handling console.error('unexpected error from dotviz worker: ', event); }); this._worker.addEventListener('message', (event) => { const { id, result } = event.data as RenderResponse; this._listeners.get(id)?.(result); this._listeners.delete(id); }); } async render(renderArgs: RenderArgs): Promise { const cacheKey = await this.generateCacheKey(renderArgs); if (cacheKey != null) { try { const cachedSVG = this._cache.get(cacheKey); if (cachedSVG != null) { console.log('graphql-voyager: SVG cached'); return decompressFromDataURL(cachedSVG); } } catch (err) { console.warn('graphql-voyager: Can not read cache: ', err); } } const svg = await this._render(renderArgs); if (cacheKey != null) { try { this._cache.set(cacheKey, await compressToDataURL(svg)); } catch (err) { console.warn('graphql-voyager: Can not write cache: ', err); } } return svg; } async generateCacheKey(renderArgs: RenderArgs): Promise { const dotHash = await computeHash(JSON.stringify(renderArgs)); return dotHash == null ? null : `worker:${DotVizWorkerHash}:dot:${dotHash}`; } _render(renderArgs: RenderArgs): Promise { return new Promise((resolve, reject) => { const id = this._listeners.size; this._listeners.set(id, RenderResponseListener); console.time('graphql-voyager: Rendering SVG'); this._worker.postMessage({ id, ...renderArgs }); function RenderResponseListener(result: RenderResult): void { console.timeEnd('graphql-voyager: Rendering SVG'); if (result.errors.length !== 0) { return reject( new AggregateError( result.errors.map( (error) => new Error(`${error.level} : ${error.message}`), ), ), ); } if (result.status === 'success') { return resolve(result.output); } return reject(new Error('invalid response from dotviz worker')); } }); } } async function decompressFromDataURL(dataURL: string): Promise { const response = await fetch(dataURL); const blob = await response.blob(); switch (blob.type) { case 'application/gzip': { const stream = blob.stream().pipeThrough(new DecompressionStream('gzip')); const decompressedBlob = await streamToBlob(stream, 'text/plain'); return decompressedBlob.text(); } case 'text/plain': return blob.text(); default: throw new Error('Can not convert data url with MIME type:' + blob.type); } } async function compressToDataURL(str: string): Promise { try { const blob = new Blob([str], { type: 'text/plain' }); const stream = blob.stream().pipeThrough(new CompressionStream('gzip')); const compressedBlob = await streamToBlob(stream, 'application/gzip'); return blobToDataURL(compressedBlob); } catch (err) { console.warn('graphql-voyager: Can not compress string: ', err); return `data:text/plain;charset=utf-8,${encodeURIComponent(str)}`; } } function blobToDataURL(blob: Blob): Promise { const fileReader = new FileReader(); return new Promise((resolve, reject) => { try { fileReader.onload = function (event) { // eslint-disable-next-line @typescript-eslint/no-base-to-string const dataURL = event.target!.result!.toString(); resolve(dataURL); }; fileReader.readAsDataURL(blob); } catch (err) { // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors reject(err); } }); } function streamToBlob(stream: ReadableStream, mimeType: string): Promise { const response = new Response(stream, { headers: { 'Content-Type': mimeType }, }); return response.blob(); } ================================================ FILE: src/graph/svg-renderer.ts ================================================ // eslint-disable-next-line import/no-unresolved import DeprecatedIconSvg from '../components/icons/deprecated-icon.svg?raw'; // eslint-disable-next-line import/no-unresolved import RelayIconSvg from '../components/icons/relay-icon.svg?raw'; import { stringToSvg } from '../utils/dom-helpers.ts'; import { getDot } from './dot.ts'; import { VizWorker } from './graphviz-worker.ts'; import { TypeGraph } from './type-graph.ts'; const vizWorker = new VizWorker(); export async function renderSvg(typeGraph: TypeGraph) { const dot = getDot(typeGraph); const rawSVG = await vizWorker.render({ input: dot, options: { engine: 'dot', format: 'svg' }, }); const svg = preprocessVizSVG(rawSVG); return svg; } const svgNS = 'http://www.w3.org/2000/svg'; const xlinkNS = 'http://www.w3.org/1999/xlink'; function preprocessVizSVG(svgString: string): string { const svg = stringToSvg(svgString); //Add Relay and Deprecated icons let defs = svg.querySelector('defs'); if (!defs) { defs = document.createElementNS(svgNS, 'defs'); svg.insertBefore(defs, svg.firstChild); } defs.appendChild(svgToSymbol(DeprecatedIconSvg, 'DeprecatedIcon')); defs.appendChild(svgToSymbol(RelayIconSvg, 'RelayIcon')); for (const $a of svg.querySelectorAll('a')) { const $g = $a.parentNode!; const $docFrag = document.createDocumentFragment(); while ($a.firstChild) { const $child = $a.firstChild; $docFrag.appendChild($child); } $g.replaceChild($docFrag, $a); // @ts-expect-error We know for sure `id` is present here $g.id = $g.id.replace(/^a_/, ''); } for (const $el of svg.querySelectorAll('title')) { $el.remove(); } const edgesSources = new Set(); for (const $edge of svg.querySelectorAll('.edge')) { const [from, to] = $edge.id.split(' => '); $edge.removeAttribute('id'); $edge.setAttribute('data-from', from); $edge.setAttribute('data-to', to); edgesSources.add(from); } for (const $el of svg.querySelectorAll('[id*=\\:\\:]')) { const [tag] = $el.id.split('::'); $el.classList.add(tag.toLowerCase().replace(/_/, '-')); } for (const $path of svg.querySelectorAll('g.edge path')) { const $newPath = $path.cloneNode() as HTMLElement; $newPath.classList.add('hover-path'); $newPath.removeAttribute('stroke-dasharray'); $path.parentNode?.appendChild($newPath); } for (const $field of svg.querySelectorAll('.field')) { const texts = $field.querySelectorAll('text'); texts[0].classList.add('field-name'); //Remove spaces used for text alignment texts[1].remove(); if (edgesSources.has($field.id)) $field.classList.add('edge-source'); for (let i = 2; i < texts.length; ++i) { const str = texts[i].innerHTML; if (str === '{R}' || str == '{D}') { const $iconPlaceholder = texts[i]; const height = 22; const width = 22; const $useIcon = document.createElementNS(svgNS, 'use'); $useIcon.setAttributeNS( xlinkNS, 'href', str === '{R}' ? '#RelayIcon' : '#DeprecatedIcon', ); $useIcon.setAttribute('width', `${width}px`); $useIcon.setAttribute('height', `${height}px`); //FIXME: remove hardcoded offset const y = parseInt($iconPlaceholder.getAttribute('y')!) - 15; $useIcon.setAttribute('x', $iconPlaceholder.getAttribute('x')!); $useIcon.setAttribute('y', y.toString()); $field.replaceChild($useIcon, $iconPlaceholder); continue; } texts[i].classList.add('field-type'); if (edgesSources.has($field.id) && !/[[\]!]/.test(str)) texts[i].classList.add('type-link'); } } for (const $derivedType of svg.querySelectorAll('.derived-type')) { $derivedType.classList.add('edge-source'); $derivedType.querySelector('text')?.classList.add('type-link'); } for (const $possibleType of svg.querySelectorAll('.possible-type')) { $possibleType.classList.add('edge-source'); $possibleType.querySelector('text')?.classList.add('type-link'); } const serializer = new XMLSerializer(); return serializer.serializeToString(svg); } function svgToSymbol(svg: string, id: string): SVGSymbolElement { const $svg = stringToSvg(svg); const $symbol = document.createElementNS(svgNS, 'symbol'); // Transfer supported attributes to the . const attributes = ['viewBox', 'height', 'width', 'preserveAspectRatio']; attributes.forEach(function (attr) { const value = $svg.getAttribute(attr); if (value != null) { $symbol.setAttribute(attr, value); } }); $symbol.setAttribute('id', id); // Move all child nodes from to the $symbol.append(...$svg.children); return $symbol; } ================================================ FILE: src/graph/type-graph.ts ================================================ import { assertCompositeType, getNamedType, GraphQLCompositeType, GraphQLNamedOutputType, GraphQLNamedType, GraphQLSchema, isCompositeType, isInterfaceType, isUnionType, } from 'graphql/type'; import { VoyagerDisplayOptions } from '../components/Voyager.tsx'; export interface TypeGraph { schema: GraphQLSchema; rootType: GraphQLCompositeType; nodes: Map; showLeafFields: boolean; } export function isNode(type: GraphQLNamedType): type is GraphQLCompositeType { return ( isCompositeType(type) && type.extensions.isRelayType !== true && !type.name.startsWith('__') ); } export function getTypeGraph( schema: GraphQLSchema, displayOptions: VoyagerDisplayOptions, ): TypeGraph { const rootType = assertCompositeType( schema.getType(displayOptions.rootType ?? schema.getQueryType()!.name), ); const nodeMap = new Map(); nodeMap.set(rootType.name, rootType); for (const type of nodeMap.values()) { for (const edgeTarget of getEdgeTargets(type)) { if (isNode(edgeTarget)) { nodeMap.set(edgeTarget.name, edgeTarget); } } } if (displayOptions.hideRoot === true) { nodeMap.delete(rootType.name); } return { schema, rootType, nodes: nodeMap, showLeafFields: displayOptions.showLeafFields ?? false, }; function getEdgeTargets( type: GraphQLCompositeType, ): ReadonlyArray { if (isUnionType(type)) { return type.getTypes(); } const fieldTypes = Object.values(type.getFields()).map((field) => getNamedType(field.type), ); if (isInterfaceType(type)) { const implementations = schema.getImplementations(type); return [ ...fieldTypes, ...implementations.interfaces, ...implementations.objects, ]; } return fieldTypes; } } ================================================ FILE: src/graph/viewport.ts ================================================ import svgPanZoom from 'svg-pan-zoom'; import { typeNameToId } from '../introspection/utils.ts'; import { stringToSvg } from '../utils/dom-helpers.ts'; // FIXME: we are waiting for this [PR](https://github.com/ariutta/svg-pan-zoom/pull/379), after that this two interfaces might be removed in favor to `import { Instance, Point } from 'svg-pan-zoom'` interface Point { x: number; y: number; } interface Instance { resize(): Instance; zoom(scale: number): void; zoomIn(): void; zoomOut(): void; reset(): void; getPan(): Point; getZoom(): number; pan(point: Point): Instance; destroy(): void; } export class Viewport { $svg: SVGSVGElement; // @ts-expect-error FIXME: Consider for future fix zoomer: Instance; // @ts-expect-error FIXME: Consider for future fix offsetLeft: number; // @ts-expect-error FIXME: Consider for future fix offsetTop: number; // @ts-expect-error FIXME: Consider for future fix maxZoom: number; resizeObserver: ResizeObserver; constructor( svgString: string, public container: HTMLElement, public onSelectNode: (id: string | null) => void, public onSelectEdge: (fromID: string, toID: string) => void, ) { this.container.innerHTML = ''; this.$svg = stringToSvg(svgString); this.container.appendChild(this.$svg); // Allow the SVG dimensions to be computed // Quick fix for SVG manipulation issues. setTimeout(() => this.enableZoom(), 0); this.bindClick(); this.bindHover(); this.resizeObserver = new ResizeObserver(() => { const bbRect = this.container.getBoundingClientRect(); this.offsetLeft = bbRect.left; this.offsetTop = bbRect.top; if (this.zoomer !== undefined) { this.zoomer.resize(); } }); this.resizeObserver.observe(this.container); } enableZoom() { const svgHeight = this.$svg['height'].baseVal.value; const svgWidth = this.$svg['width'].baseVal.value; const bbRect = this.container.getBoundingClientRect(); this.maxZoom = Math.max(svgHeight / bbRect.height, svgWidth / bbRect.width); this.zoomer = svgPanZoom(this.$svg, { zoomScaleSensitivity: 0.25, minZoom: 0.95, maxZoom: this.maxZoom, }); this.zoomer.zoom(0.95); } bindClick() { let dragged = false; const moveHandler = () => (dragged = true); this.$svg.addEventListener('mousedown', () => { dragged = false; setTimeout(() => this.$svg.addEventListener('mousemove', moveHandler)); }); this.$svg.addEventListener('mouseup', (event) => { this.$svg.removeEventListener('mousemove', moveHandler); if (dragged) return; const target = event.target as SVGElement; if (isLink(target)) { const typeId = typeNameToId(target.textContent!); this.focusElement(typeId); } else if (isNode(target)) { const $node = getParent(target, 'node')!; this.onSelectNode($node.id); } else if (isEdge(target)) { const $edge = getParent(target, 'edge')!; this.onSelectEdge(edgeSource($edge).id, edgeTarget($edge).id); } else if (!isControl(target)) { this.onSelectNode(null); } }); } bindHover() { let $prevHovered: SVGElement | null = null; let $prevHoveredEdge: SVGElement | null = null; function clearSelection() { if ($prevHovered) $prevHovered.classList.remove('hovered'); if ($prevHoveredEdge) $prevHoveredEdge.classList.remove('hovered'); } this.$svg.addEventListener('mousemove', (event) => { const target = event.target as SVGElement; if (isEdgeSource(target)) { const $sourceGroup = getParent(target, 'edge-source')!; if ($sourceGroup.classList.contains('hovered')) return; clearSelection(); $sourceGroup.classList.add('hovered'); $prevHovered = $sourceGroup; const $edge = edgeFrom($sourceGroup.id); $edge.classList.add('hovered'); $prevHoveredEdge = $edge; } else { clearSelection(); } }); } selectNodeById(id: string | null) { this.removeClass('.node.selected', 'selected'); this.removeClass('.highlighted', 'highlighted'); this.removeClass('.selected-reachable', 'selected-reachable'); if (id === null) { this.$svg.classList.remove('selection-active'); return; } this.$svg.classList.add('selection-active'); // @ts-expect-error https://github.com/microsoft/TypeScript/issues/4689#issuecomment-690503791 const $selected = document.getElementById(id) as SVGElement; this.selectNode($selected); } selectNode(node: SVGElement) { node.classList.add('selected'); for (const $edge of edgesFromNode(node)) { $edge.classList.add('highlighted'); edgeTarget($edge).classList.add('selected-reachable'); } for (const $edge of edgesTo(node.id)) { $edge.classList.add('highlighted'); edgeSource($edge).parentElement!.classList.add('selected-reachable'); } } selectEdgeById(id: string | null | undefined) { this.removeClass('.edge.selected', 'selected'); this.removeClass('.edge-source.selected', 'selected'); this.removeClass('.field.selected', 'selected'); if (id == null) return; const $selected = document.getElementById(id); if ($selected) { const $edge = edgeFrom($selected.id); if ($edge) $edge.classList.add('selected'); $selected.classList.add('selected'); } } removeClass(selector: string, className: string) { for (const node of this.$svg.querySelectorAll(selector)) { node.classList.remove(className); } } focusElement(id: string) { const bbBox = document.getElementById(id)!.getBoundingClientRect(); const currentPan = this.zoomer.getPan(); const viewPortSizes = (this.zoomer as any).getSizes(); currentPan.x += viewPortSizes.width / 2 - bbBox.width / 2; currentPan.y += viewPortSizes.height / 2 - bbBox.height / 2; const zoomUpdateToFit = 1.2 * Math.max( bbBox.height / viewPortSizes.height, bbBox.width / viewPortSizes.width, ); let newZoom = this.zoomer.getZoom() / zoomUpdateToFit; const recommendedZoom = this.maxZoom * 0.6; if (newZoom > recommendedZoom) newZoom = recommendedZoom; const newX = currentPan.x - bbBox.left + this.offsetLeft; const newY = currentPan.y - bbBox.top + this.offsetTop; this.animatePanAndZoom(newX, newY, newZoom); } animatePanAndZoom(x: number, y: number, zoomEnd: number) { const pan = this.zoomer.getPan(); const panEnd = { x, y }; animate(pan, panEnd, (props) => { this.zoomer.pan({ x: props.x, y: props.y }); if (props === panEnd) { const zoom = this.zoomer.getZoom(); animate({ zoom }, { zoom: zoomEnd }, (props) => { this.zoomer.zoom(props.zoom); }); } }); } zoomIn() { this.zoomer.zoomIn(); } zoomOut() { this.zoomer.zoomOut(); } reset() { this.zoomer.reset(); } destroy() { this.resizeObserver.disconnect(); try { this.zoomer.destroy(); } catch { // skip } } } function getParent(elem: SVGElement, className: string): SVGElement | null { while (elem && elem.tagName !== 'svg') { if (elem.classList.contains(className)) return elem; elem = elem.parentNode as SVGElement; } return null; } function isNode(elem: SVGElement): boolean { return getParent(elem, 'node') != null; } function isEdge(elem: SVGElement): boolean { return getParent(elem, 'edge') != null; } function isLink(elem: SVGElement): boolean { return elem.classList.contains('type-link'); } function isEdgeSource(elem: SVGElement): boolean { return getParent(elem, 'edge-source') != null; } function isControl(elem: SVGElement) { if (!(elem instanceof SVGElement)) return false; return elem.className.baseVal.startsWith('svg-pan-zoom'); } function edgeSource(edge: SVGElement): SVGElement { // @ts-expect-error FIXME: Consider for future fix return document.getElementById(edge['dataset']['from']); } function edgeTarget(edge: SVGElement): SVGElement { // @ts-expect-error FIXME: Consider for future fix return document.getElementById(edge['dataset']['to']); } function edgeFrom(id: string): SVGElement { // @ts-expect-error FIXME: Consider for future fix return document.querySelector(`.edge[data-from='${id}']`); } function edgesFromNode($node: SVGElement) { const edges = []; for (const $source of $node.querySelectorAll('.edge-source')) { const $edge = edgeFrom($source.id); edges.push($edge); } return edges; } function edgesTo(id: string): NodeListOf { return document.querySelectorAll(`.edge[data-to='${id}']`); } function animate( startObj: OBJ, endObj: OBJ, render: (obj: OBJ) => void, ) { const defaultDuration = 350; const fps60 = 1000 / 60; const totalFrames = defaultDuration / fps60; const startTime = new Date().getTime(); window.requestAnimationFrame(ticker); function ticker() { const timeElapsed = new Date().getTime() - startTime; const framesElapsed = timeElapsed / fps60; if (totalFrames - framesElapsed < 1) { render(endObj); return; } const t = framesElapsed / totalFrames; const frame = Object.fromEntries( Object.keys(startObj).map((key) => { const start = startObj[key]; const end = endObj[key]; return [key, start + t * (end - start)]; }), ) as OBJ; render(frame); window.requestAnimationFrame(ticker); } } ================================================ FILE: src/index.ts ================================================ export { default as Voyager, type VoyagerProps, } from './components/Voyager.tsx'; export { voyagerIntrospectionQuery } from './utils/introspection-query.ts'; export { sdlToSchema } from './utils/sdl-to-introspection.ts'; ================================================ FILE: src/introspection/introspection.ts ================================================ import { getNamedType, getNullableType, GraphQLFieldConfig, GraphQLFieldConfigMap, GraphQLInputFieldConfig, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLList, GraphQLNamedType, GraphQLNonNull, GraphQLObjectType, GraphQLOutputType, GraphQLSchema, isInputObjectType, isInterfaceType, isNonNullType, isObjectType, lexicographicSortSchema, } from 'graphql'; import { VoyagerDisplayOptions } from '../components/Voyager.tsx'; import { collectDirectlyReferencedTypes } from '../utils/collect-referenced-types.ts'; import { mapValues } from '../utils/mapValues.ts'; import { transformSchema } from '../utils/transformSchema.ts'; declare module 'graphql' { interface GraphQLFieldExtensions<_TSource, _TContext, _TArgs> { isRelayField?: boolean; } interface GraphQLObjectTypeExtensions<_TSource, _TContext> { isRelayType?: boolean; } interface GraphQLInterfaceTypeExtensions { isRelayType?: boolean; } } // https://graphql.org/learn/global-object-identification/ // https://relay.dev/graphql/connections.htm function removeRelayTypes(schema: GraphQLSchema) { const nodeType = getNodeType(); const pageInfoType = getPageInfoType(); const relayTypes = new Set(); const relayTypeToNodeMap = new Map(); if (nodeType != null) { relayTypes.add(nodeType); } if (pageInfoType != null) { relayTypes.add(pageInfoType); } for (const type of Object.values(schema.getTypeMap())) { if (isInterfaceType(type) || isObjectType(type)) { for (const field of Object.values(type.getFields())) { const connectionType = getNamedType(field.type); if ( !isObjectType(connectionType) || !/.Connection$/.test(connectionType.name) ) { continue; } const connectionFields = connectionType.getFields(); const edgeType = getNamedType(connectionFields['edges']?.type); if (!isObjectType(edgeType) || connectionFields['pageInfo'] == null) { continue; } const edgeFields = edgeType.getFields(); const nodeType = edgeFields['node']?.type; if (nodeType == null || edgeFields['cursor'] == null) { continue; } relayTypes.add(connectionType); relayTypes.add(edgeType); relayTypeToNodeMap.set(connectionType, new GraphQLList(nodeType)); // GitHub uses edge type in mutations relayTypeToNodeMap.set(edgeType, getNullableType(nodeType)); } } } // Dry run changeType and collect all referenced types to eliminate unused Relay types const allReferenceTypes = new Set(); for (const oldType of Object.values(schema.getTypeMap())) { if (!relayTypes.has(oldType)) { const newType = changeType(oldType); collectDirectlyReferencedTypes(newType, allReferenceTypes); } } return (type: GraphQLNamedType) => { if (relayTypes.has(type) && !allReferenceTypes.has(type)) { return null; } return changeType(type); }; function changeType(type: GraphQLNamedType) { if (isInterfaceType(type)) { const config = type.toConfig(); return new GraphQLInterfaceType({ ...config, ...type.toConfig(), fields: changeFields(type), interfaces: config.interfaces.filter((type) => type !== nodeType), extensions: { ...config.extensions, isRelayType: relayTypes.has(type), }, }); } if (isObjectType(type)) { const config = type.toConfig(); return new GraphQLObjectType({ ...config, fields: changeFields(type), interfaces: config.interfaces.filter((type) => type !== nodeType), extensions: { ...config.extensions, isRelayType: relayTypes.has(type), }, }); } return type; } function changeFields( type: GraphQLObjectType | GraphQLInterfaceType, ): GraphQLFieldConfigMap { return mapValues(type.toConfig().fields, (field, fieldName) => { if (type === schema.getQueryType()) { switch (fieldName) { case 'relay': if (getNamedType(field.type) === type) { return null; // delete field } break; case 'node': // falls through since GitHub use `nodes` instead of `node`. case 'nodes': if (getNamedType(field.type) === nodeType) { return null; // delete field } break; } } const relayConnection = getNullableType(field.type); if (isObjectType(relayConnection)) { const relayNode = relayTypeToNodeMap.get(relayConnection); if (relayNode !== undefined) { return { ...field, type: isNonNullType(field.type) ? new GraphQLNonNull(relayNode) : relayNode, // FIXME: field from toConfig always has args args: mapValues(field.args ?? {}, (arg, argName) => isRelayArgumentName(argName) ? null : arg, ), extensions: { ...field.extensions, isRelayField: true, }, }; } } return { ...field, extensions: { ...field.extensions, isRelayField: relayTypes.has(getNamedType(field.type)), }, }; }); } function isRelayArgumentName(name: string) { switch (name) { case 'first': case 'last': case 'before': case 'after': return true; default: return false; } } function getNodeType(): GraphQLInterfaceType | null { const nodeType = schema.getType('Node'); return isInterfaceType(nodeType) ? nodeType : null; } function getPageInfoType() { const pageInfo = schema.getType('PageInfo'); return isObjectType(pageInfo) ? pageInfo : null; } } function removeDeprecated(type: GraphQLNamedType) { // We can't remove types that end up being empty because we cannot be sure that // the @deprecated directives where consistently added to the schema we're handling. // // Entities may have non deprecated fields pointing towards entities which are deprecated. if (isObjectType(type)) { const config = type.toConfig(); return new GraphQLObjectType({ ...config, fields: Object.fromEntries( Object.entries(config.fields).filter(notDeprecated), ), }); } if (isInterfaceType(type)) { const config = type.toConfig(); return new GraphQLInterfaceType({ ...config, fields: Object.fromEntries( Object.entries(config.fields).filter(notDeprecated), ), }); } if (isInputObjectType(type)) { const config = type.toConfig(); return new GraphQLInputObjectType({ ...config, fields: Object.fromEntries( Object.entries(config.fields).filter(notDeprecated), ), }); } return type; function notDeprecated([, field]: [ string, GraphQLFieldConfig | GraphQLInputFieldConfig, ]) { return field.deprecationReason == null; } } export function getSchema( introspectionSchema: GraphQLSchema, displayOptions: VoyagerDisplayOptions, ): GraphQLSchema { const { sortByAlphabet, skipRelay, skipDeprecated } = displayOptions; let schema = introspectionSchema; if (sortByAlphabet) { schema = lexicographicSortSchema(schema); } const typeTransformers = []; if (skipRelay === true) { typeTransformers.push(removeRelayTypes(schema)); } if (skipDeprecated === true) { typeTransformers.push(removeDeprecated); } return transformSchema(schema, typeTransformers); } ================================================ FILE: src/introspection/utils.ts ================================================ import { GraphQLField, GraphQLInterfaceType, GraphQLNamedType, GraphQLObjectType, GraphQLSchema, isInterfaceType, isObjectType, isUnionType, } from 'graphql/type'; export function typeObjToId(type: GraphQLNamedType) { return typeNameToId(type.name); } export function typeNameToId(name: string) { return `TYPE::${name}`; } export function extractTypeName(typeID: string): string { const [, type] = typeID.split('::'); return type; } export function mapFields( type: GraphQLNamedType, fn: (id: string, field: GraphQLField) => R | null, ): Array { const array = []; if (isInterfaceType(type) || isObjectType(type)) { for (const field of Object.values(type.getFields())) { const id = `FIELD::${type.name}::${field.name}`; const result = fn(id, field); if (result != null) { array.push(result); } } } return array; } export function mapPossibleTypes( type: GraphQLNamedType, fn: (id: string, type: GraphQLObjectType) => R | null, ): Array { const array = []; if (isUnionType(type)) { for (const possibleType of type.getTypes()) { const id = `POSSIBLE_TYPE::${type.name}::${possibleType.name}`; const result = fn(id, possibleType); if (result != null) { array.push(result); } } } return array; } export function mapDerivedTypes( schema: GraphQLSchema, type: GraphQLNamedType, fn: (id: string, type: GraphQLObjectType | GraphQLInterfaceType) => R | null, ): Array { const array = []; if (isInterfaceType(type)) { const { interfaces, objects } = schema.getImplementations(type); for (const derivedType of [...interfaces, ...objects]) { const id = `DERIVED_TYPE::${type.name}::${derivedType.name}`; const result = fn(id, derivedType); if (result != null) { array.push(result); } } } return array; } export function mapInterfaces( type: GraphQLNamedType, fn: (id: string, type: GraphQLInterfaceType) => R | null, ): Array { const array = []; if (isInterfaceType(type) || isObjectType(type)) { for (const baseType of type.getInterfaces()) { const id = `INTERFACE::${type.name}::${baseType.name}`; const result = fn(id, baseType); if (result != null) { array.push(result); } } } return array; } ================================================ FILE: src/middleware/express.ts ================================================ import renderVoyagerPage, { MiddlewareOptions } from './render-voyager-page.ts'; export default function expressMiddleware(options: MiddlewareOptions) { return (_req: any, res: any) => { res.setHeader('Content-Type', 'text/html'); res.write(renderVoyagerPage(options)); res.end(); }; } ================================================ FILE: src/middleware/hapi.ts ================================================ import renderVoyagerPage, { MiddlewareOptions } from './render-voyager-page.ts'; // eslint-disable-next-line @typescript-eslint/no-require-imports const pkg = require('../package.json'); const hapi = { pkg, register(server: any, options: any) { if (arguments.length !== 2) { throw new Error( `Voyager middleware expects exactly 3 arguments, got ${arguments.length}`, ); } const { path, route: config = {}, ...middlewareOptions } = options; server.route({ method: 'GET', path, config, handler: (_request: any, h: any) => h.response(renderVoyagerPage(middlewareOptions as MiddlewareOptions)), }); }, }; export default hapi; ================================================ FILE: src/middleware/index.ts ================================================ import { default as express } from './express.ts'; import { default as hapi } from './hapi.ts'; import { default as koa } from './koa.ts'; import { default as renderVoyagerPage } from './render-voyager-page.ts'; export { express, hapi, koa, renderVoyagerPage }; ================================================ FILE: src/middleware/koa.ts ================================================ import renderVoyagerPage, { MiddlewareOptions } from './render-voyager-page.ts'; export default function koaMiddleware( options: MiddlewareOptions, ): (ctx: any, next: any) => Promise { return async function voyager(ctx, next) { try { ctx.body = renderVoyagerPage(options); await next(); } catch (err: any) { ctx.body = { message: err.message }; ctx.status = err.status || 500; } }; } ================================================ FILE: src/middleware/render-voyager-page.ts ================================================ import { readFileSync } from 'node:fs'; const voyagerCSS = readFileSync(require.resolve('../voyager.css'), 'utf-8'); const voyagerStandaloneJS = readFileSync( require.resolve('../voyager.standalone.js'), 'utf-8', ); export interface MiddlewareOptions { endpointUrl: string; displayOptions?: object; headersJS?: string; } export default function renderVoyagerPage(options: MiddlewareOptions) { const { endpointUrl, displayOptions } = options; const headersJS = options.headersJS ? options.headersJS : '{}'; return ` GraphQL Voyager

Loading...

`; } ================================================ FILE: src/standalone.ts ================================================ /* eslint-disable import/no-extraneous-dependencies */ // All dependencies are bundled for this entry point import * as React from 'react'; import * as ReactDOMClient from 'react-dom/client'; import { Voyager, type VoyagerProps } from './index.ts'; export function renderVoyager(rootElement: HTMLElement, props: VoyagerProps) { const reactRoot = ReactDOMClient.createRoot(rootElement); reactRoot.render(React.createElement(Voyager, props)); } export * from './index.ts'; ================================================ FILE: src/utils/collect-referenced-types.ts ================================================ import { getNamedType, GraphQLNamedType, GraphQLType, isInputObjectType, isInterfaceType, isObjectType, isUnionType, } from 'graphql/type'; export function collectDirectlyReferencedTypes( type: GraphQLType, typeSet: Set, ): Set { const namedType = getNamedType(type); if (isUnionType(namedType)) { for (const memberType of namedType.getTypes()) { typeSet.add(memberType); } } else if (isObjectType(namedType) || isInterfaceType(namedType)) { for (const interfaceType of namedType.getInterfaces()) { typeSet.add(interfaceType); } for (const field of Object.values(namedType.getFields())) { typeSet.add(getNamedType(field.type)); for (const arg of field.args) { typeSet.add(getNamedType(arg.type)); } } } else if (isInputObjectType(namedType)) { for (const field of Object.values(namedType.getFields())) { typeSet.add(getNamedType(field.type)); } } return typeSet; } ================================================ FILE: src/utils/compute-hash.ts ================================================ const textEncoder = new TextEncoder(); export async function computeHash(str: string): Promise { if (crypto?.subtle?.digest == null) { return null; } const data = textEncoder.encode(str); const hashBuffer = await crypto.subtle.digest('SHA-256', data); const hashArray = Array.from(new Uint8Array(hashBuffer)); const hashHex = hashArray .map((b) => b.toString(16).padStart(2, '0')) .join(''); return hashHex; } ================================================ FILE: src/utils/dom-helpers.ts ================================================ export function stringToSvg(svgString: string): SVGSVGElement { const svgDoc = new DOMParser().parseFromString(svgString, 'image/svg+xml'); // @ts-expect-error not sure how to properly type it return document.importNode(svgDoc.documentElement, true); } ================================================ FILE: src/utils/highlight.tsx ================================================ import { Fragment } from 'react'; export function highlightTerm(content: string, term: string) { if (term === '') { return content; } const re = new RegExp('(' + escapeRegExp(term) + ')', 'gi'); return content.split(re).map( // Apply highlight to all odd elements (value, index) => ( {index % 2 === 1 ? {value} : value} ), ); } // http://ecma-international.org/ecma-262/7.0/#sec-patterns). const reRegExpChar = /[\\^$.*+?()[\]{}|]/g; function escapeRegExp(string: string) { return string.replace(reRegExpChar, '\\$&'); } ================================================ FILE: src/utils/introspection-query.ts ================================================ import { getIntrospectionQuery } from 'graphql/utilities'; export const voyagerIntrospectionQuery: string = getIntrospectionQuery(); ================================================ FILE: src/utils/is-match.ts ================================================ export function isMatch(sourceText: string, searchValue: string) { if (searchValue === '') { return true; } try { const escaped = searchValue.replace(/[^_0-9A-Za-z]/g, (ch) => '\\' + ch); return sourceText.search(new RegExp(escaped, 'i')) !== -1; } catch { return sourceText.toLowerCase().includes(searchValue.toLowerCase()); } } ================================================ FILE: src/utils/local-storage-lru-cache.ts ================================================ export class LocalStorageLRUCache { private _localStorageKey; private _maxSize; constructor(options: { localStorageKey: string; maxSize: number }) { this._localStorageKey = options.localStorageKey; this._maxSize = options.maxSize; } public set(key: string, value: string): void { const lru = this.readLRU(); lru.delete(key); lru.set(key, value); this.writeLRU(lru); } public get(key: string): string | null { const lru = this.readLRU(); const cachedValue = lru.get(key); if (cachedValue === undefined) { return null; } lru.delete(key); lru.set(key, cachedValue); this.writeLRU(lru); return cachedValue; } private readLRU(): Map { const rawData = localStorage.getItem(this._localStorageKey); const data = JSON.parse(rawData ?? '{}'); return new Map(Array.isArray(data) ? data : []); } private writeLRU(lru: Map): void { let maxSize = this._maxSize; for (;;) { try { const trimmedPairs = Array.from(lru).slice(-maxSize); const rawData = JSON.stringify(trimmedPairs); localStorage.setItem(this._localStorageKey, rawData); this._maxSize = maxSize; break; } catch (error) { if (maxSize <= 1) { throw error; } console.warn( `Can't write LRU cache with ${maxSize} entries. Retrying...`, ); maxSize -= 1; } } } } ================================================ FILE: src/utils/mapValues.ts ================================================ export function mapValues( obj: { [key: string]: T }, mapper: (value: T, key: string) => R | null, ): { [key: string]: R } { return Object.fromEntries( Object.entries(obj) .map(([key, value]) => [key, mapper(value, key)]) .filter(([, value]) => value != null), ); } ================================================ FILE: src/utils/sdl-to-introspection.ts ================================================ import { parse } from 'graphql/language'; import { buildSchema } from 'graphql/utilities'; import { KnownDirectivesRule } from 'graphql/validation'; // eslint-disable-next-line import/no-unresolved import { specifiedSDLRules } from 'graphql/validation/specifiedRules.ts'; // eslint-disable-next-line import/no-unresolved import { validateSDL } from 'graphql/validation/validate.ts'; const validationRules = specifiedSDLRules.filter( // Many consumes/produces SDL files with custom directives and without defining them. // This practice is contradict spec but is very widespread at the same time. (rule) => rule !== KnownDirectivesRule, ); export function sdlToSchema(sdl: string) { const documentAST = parse(sdl); const errors = validateSDL(documentAST, null, validationRules); if (errors.length !== 0) { throw new Error(errors.map((error) => error.message).join('\n\n')); } return buildSchema(sdl, { assumeValidSDL: true }); } ================================================ FILE: src/utils/stringify-type-wrappers.ts ================================================ import { GraphQLType, isListType, isNamedType, isNonNullType, } from 'graphql/type'; import { unreachable } from './unreachable.ts'; export function stringifyTypeWrappers(type: GraphQLType): [string, string] { if (isNamedType(type)) { return ['', '']; } const [left, right] = stringifyTypeWrappers(type.ofType); if (isNonNullType(type)) { return [left, right + '!']; } if (isListType(type)) { return ['[' + left, right + ']']; } unreachable(type); } ================================================ FILE: src/utils/transformSchema.ts ================================================ import { assertNamedType, GraphQLDirective, GraphQLEnumType, GraphQLFieldConfigArgumentMap, GraphQLFieldConfigMap, GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLList, GraphQLNamedType, GraphQLNonNull, GraphQLObjectType, GraphQLSchema, GraphQLType, GraphQLUnionType, isEnumType, isInputObjectType, isInterfaceType, isIntrospectionType, isListType, isNonNullType, isObjectType, isSpecifiedScalarType, isUnionType, } from 'graphql/type'; import { mapValues } from './mapValues.ts'; // FIXME: Contribute to graphql-js export type NamedTypeTransformer = ( type: GraphQLNamedType, ) => GraphQLNamedType | null; export type DirectiveTransformer = ( directive: GraphQLDirective, ) => GraphQLDirective | null; export function transformSchema( schema: GraphQLSchema, namedTypeTransformers: ReadonlyArray, directiveTransformers: ReadonlyArray = [], ): GraphQLSchema { const schemaConfig = schema.toConfig(); const typeMap = new Map(); for (const oldType of schemaConfig.types) { const newType = transformNamedType(oldType); if (newType != null) { typeMap.set(newType.name, newType); } } const directives = []; for (const oldDirective of schemaConfig.directives) { const newDirective = transformDirective(oldDirective); if (newDirective != null) { directives.push(newDirective); } } return new GraphQLSchema({ ...schemaConfig, types: Array.from(typeMap.values()), directives, query: replaceMaybeType(schemaConfig.query), mutation: replaceMaybeType(schemaConfig.mutation), subscription: replaceMaybeType(schemaConfig.subscription), }); function transformDirective( oldDirective: GraphQLDirective, ): GraphQLDirective | null { let newDirective = oldDirective; for (const fn of directiveTransformers) { const resultDirective = fn(newDirective); if (resultDirective === null) { return null; } newDirective = resultDirective; } const config = newDirective.toConfig(); return new GraphQLDirective({ ...config, args: transformArgs(config.args), }); } function transformNamedType( oldType: GraphQLNamedType, ): GraphQLNamedType | null { if (isIntrospectionType(oldType) || isSpecifiedScalarType(oldType)) { return oldType; } let newType = oldType; for (const fn of namedTypeTransformers) { const resultType = fn(newType); if (resultType === null) { return null; } newType = resultType; } if (isObjectType(newType)) { const config = newType.toConfig(); return new GraphQLObjectType({ ...config, interfaces: () => replaceTypes(config.interfaces), fields: () => transformFields(config.fields), }); } if (isInterfaceType(newType)) { const config = newType.toConfig(); return new GraphQLInterfaceType({ ...config, interfaces: () => replaceTypes(config.interfaces), fields: () => transformFields(config.fields), }); } if (isUnionType(newType)) { const config = newType.toConfig(); return new GraphQLUnionType({ ...config, types: () => replaceTypes(config.types), }); } if (isEnumType(newType)) { const config = newType.toConfig(); return new GraphQLEnumType({ ...config }); } if (isInputObjectType(newType)) { const config = newType.toConfig(); return new GraphQLInputObjectType({ ...config, fields: () => transformInputFields(config.fields), }); } return newType; } function replaceType(type: T): T { if (isListType(type)) { // @ts-expect-error Type mismatch return new GraphQLList(replaceType(type.ofType)); } else if (isNonNullType(type)) { // @ts-expect-error Type mismatch return new GraphQLNonNull(replaceType(type.ofType)); } // @ts-expect-error Type mismatch return assertNamedType(replaceNamedType(type)); } function replaceMaybeType( maybeType: T | null | undefined, ): T | null | undefined { return maybeType && (replaceNamedType(maybeType) as T); } function replaceTypes( array: ReadonlyArray, ): Array { const result = []; for (const oldType of array) { const newType = replaceNamedType(oldType); if (newType != null) { result.push(newType); } } return result as Array; } function replaceNamedType( type: GraphQLNamedType, ): GraphQLNamedType | undefined { return typeMap.get(type.name); } function transformArgs(args: GraphQLFieldConfigArgumentMap) { return mapValues(args, (arg) => ({ ...arg, type: replaceType(arg.type), })); } function transformFields(fieldsMap: GraphQLFieldConfigMap) { return mapValues(fieldsMap, (field) => ({ ...field, type: replaceType(field.type), args: field.args && transformArgs(field.args), })); } function transformInputFields(fieldsMap: GraphQLInputFieldConfigMap) { return mapValues(fieldsMap, (field) => ({ ...field, type: replaceType(field.type), })); } } ================================================ FILE: src/utils/unreachable.ts ================================================ export function unreachable(_: never): never { throw Error('graphql-voyager: Unreachable code triggered!'); } ================================================ FILE: src/utils/usePromise.ts ================================================ import { useCallback, useEffect, useState } from 'react'; type PromiseState = | { loading: true; error: null; value: undefined } | { loading: false; error: null; value: T } | { loading: false; error: unknown; value: undefined }; export type MaybePromise = Promise | T; export function usePromise( maybePromise: MaybePromise, ): [PromiseState, (value: T) => void] { const [state, setState] = useState>({ loading: true, error: null, value: undefined, }); useEffect(() => { let isMounted = true; setState({ loading: true, error: null, value: undefined }); Promise.resolve(maybePromise).then( (value) => { if (isMounted) { setState((oldState) => oldState.loading // update only if unresolved ? { loading: false, error: null, value } : oldState, ); } }, (error) => { if (isMounted) { setState((oldState) => oldState.loading // update only if unresolved ? { loading: false, error, value: undefined } : oldState, ); } }, ); return () => { isMounted = false; }; }, [maybePromise]); const resolveValue = useCallback((value: T) => { setState({ loading: false, error: null, value }); }, []); return [state, resolveValue]; } ================================================ FILE: tests/Dockerfile ================================================ # syntax=docker/dockerfile:1 FROM node:24 ARG PLAYWRIGHT_VERSION="missing PLAYWRIGHT_VERSION arg" RUN npm -g install "playwright@$PLAYWRIGHT_VERSION" && playwright install --with-deps chromium ================================================ FILE: tests/PageObjectModel.ts ================================================ import { type Locator, type Page } from 'playwright/test'; import { format } from 'prettier'; interface VoyagerURLParams { path?: string; url?: string; withCredential?: boolean; } export async function gotoVoyagerPage( page: Page, searchParams?: VoyagerURLParams, ) { // Add error/console checkers before we open Voyager page to track errors during loading page.on('pageerror', (error) => { throw error; }); page.on('requestfailed', (request) => { throw new Error(request.url() + ' ' + request.failure()?.errorText); }); page.on('response', (response) => { if (response.status() != 200) { throw new Error( `${response.url()}: ${response.status()} ${response.statusText()}`, ); } }); page.on('console', (message) => { const type = message.type(); const text = message.text(); const { url, lineNumber } = message.location(); const location = `${url}:${lineNumber}`; switch (type) { case 'timeEnd': if (text.startsWith('graphql-voyager: Rendering SVG:')) { return; } break; case 'log': if (text.startsWith('graphql-voyager: SVG cached')) { return; } break; } throw new Error(`[${type.toUpperCase()}] at '${location}': ${text}`); }); const search = new URLSearchParams(); if (searchParams?.url != null) { search.append('url', searchParams.url); } if (searchParams?.withCredential != null) { search.append('withCredential', searchParams.withCredential.toString()); } const response = await page.goto( (searchParams?.path || '/') + '?' + search.toString(), ); if (response == null) { throw new Error('Can not load voyager main page'); } else if (response.status() != 200) { throw new Error( `${response.url()}: ${response.status()} ${response.statusText()}`, ); } return new PlaywrightVoyagerPage(page); } class PlaywrightVoyagerPage { readonly page: Page; readonly graphLoadingAnimation: Locator; readonly svgContainer: Locator; readonly changeSchemaDialog: PlaywrightChangeSchemaDialog; constructor(page: Page) { this.page = page; this.graphLoadingAnimation = page .getByRole('status') .getByText('Transmitting...'); this.svgContainer = this.page.getByRole('img', { name: 'Visual representation of the GraphQL schema', }); this.changeSchemaDialog = new PlaywrightChangeSchemaDialog(page); } async waitForGraphToBeLoaded(): Promise { await this.svgContainer.waitFor({ state: 'visible' }); await this.graphLoadingAnimation.waitFor({ state: 'hidden' }); } async getGraphSVG(): Promise { let svg = await this.svgContainer.innerHTML(); svg = await format(svg, { parser: 'html' }); return svg.replace(/id="viewport-.*?"/, 'id="viewport-{datetime}"'); } async submitSDL(sdl: string) { const { changeSchemaDialog } = this; const { sdlTab } = changeSchemaDialog; await changeSchemaDialog.openButton.click(); await sdlTab.tab.click(); await sdlTab.sdlTextArea.fill(sdl); await changeSchemaDialog.displayButton.click(); await this.waitForGraphToBeLoaded(); } } class PlaywrightChangeSchemaDialog { readonly dialog: Locator; readonly openButton: Locator; readonly presetsTab: PlaywrightChangeSchemaPresetsTab; readonly sdlTab: PlaywrightChangeSchemaSDLTab; readonly introspectionTab: PlaywrightChangeSchemaIntrospectionTab; readonly displayButton: Locator; readonly cancelButton: Locator; constructor(page: Page) { this.dialog = page.getByRole('dialog'); this.openButton = page.getByRole('button', { name: 'Change Schema', }); this.presetsTab = new PlaywrightChangeSchemaPresetsTab(this.dialog); this.sdlTab = new PlaywrightChangeSchemaSDLTab(this.dialog); this.introspectionTab = new PlaywrightChangeSchemaIntrospectionTab( this.dialog, ); this.displayButton = this.dialog.getByRole('button', { name: 'Display' }); this.cancelButton = this.dialog.getByRole('button', { name: 'Cancel' }); } } class PlaywrightChangeSchemaBaseTab { readonly tab: Locator; readonly tabPanel: Locator; constructor(dialog: Locator, name: string) { this.tab = dialog.getByRole('tab', { name }); this.tabPanel = dialog.getByRole('tabpanel', { name }); } } export const SchemaPresets = [ 'Star Wars', 'Yelp', 'Shopify Storefront', 'GitHub', ] as const; class PlaywrightChangeSchemaPresetsTab extends PlaywrightChangeSchemaBaseTab { readonly presetButtons: { [name in (typeof SchemaPresets)[number]]: Locator }; constructor(dialog: Locator) { super(dialog, 'Presets'); this.presetButtons = {} as any; for (const name of SchemaPresets) { this.presetButtons[name] = this.tabPanel.getByRole('button', { name }); } } } class PlaywrightChangeSchemaSDLTab extends PlaywrightChangeSchemaBaseTab { readonly sdlTextArea: Locator; constructor(dialog: Locator) { super(dialog, 'SDL'); this.sdlTextArea = this.tabPanel.getByPlaceholder('Paste SDL Here'); } } class PlaywrightChangeSchemaIntrospectionTab extends PlaywrightChangeSchemaBaseTab { readonly introspectionTextArea: Locator; readonly copyIntrospectionQueryButton: Locator; constructor(dialog: Locator) { super(dialog, 'Introspection'); this.introspectionTextArea = this.tabPanel.getByPlaceholder( 'Paste Introspection Here', ); this.copyIntrospectionQueryButton = this.tabPanel.getByRole('button', { name: 'Copied!', }); } } ================================================ FILE: tests/demo.spec.ts ================================================ import { buildSchema, graphqlSync } from 'graphql'; import { expect, test } from 'playwright/test'; import { gotoVoyagerPage, SchemaPresets } from './PageObjectModel.ts'; test('open demo', async ({ page }) => { const voyagerPage = await gotoVoyagerPage(page); await voyagerPage.waitForGraphToBeLoaded(); expect .soft(await voyagerPage.getGraphSVG()) .toMatchSnapshot('demo-graph.svg'); await expect(voyagerPage.page).toHaveScreenshot('loaded-demo.png'); }); test('resize screen', async ({ page }) => { await page.setViewportSize({ width: 1920, height: 1080 }); const voyagerPage = await gotoVoyagerPage(page); await voyagerPage.waitForGraphToBeLoaded(); expect .soft(await voyagerPage.getGraphSVG()) .toMatchSnapshot('graph-before-resize.svg'); await expect(voyagerPage.page).toHaveScreenshot('demo-before-resize.png'); await page.setViewportSize({ width: 1024, height: 768 }); expect .soft(await voyagerPage.getGraphSVG()) .toMatchSnapshot('graph-after-resize.svg'); await expect(voyagerPage.page).toHaveScreenshot('demo-after-resize.png'); }); for (const name of SchemaPresets) { test(`use ${name} preset`, async ({ page }) => { const voyagerPage = await gotoVoyagerPage(page); const { changeSchemaDialog } = voyagerPage; const { presetsTab } = changeSchemaDialog; await changeSchemaDialog.openButton.click(); await expect(voyagerPage.page).toHaveScreenshot('open-dialog.png'); await presetsTab.tab.click(); await expect(voyagerPage.page).toHaveScreenshot( 'switch-to-presets-tab.png', ); const slug = name.toLowerCase().replaceAll(' ', '-'); await presetsTab.presetButtons[name].click(); await expect(voyagerPage.page).toHaveScreenshot( `choose-${slug}-preset.png`, ); await changeSchemaDialog.displayButton.click(); // eslint-disable-next-line playwright/no-wait-for-timeout await page.waitForTimeout(200); // FIXME await voyagerPage.waitForGraphToBeLoaded(); expect .soft(await voyagerPage.getGraphSVG()) .toMatchSnapshot(`${slug}-graph.svg`); await expect(voyagerPage.page).toHaveScreenshot(`show-${slug}-preset.png`); }); } test('check loading animation', async ({ page }) => { const voyagerPage = await gotoVoyagerPage(page); const { changeSchemaDialog } = voyagerPage; const { presetsTab } = changeSchemaDialog; await changeSchemaDialog.openButton.click(); await presetsTab.tab.click(); await presetsTab.presetButtons['GitHub'].click(); await changeSchemaDialog.displayButton.click(); await expect(voyagerPage.page).toHaveScreenshot('loading-animation.png', { animations: 'disabled', }); await voyagerPage.waitForGraphToBeLoaded(); await expect(voyagerPage.page).toHaveScreenshot('show-github-preset.png'); }); test('use custom SDL', async ({ page }) => { const voyagerPage = await gotoVoyagerPage(page); const { changeSchemaDialog } = voyagerPage; const { sdlTab } = changeSchemaDialog; await voyagerPage.waitForGraphToBeLoaded(); await changeSchemaDialog.openButton.click(); await expect(voyagerPage.page).toHaveScreenshot('open-dialog.png'); await sdlTab.tab.click(); await expect(voyagerPage.page).toHaveScreenshot('switch-to-sdl-tab.png'); await sdlTab.sdlTextArea.fill('type Query { foo: String }'); await expect(voyagerPage.page).toHaveScreenshot('fill-sdl.png'); await changeSchemaDialog.displayButton.click(); await voyagerPage.waitForGraphToBeLoaded(); expect .soft(await voyagerPage.getGraphSVG()) .toMatchSnapshot('custom-sdl-graph.svg'); await expect(voyagerPage.page).toHaveScreenshot('display-sdl.png'); }); test('use custom SDL with custom directives', async ({ page }) => { const voyagerPage = await gotoVoyagerPage(page); await voyagerPage.submitSDL('type Query @foo { bar: String @baz }'); expect .soft(await voyagerPage.getGraphSVG()) .toMatchSnapshot('custom-sdl-with-unknown-directives-graph.svg'); await expect(voyagerPage.page).toHaveScreenshot( 'display-sdl-with-unknown-directives.png', ); }); /* FIXME: need a way to disable "Skip deprecated" (uncheck it in UI) in tests test('use custom SDL with deprecated fields', async ({ page }) => { const voyagerPage = await gotoVoyagerPage(page); // TODO: test deprecated args and input fields await voyagerPage.submitSDL(` type Query { foo: String @deprecated bar: Int @deprecated(reason: "Just because") } `); expect .soft(await voyagerPage.getGraphSVG()) .toMatchSnapshot('custom-sdl-with-deprecated-graph.svg'); await expect(voyagerPage.page).toHaveScreenshot( 'display-sdl-with-deprecated.png', ); }); */ test('use custom introspection', async ({ page }) => { test.slow(); const voyagerPage = await gotoVoyagerPage(page); const { changeSchemaDialog } = voyagerPage; const { introspectionTab } = changeSchemaDialog; await voyagerPage.waitForGraphToBeLoaded(); await changeSchemaDialog.openButton.click(); await expect(voyagerPage.page).toHaveScreenshot('open-dialog.png'); await introspectionTab.tab.click(); await expect(voyagerPage.page).toHaveScreenshot( 'switch-to-introspection-tab.png', ); await introspectionTab.copyIntrospectionQueryButton.click(); await expect(voyagerPage.page).toHaveScreenshot( 'copy-introspection-button-click.png', ); const clipboardText = await page.evaluate( 'navigator.clipboard.readText()', ); const schema = buildSchema('type Query { foo: String }'); const result = graphqlSync({ source: clipboardText, schema }); const jsonResult = JSON.stringify(result, null, 2); await introspectionTab.introspectionTextArea.fill(jsonResult); await expect(voyagerPage.page).toHaveScreenshot('fill-introspection.png'); await changeSchemaDialog.displayButton.click(); await voyagerPage.waitForGraphToBeLoaded(); expect .soft(await voyagerPage.getGraphSVG()) .toMatchSnapshot('custom-introspection-graph.svg'); await expect(voyagerPage.page).toHaveScreenshot('display-introspection.png'); }); test('use search params to pass url', async ({ page }) => { const url = 'https://example.com/graphql'; const schema = buildSchema('type Query { foo: String }'); await page.route(url, async (route, request) => { const { query: source } = request.postDataJSON(); const json = graphqlSync({ source, schema }); await route.fulfill({ json }); }); const voyagerPage = await gotoVoyagerPage(page, { url }); await voyagerPage.waitForGraphToBeLoaded(); expect .soft(await voyagerPage.getGraphSVG()) .toMatchSnapshot('schema-from-url-graph.svg'); await expect(voyagerPage.page).toHaveScreenshot( 'display-schema-from-url.png', ); }); ================================================ FILE: tests/express.spec.ts ================================================ import { expect, test } from 'playwright/test'; import { gotoVoyagerPage } from './PageObjectModel.ts'; test.fixme('open express example', async ({ page }) => { const voyagerPage = await gotoVoyagerPage(page, { path: '/voyager' }); await voyagerPage.waitForGraphToBeLoaded(); await expect(voyagerPage.page).toHaveScreenshot('loaded-express-example.png'); }); ================================================ FILE: tests/webpack.spec.ts ================================================ import { expect, test } from 'playwright/test'; import { gotoVoyagerPage } from './PageObjectModel.ts'; test.fixme('open webpack example', async ({ page }) => { const voyagerPage = await gotoVoyagerPage(page); await voyagerPage.waitForGraphToBeLoaded(); await expect(voyagerPage.page).toHaveScreenshot('loaded-webpack-example.png'); }); ================================================ FILE: tsconfig.build.json ================================================ { "extends": "./tsconfig.json", "compilerOptions": { "noEmit": false, "rootDir": "src", "outDir": "dist", "declaration": true, "sourceMap": true, "pretty": true }, "include": ["./src/**/*.ts", "./src/**/*.tsx", "./manual-types.d.ts"] } ================================================ FILE: tsconfig.json ================================================ { "compilerOptions": { // copy of https://github.com/tsconfig/bases/blob/main/bases/strictest.json "strict": true, "allowUnusedLabels": false, "allowUnreachableCode": false, // FIXME: "exactOptionalPropertyTypes": true, "noFallthroughCasesInSwitch": true, // FIXME: "noImplicitOverride": true, "noImplicitReturns": true, "noPropertyAccessFromIndexSignature": true, // FIXME: "noUncheckedIndexedAccess": true, "noUnusedLocals": true, "noUnusedParameters": true, "isolatedModules": true, "checkJs": true, // FIXME: "esModuleInterop": true, "skipLibCheck": true, // end copy "resolveJsonModule": true, "allowImportingTsExtensions": true, "rewriteRelativeImportExtensions": true, "module": "nodenext", "moduleResolution": "nodenext", "target": "es2021", "allowSyntheticDefaultImports": true, "noEmit": true, "lib": ["es2022", "dom", "dom.iterable"], "jsx": "react-jsx" }, "compileOnSave": false, "exclude": ["node_modules", ".tmp", "dist", "demo-dist"], "include": [ "./src/**/*.ts", "./src/**/*.tsx", "./manual-types.d.ts", "tests/**/*.ts", "scripts/**/*.ts", "playwright.config.ts", "webpack.config.ts" ] } ================================================ FILE: webpack.config.ts ================================================ import 'webpack-dev-server'; import path from 'node:path'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import type { ExternalItemFunctionData } from 'webpack'; import webpack from 'webpack'; import packageJSON from './package.json' with { type: 'json' }; const BANNER = `GraphQL Voyager - Represent any GraphQL API as an interactive graph ------------------------------------------------------------- Version: ${packageJSON.version} Repo: ${packageJSON.repository.url}`; const baseConfig: webpack.Configuration = { devtool: 'source-map', // disable hints since Voyager is too big :( performance: { hints: false }, resolve: { extensionAlias: { '.js': ['.ts', '.tsx', '.mjs', '.js'], '.ts': ['.mjs', '.js', '.ts'], }, extensions: ['.js', '.json', '.css', '.svg'], }, output: { path: path.join(import.meta.dirname, 'dist'), sourceMapFilename: '[file].map', }, module: { rules: [ { resourceQuery: /raw/, type: 'asset/source', }, { test: /\.tsx?$/, use: { loader: 'ts-loader', options: { transpileOnly: true, compilerOptions: { noEmit: false }, }, }, exclude: [/\.(spec|e2e)\.ts$/], }, { test: /\.css$/, exclude: /variables\.css$/, use: [ MiniCssExtractPlugin.loader, { loader: 'css-loader', options: { sourceMap: true }, }, { loader: 'postcss-loader', options: { sourceMap: true, postcssOptions: { plugins: ['postcss-import', 'postcss-cssnext'], }, }, }, ], }, { test: /variables\.css$/, use: [{ loader: 'postcss-variables-loader?es5=1' }], }, { test: /\.svg$/, issuer: /\.tsx?$/, resourceQuery: { not: [/raw/] }, use: [ { loader: '@svgr/webpack', options: { typescript: true, ext: 'tsx' }, }, ], }, ], }, plugins: [ new MiniCssExtractPlugin({ filename: 'voyager.css', }), new webpack.BannerPlugin({ banner: BANNER, stage: webpack.Compilation.PROCESS_ASSETS_STAGE_REPORT, }), ], }; const config: Array = [ { ...baseConfig, entry: './src/index.ts', externalsType: 'module', externals, output: { ...baseConfig.output, filename: 'voyager.lib.js', library: { type: 'modern-module' }, libraryTarget: 'modern-module', }, experiments: { outputModule: true }, }, { ...baseConfig, entry: './src/standalone.ts', externals: undefined, output: { ...baseConfig.output, filename: 'voyager.standalone.js', library: 'GraphQLVoyager', libraryTarget: 'umd', umdNamedDefine: true, }, devServer: { port: 9090, static: { directory: path.join(import.meta.dirname, 'demo'), }, liveReload: true, }, }, ]; export default config; function externals({ request }: ExternalItemFunctionData) { return Promise.resolve( [ ...Object.keys(packageJSON.peerDependencies), ...Object.keys(packageJSON.dependencies), ].some((pkg) => request === pkg || request?.startsWith(pkg + '/')), ); } ================================================ FILE: wrangler.toml ================================================ name = "graphql-voyager" compatibility_date = "2025-08-26" [[routes]] pattern = "apis.guru/graphql-voyager*" zone_name = "apis.guru" [assets] directory = "./demo-dist" run_worker_first = false