Files
cypress/packages/graphql/schema.graphql
T
Lachlan Miller bcefdaba6d feat(launchpad): authenticate with dashboard (#17649)
* wip: add auth

* add example making authenticated request to runs

* simplify template

* remove cosnle

* revert some files

* Add test

* fix buld

* support logging out

* test: fix ConfigFile

Co-authored-by: ElevateBart <ledouxb@gmail.com>
2021-08-11 14:13:08 +10:00

236 lines
5.4 KiB
GraphQL

### This file was generated by Nexus Schema
### Do not make changes to this file directly
input AddProjectInput {
isCurrent: Boolean!
projectRoot: String!
testingType: String!
}
"""Namespace for information related to the app"""
type App {
"""The active project in the app"""
activeProject: Project
"""Whether this is the first open of the application or not"""
isFirstOpen: Boolean!
"""All known projects for the app"""
projects: [Project!]!
"""Cypress Cloud"""
user: User
}
"""
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
"""
scalar DateTime
enum FrontendFramework {
cra
nextjs
nuxtjs
react
vue
vuecli
}
"""
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSON @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf")
type Mutation {
"""Adds a new project to the app"""
addProject(input: AddProjectInput!): Project!
"""Create a Cypress config file for a new project"""
appCreateConfigFile(code: String!, configFilename: String!): App
"""Auth with Cypress Cloud"""
authenticate: App
"""Initializes the plugins for the current active project"""
initializePlugins: Project
"""Log out of Cypress Cloud"""
logout: App
"""Installs the dependencies for the component testing step"""
wizardInstallDependencies: Wizard
"""Navigates backward in the wizard"""
wizardNavigate(direction: WizardNavigateDirection!): Wizard
"""Navigates forward in the wizard"""
wizardNavigateForward: Wizard
"""Sets the frontend bundler we want to use for the project"""
wizardSetBundler(bundler: SupportedBundlers!): Wizard
"""Sets the frontend framework we want to use for the project"""
wizardSetFramework(framework: FrontendFramework!): Wizard
"""Sets the frontend bundler we want to use for the project"""
wizardSetManualInstall(isManual: Boolean!): Wizard
"""Sets the current testing type we want to use"""
wizardSetTestingType(type: TestingTypeEnum!): Wizard
"""Validates that the manual install has occurred properly"""
wizardValidateManualInstall: Wizard
}
enum PluginsState {
error
initialized
initializing
uninitialized
}
"""A Cypress project is a container"""
type Project {
id: ID!
isCurrent: Boolean!
isOpen: Boolean!
"""If the plugin has errored, contains the associated error message"""
pluginsErrorMessage: String
"""Plugin state for a project"""
pluginsState: PluginsState
projectRoot: String!
"""The title of the project"""
title: String!
}
"""The root "Query" type containing all entry fields for our querying"""
type Query {
app: App!
"""Get runs for a given projectId on Cypress Cloud"""
runs(projectId: String!): App
"""Namespace for user and authentication"""
user: User
"""Metadata about the wizard, null if we arent showing the wizard"""
wizard: Wizard
}
"""The bundlers that we can use with Cypress"""
enum SupportedBundlers {
vite
webpack
}
enum TestingTypeEnum {
component
e2e
}
type TestingTypeInfo {
description: String
id: TestingTypeEnum!
title: String
}
"""Namespace for information related to authentication with Cypress Cloud"""
type User {
authToken: String
email: String
name: String
}
"""
The Wizard is a container for any state associated with initial onboarding to Cypress
"""
type Wizard {
"""All of the bundlers to choose from"""
allBundlers: [WizardBundler!]!
bundler: WizardBundler
canNavigateForward: Boolean!
"""The title of the page, given the current step of the wizard"""
description: String
framework: WizardFrontendFramework
"""All of the component testing frameworks to choose from"""
frameworks: [WizardFrontendFramework!]!
"""Whether we have chosen manual install or not"""
isManualInstall: Boolean!
"""
A list of packages to install, null if we have not chosen both a framework and bundler
"""
packagesToInstall: [WizardNpmPackage!]
"""Configuration file based on bundler and framework of choice"""
sampleCode(lang: WizardCodeLanguage! = js): String
step: WizardStep!
"""
The testing type we are setting in the wizard, null if this has not been chosen
"""
testingType: TestingTypeEnum
testingTypes: [TestingTypeInfo!]
"""The title of the page, given the current step of the wizard"""
title: String
}
"""Wizard bundler"""
type WizardBundler {
id: SupportedBundlers!
"""Whether this is the selected framework bundler"""
isSelected: Boolean
name: String!
package: String!
}
enum WizardCodeLanguage {
js
ts
}
"""A frontend framework that we can setup within the app"""
type WizardFrontendFramework {
"""The name of the framework"""
id: FrontendFramework!
"""Whether this is the selected framework in the wizard"""
isSelected: Boolean!
"""The name of the framework"""
name: String!
"""All of the supported bundlers for this framework"""
supportedBundlers: [WizardBundler!]!
}
enum WizardNavigateDirection {
back
forward
}
"""Details about an NPM Package listed during the wizard install"""
type WizardNpmPackage {
description: String!
"""The package name that you would npm install"""
name: String!
}
enum WizardStep {
createConfig
installDependencies
selectFramework
setupComplete
welcome
}