import {GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig} from 'graphql'; export type Maybe = T | null; export type RequireFields = {[X in Exclude]?: T[X]} & {[P in K]-?: NonNullable}; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string, String: string, Boolean: boolean, Int: number, Float: number, /** * 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. **/ DateTime: any, /** Git commit hash */ Commit: any, /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any, /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSONObject: any, /** The `Upload` scalar type represents a file upload. */ Upload: any, }; export enum CacheControlScope { Public = 'PUBLIC', Private = 'PRIVATE' } export type CreateTokenInput = { accessToken: Scalars['String'], }; export type CreateTokenOutput = { __typename?: 'CreateTokenOutput', token: Scalars['String'], }; export enum EnumCodingLanguage { Javascript = 'JAVASCRIPT' } export enum EnumTestRunner { Jest = 'JEST' } export type GithubUser = { __typename?: 'GithubUser', id: Scalars['ID'], name?: Maybe, email?: Maybe, location?: Maybe, avatarUrl?: Maybe, }; export type Level = { __typename?: 'Level', id: Scalars['ID'], title: Scalars['String'], text: Scalars['String'], stage?: Maybe, stages: Array, setup?: Maybe, status: string }; export type LevelStageArgs = { stageId: Scalars['ID'] }; export type Mutation = { __typename?: 'Mutation', createToken?: Maybe, }; export type MutationCreateTokenArgs = { input: CreateTokenInput }; export type Query = { __typename?: 'Query', tutorial?: Maybe, tutorials?: Maybe>>, user?: Maybe, level?: Maybe, stage?: Maybe, step?: Maybe, stepActions?: Maybe, }; export type QueryTutorialArgs = { id: Scalars['ID'] }; export type QueryLevelArgs = { id: Scalars['ID'] }; export type QueryStageArgs = { id: Scalars['ID'] }; export type QueryStepArgs = { id: Scalars['ID'] }; export type QueryStepActionsArgs = { id: Scalars['ID'] }; export enum Role { Admin = 'ADMIN', User = 'USER' } export type Stage = { __typename?: 'Stage', id: Scalars['ID'], title: Scalars['String'], text: Scalars['String'], step?: Maybe, steps: Array, setup?: Maybe, status: string }; export type StageStepArgs = { stepId: Scalars['ID'] }; export type Step = { __typename?: 'Step', id: Scalars['ID'], title: Scalars['String'], text: Scalars['String'], setup: StepActions, solution: StepActions, status: string }; export type StepActions = { __typename?: 'StepActions', id: Scalars['ID'], commits: Array, files: Array, commands: Array, }; export type Tutorial = { __typename?: 'Tutorial', id: Scalars['ID'], repo: TutorialRepo, createdBy: User, createdAt: Scalars['DateTime'], updatedBy: User, updatedAt: Scalars['DateTime'], codingLanguage: EnumCodingLanguage, testRunner: EnumTestRunner, title: Scalars['String'], text: Scalars['String'], releasedAt?: Maybe, releasedBy?: Maybe, version: TutorialVersion, versions: Array, completed: Scalars['Boolean'], }; export type TutorialVersionArgs = { version?: Maybe }; export type TutorialRepo = { __typename?: 'TutorialRepo', tutorialId: Scalars['ID'], uri: Scalars['String'], branch: Scalars['String'], name: Scalars['String'], owner: Scalars['String'], }; export type TutorialVersion = { __typename?: 'TutorialVersion', tutorialId: Scalars['ID'], version: Scalars['String'], coderoadVersion: Scalars['String'], createdAt: Scalars['DateTime'], createdBy: User, publishedAt?: Maybe, publishedBy?: Maybe, level?: Maybe, levels: Array, stage?: Maybe, step?: Maybe, completed: Scalars['Boolean'], }; export type TutorialVersionLevelArgs = { levelId: Scalars['ID'] }; export type TutorialVersionStageArgs = { stageId: Scalars['ID'] }; export type TutorialVersionStepArgs = { stepId: Scalars['ID'] }; export type User = { __typename?: 'User', id: Scalars['ID'], name?: Maybe, email: Scalars['String'], location?: Maybe, avatarUrl?: Maybe, createdAt: Scalars['DateTime'], updatedAt: Scalars['DateTime'], githubUser?: Maybe, }; export type TutorialSummaryFragment = ( {__typename?: 'Tutorial'} & Pick ); export type ResolverTypeWrapper = Promise | T; export type ResolverFn = ( parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo ) => Promise | TResult; export type StitchingResolver = { fragment: string; resolve: ResolverFn; }; export type Resolver = | ResolverFn | StitchingResolver; export type SubscriptionSubscribeFn = ( parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo ) => AsyncIterator | Promise>; export type SubscriptionResolveFn = ( parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo ) => TResult | Promise; export interface SubscriptionSubscriberObject { subscribe: SubscriptionSubscribeFn<{[key in TKey]: TResult}, TParent, TContext, TArgs>; resolve?: SubscriptionResolveFn; } export interface SubscriptionResolverObject { subscribe: SubscriptionSubscribeFn; resolve: SubscriptionResolveFn; } export type SubscriptionObject = | SubscriptionSubscriberObject | SubscriptionResolverObject; export type SubscriptionResolver = | ((...args: any[]) => SubscriptionObject) | SubscriptionObject; export type TypeResolveFn = ( parent: TParent, context: TContext, info: GraphQLResolveInfo ) => Maybe; export type NextResolverFn = () => Promise; export type DirectiveResolverFn = ( next: NextResolverFn, parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo ) => TResult | Promise; /** Mapping between all available schema types and the resolvers types */ export type ResolversTypes = { Query: ResolverTypeWrapper<{}>, ID: ResolverTypeWrapper, Tutorial: ResolverTypeWrapper, TutorialRepo: ResolverTypeWrapper, String: ResolverTypeWrapper, User: ResolverTypeWrapper, DateTime: ResolverTypeWrapper, GithubUser: ResolverTypeWrapper, EnumCodingLanguage: EnumCodingLanguage, EnumTestRunner: EnumTestRunner, TutorialVersion: ResolverTypeWrapper, Level: ResolverTypeWrapper, Stage: ResolverTypeWrapper, Step: ResolverTypeWrapper, StepActions: ResolverTypeWrapper, Commit: ResolverTypeWrapper, Boolean: ResolverTypeWrapper, Mutation: ResolverTypeWrapper<{}>, createTokenInput: CreateTokenInput, CreateTokenOutput: ResolverTypeWrapper, CacheControlScope: CacheControlScope, JSON: ResolverTypeWrapper, JSONObject: ResolverTypeWrapper, Role: Role, Upload: ResolverTypeWrapper, Int: ResolverTypeWrapper, }; /** Mapping between all available schema types and the resolvers parents */ export type ResolversParentTypes = { Query: {}, ID: Scalars['ID'], Tutorial: Tutorial, TutorialRepo: TutorialRepo, String: Scalars['String'], User: User, DateTime: Scalars['DateTime'], GithubUser: GithubUser, EnumCodingLanguage: EnumCodingLanguage, EnumTestRunner: EnumTestRunner, TutorialVersion: TutorialVersion, Level: Level, Stage: Stage, Step: Step, StepActions: StepActions, Commit: Scalars['Commit'], Boolean: Scalars['Boolean'], Mutation: {}, createTokenInput: CreateTokenInput, CreateTokenOutput: CreateTokenOutput, CacheControlScope: CacheControlScope, JSON: Scalars['JSON'], JSONObject: Scalars['JSONObject'], Role: Role, Upload: Scalars['Upload'], Int: Scalars['Int'], }; export type AuthDirectiveResolver>}> = DirectiveResolverFn; export type CacheControlDirectiveResolver>, scope?: Maybe> }> = DirectiveResolverFn; export interface CommitScalarConfig extends GraphQLScalarTypeConfig { name: 'Commit' } export type CreateTokenOutputResolvers = { token?: Resolver, }; export interface DateTimeScalarConfig extends GraphQLScalarTypeConfig { name: 'DateTime' } export type GithubUserResolvers = { id?: Resolver, name?: Resolver, ParentType, ContextType>, email?: Resolver, ParentType, ContextType>, location?: Resolver, ParentType, ContextType>, avatarUrl?: Resolver, ParentType, ContextType>, }; export interface JsonScalarConfig extends GraphQLScalarTypeConfig { name: 'JSON' } export interface JsonObjectScalarConfig extends GraphQLScalarTypeConfig { name: 'JSONObject' } export type LevelResolvers = { id?: Resolver, title?: Resolver, text?: Resolver, stage?: Resolver, ParentType, ContextType, RequireFields>, stages?: Resolver, ParentType, ContextType>, setup?: Resolver, ParentType, ContextType>, }; export type MutationResolvers = { createToken?: Resolver, ParentType, ContextType, RequireFields>, }; export type QueryResolvers = { tutorial?: Resolver, ParentType, ContextType, RequireFields>, tutorials?: Resolver>>, ParentType, ContextType>, user?: Resolver, ParentType, ContextType>, level?: Resolver, ParentType, ContextType, RequireFields>, stage?: Resolver, ParentType, ContextType, RequireFields>, step?: Resolver, ParentType, ContextType, RequireFields>, stepActions?: Resolver, ParentType, ContextType, RequireFields>, }; export type StageResolvers = { id?: Resolver, title?: Resolver, text?: Resolver, step?: Resolver, ParentType, ContextType, RequireFields>, steps?: Resolver, ParentType, ContextType>, setup?: Resolver, ParentType, ContextType>, }; export type StepResolvers = { id?: Resolver, title?: Resolver, text?: Resolver, setup?: Resolver, solution?: Resolver, }; export type StepActionsResolvers = { id?: Resolver, commits?: Resolver, ParentType, ContextType>, files?: Resolver, ParentType, ContextType>, commands?: Resolver, ParentType, ContextType>, }; export type TutorialResolvers = { id?: Resolver, repo?: Resolver, createdBy?: Resolver, createdAt?: Resolver, updatedBy?: Resolver, updatedAt?: Resolver, codingLanguage?: Resolver, testRunner?: Resolver, title?: Resolver, text?: Resolver, releasedAt?: Resolver, ParentType, ContextType>, releasedBy?: Resolver, ParentType, ContextType>, version?: Resolver, versions?: Resolver, ParentType, ContextType>, completed?: Resolver, }; export type TutorialRepoResolvers = { tutorialId?: Resolver, uri?: Resolver, branch?: Resolver, name?: Resolver, owner?: Resolver, }; export type TutorialVersionResolvers = { tutorialId?: Resolver, version?: Resolver, coderoadVersion?: Resolver, createdAt?: Resolver, createdBy?: Resolver, publishedAt?: Resolver, ParentType, ContextType>, publishedBy?: Resolver, ParentType, ContextType>, level?: Resolver, ParentType, ContextType, RequireFields>, levels?: Resolver, ParentType, ContextType>, stage?: Resolver, ParentType, ContextType, RequireFields>, step?: Resolver, ParentType, ContextType, RequireFields>, completed?: Resolver, }; export interface UploadScalarConfig extends GraphQLScalarTypeConfig { name: 'Upload' } export type UserResolvers = { id?: Resolver, name?: Resolver, ParentType, ContextType>, email?: Resolver, location?: Resolver, ParentType, ContextType>, avatarUrl?: Resolver, ParentType, ContextType>, createdAt?: Resolver, updatedAt?: Resolver, githubUser?: Resolver, ParentType, ContextType>, }; export type Resolvers = { Commit?: GraphQLScalarType, CreateTokenOutput?: CreateTokenOutputResolvers, DateTime?: GraphQLScalarType, GithubUser?: GithubUserResolvers, JSON?: GraphQLScalarType, JSONObject?: GraphQLScalarType, Level?: LevelResolvers, Mutation?: MutationResolvers, Query?: QueryResolvers, Stage?: StageResolvers, Step?: StepResolvers, StepActions?: StepActionsResolvers, Tutorial?: TutorialResolvers, TutorialRepo?: TutorialRepoResolvers, TutorialVersion?: TutorialVersionResolvers, Upload?: GraphQLScalarType, User?: UserResolvers, }; /** * @deprecated * Use "Resolvers" root object instead. If you wish to get "IResolvers", add "typesPrefix: I" to your config. */ export type IResolvers = Resolvers; export type DirectiveResolvers = { auth?: AuthDirectiveResolver, cacheControl?: CacheControlDirectiveResolver, }; /** * @deprecated * Use "DirectiveResolvers" root object instead. If you wish to get "IDirectiveResolvers", add "typesPrefix: I" to your config. */ export type IDirectiveResolvers = DirectiveResolvers; export interface IntrospectionResultData { __schema: { types: { kind: string; name: string; possibleTypes: { name: string; }[]; }[]; }; } // @ts-ignore const result: IntrospectionResultData = { __schema: { types: [] } }; export default result;