diff --git a/workspaces/leetcode-api/graphql-codegen.config.ts b/workspaces/leetcode-api/graphql-codegen.config.ts new file mode 100644 index 00000000..f99ae76a --- /dev/null +++ b/workspaces/leetcode-api/graphql-codegen.config.ts @@ -0,0 +1,62 @@ +import type { CodegenConfig } from "@graphql-codegen/cli"; + +const commonTypeScriptPluginConfig = { + arrayInputCoercion: false, + enumsAsTypes: true, + defaultScalarType: "unknown", + skipTypename: true, + useTypeImports: true, + + // TODO: add strictScalars: true +}; + +const headerPlugin = { + add: { + content: ` + // THIS FILE IS GENERATED! DO NOT MODIFY IT MANUALLY!! + // Instead, update the generation process or inputs and run \`yarn codegen\`. + `, + }, +}; + +const config: CodegenConfig = { + schema: "schema.graphql", + documents: ["src/**/*.graphql"], + overwrite: true, + emitLegacyCommonJSImports: false, + generates: { + "src/graphqlTypes.generated.ts": { + plugins: [headerPlugin, "typescript"], + config: commonTypeScriptPluginConfig, + }, + "src/": { + preset: "near-operation-file", + presetConfig: { + // The base types are not imported because of the use of + // `globalNamespace` below, instead our custom plugin will add the + // import, so that it can end up _below_ the header. + baseTypesPath: "", + + extension: ".generated.ts", + fileName: "fetchGraphQL", + }, + plugins: [ + headerPlugin, + { "typescript-operations": { globalNamespace: false } }, + "./src/scripts/codegen/graphqlCodegenPlugin.ts", + ], + config: { + ...commonTypeScriptPluginConfig, + + // Our custom plugin will handle the imports and exports! + globalNamespace: true, + noExport: true, + }, + }, + }, + hooks: { + afterAllFileWrite: ["prettier --write"], + }, +}; + +export default config; diff --git a/workspaces/leetcode-api/graphql-codegen.ts b/workspaces/leetcode-api/graphql-codegen.ts deleted file mode 100644 index 7765fffa..00000000 --- a/workspaces/leetcode-api/graphql-codegen.ts +++ /dev/null @@ -1,39 +0,0 @@ -import type { CodegenConfig } from "@graphql-codegen/cli"; - -const commonTypeScriptPluginConfig = { - arrayInputCoercion: false, - avoidOptionals: true, - enumsAsTypes: true, - defaultScalarType: "unknown", - skipTypename: true, - useTypeImports: true, - - // TODO: add strictScalars: true -}; - -const config: CodegenConfig = { - schema: "schema.graphql", - documents: ["src/**/*.graphql"], - overwrite: true, - emitLegacyCommonJSImports: false, - generates: { - "src/graphqlTypes.generated.ts": { - plugins: ["typescript"], - config: commonTypeScriptPluginConfig, - }, - "src/": { - preset: "near-operation-file", - presetConfig: { - baseTypesPath: "~./graphqlTypes.generated", - extension: ".generated.ts", - }, - plugins: ["typescript-operations"], - config: commonTypeScriptPluginConfig, - }, - }, - hooks: { - afterAllFileWrite: ["prettier --write"], - }, -}; - -export default config; diff --git a/workspaces/leetcode-api/package.json b/workspaces/leetcode-api/package.json index 3c34175b..f2f6f8fb 100644 --- a/workspaces/leetcode-api/package.json +++ b/workspaces/leetcode-api/package.json @@ -15,7 +15,7 @@ "type": "module", "exports": "./src/main.ts", "scripts": { - "codegen": "graphql-codegen-esm --config graphql-codegen.ts", + "codegen": "cross-env NODE_OPTIONS=\"--import tsx\" graphql-codegen-esm --config graphql-codegen.config.ts", "format": "prettier --color --write .", "lint": "eslint --color --max-warnings=0 .", "scrape-graphql-schema": "tsx src/scripts/scrape-graphql-schema/main.ts", @@ -32,14 +32,18 @@ }, "devDependencies": { "@code-chronicles/eslint-config": "workspace:*", + "@graphql-codegen/add": "5.0.3", "@graphql-codegen/cli": "5.0.2", "@graphql-codegen/near-operation-file-preset": "3.0.0", "@types/node": "22.7.4", + "cross-env": "7.0.3", "eslint": "9.12.0", + "graphql-query-compress": "1.2.4", "jest": "29.7.0", "prettier": "3.3.3", "ts-jest": "29.2.5", "tsx": "4.19.1", + "type-fest": "4.26.1", "typescript": "5.6.2" } } diff --git a/workspaces/leetcode-api/schema.graphql b/workspaces/leetcode-api/schema.graphql index 1070d23f..7816d19a 100644 --- a/workspaces/leetcode-api/schema.graphql +++ b/workspaces/leetcode-api/schema.graphql @@ -4521,7 +4521,8 @@ input StoreAdminCreateOrderInput { city: String! country: String! details: JSONString - itemSlug: String! + itemSlug: String + itemSlugs: [String!] note: String phone: String! recipient: String! @@ -4799,6 +4800,11 @@ type AnnualReportNode { showPopup: Boolean! } +type ApiTokenNode { + isCreated: Boolean! + token: String +} + type ApplicationNode { anonymous: Boolean! background: String @@ -9428,6 +9434,7 @@ type Query { frontendQuestionSubmissionResults( submissionId: String! ): [FrontendQuestionResultNode]! + generateLeetcodeUserApiToken: ApiTokenNode globalRanking(page: Int = 1): GlobalRankingNode growthbookTest(featureKey: String!): String! hasAccessToFavorite(favoriteSlug: String!): AccessToFavoriteNode! diff --git a/workspaces/leetcode-api/src/api/active-daily-coding-challenge-question/fetchGraphQL.generated.ts b/workspaces/leetcode-api/src/api/active-daily-coding-challenge-question/fetchGraphQL.generated.ts new file mode 100644 index 00000000..e342d03f --- /dev/null +++ b/workspaces/leetcode-api/src/api/active-daily-coding-challenge-question/fetchGraphQL.generated.ts @@ -0,0 +1,34 @@ +// THIS FILE IS GENERATED! DO NOT MODIFY IT MANUALLY!! +// Instead, update the generation process or inputs and run `yarn codegen`. + +import type { Simplify } from "type-fest"; + +import { getGraphQLClient } from "../../getGraphQLClient.ts"; +import type * as Types from "../../graphqlTypes.generated.ts"; + +type ActiveDailyCodingChallengeQuestionQueryVariables = Types.Exact<{ + [key: string]: never; +}>; + +type ActiveDailyCodingChallengeQuestionQuery = { + activeDailyCodingChallengeQuestion?: { + date: unknown; + question: { + difficulty?: string | null; + questionFrontendId?: string | null; + title: string; + titleSlug: string; + }; + } | null; +}; + +export type QueryVariables = + Simplify; +export type Query = Simplify; + +export const QUERY = + "query ActiveDailyCodingChallengeQuestion{activeDailyCodingChallengeQuestion{date question{difficulty questionFrontendId title titleSlug}}}"; + +export function fetchGraphQL(variables: QueryVariables): Promise { + return getGraphQLClient().request(QUERY, variables); +} diff --git a/workspaces/leetcode-api/src/fetchActiveDailyCodingChallengeQuestion.ts b/workspaces/leetcode-api/src/api/active-daily-coding-challenge-question/main.ts similarity index 76% rename from workspaces/leetcode-api/src/fetchActiveDailyCodingChallengeQuestion.ts rename to workspaces/leetcode-api/src/api/active-daily-coding-challenge-question/main.ts index 74b0430e..8c63a785 100644 --- a/workspaces/leetcode-api/src/fetchActiveDailyCodingChallengeQuestion.ts +++ b/workspaces/leetcode-api/src/api/active-daily-coding-challenge-question/main.ts @@ -1,4 +1,3 @@ -import { gql } from "graphql-request"; import { z } from "zod"; import { numericIdAsNumberZodType } from "@code-chronicles/util/numericIdAsNumberZodType"; @@ -6,23 +5,9 @@ import { sleep } from "@code-chronicles/util/sleep"; import { MS_IN_SEC } from "@code-chronicles/util/timeConstants"; import { timestampInSecondsToYearMonthDay } from "@code-chronicles/util/timestampInSecondsToYearMonthDay"; -import { getGraphQLClient } from "./getGraphQLClient.ts"; -import { questionDifficultyZodType } from "./zod-types/questionDifficultyZodType.ts"; -import { questionTitleSlugZodType } from "./zod-types/questionTitleSlugZodType.ts"; - -const QUERY = gql` - query fetchActiveDailyCodingChallengeQuestion { - activeDailyCodingChallengeQuestion { - date - question { - difficulty - questionFrontendId - title - titleSlug - } - } - } -`; +import { questionDifficultyZodType } from "../../zod-types/questionDifficultyZodType.ts"; +import { questionTitleSlugZodType } from "../../zod-types/questionTitleSlugZodType.ts"; +import { fetchGraphQL } from "./fetchGraphQL.generated.ts"; const questionZodType = z.object({ difficulty: questionDifficultyZodType, @@ -48,7 +33,8 @@ export type ActiveDailyCodingChallengeQuestion = z.infer< >; export async function fetchActiveDailyCodingChallengeQuestionWithoutDateValidation(): Promise { - const data = await getGraphQLClient().request(QUERY); + // TODO: have a way to omit variables when there aren't any + const data = await fetchGraphQL({}); return activeDailyCodingChallengeQuestionZodType.parse(data); } diff --git a/workspaces/leetcode-api/src/api/active-daily-coding-challenge-question/query.graphql b/workspaces/leetcode-api/src/api/active-daily-coding-challenge-question/query.graphql new file mode 100644 index 00000000..561477c0 --- /dev/null +++ b/workspaces/leetcode-api/src/api/active-daily-coding-challenge-question/query.graphql @@ -0,0 +1,11 @@ +query ActiveDailyCodingChallengeQuestion { + activeDailyCodingChallengeQuestion { + date + question { + difficulty + questionFrontendId + title + titleSlug + } + } +} diff --git a/workspaces/leetcode-api/src/api/question-list/fetchGraphQL.generated.ts b/workspaces/leetcode-api/src/api/question-list/fetchGraphQL.generated.ts new file mode 100644 index 00000000..0726731e --- /dev/null +++ b/workspaces/leetcode-api/src/api/question-list/fetchGraphQL.generated.ts @@ -0,0 +1,37 @@ +// THIS FILE IS GENERATED! DO NOT MODIFY IT MANUALLY!! +// Instead, update the generation process or inputs and run `yarn codegen`. + +import type { Simplify } from "type-fest"; + +import { getGraphQLClient } from "../../getGraphQLClient.ts"; +import type * as Types from "../../graphqlTypes.generated.ts"; + +type QuestionListQueryVariables = Types.Exact<{ + categorySlug: Types.Scalars["String"]["input"]; + limit?: Types.InputMaybe; + skip?: Types.InputMaybe; + filters: Types.QuestionListFilterInput; +}>; + +type QuestionListQuery = { + questionList?: { + totalNum: number; + data: Array<{ + difficulty?: string | null; + isPaidOnly?: boolean | null; + questionFrontendId?: string | null; + title: string; + titleSlug: string; + }>; + } | null; +}; + +export type QueryVariables = Simplify; +export type Query = Simplify; + +export const QUERY = + "query QuestionList($categorySlug:String!,$limit:Int,$skip:Int,$filters:QuestionListFilterInput!){questionList(categorySlug:$categorySlug limit:$limit skip:$skip filters:$filters){data{difficulty isPaidOnly questionFrontendId title titleSlug}totalNum}}"; + +export function fetchGraphQL(variables: QueryVariables): Promise { + return getGraphQLClient().request(QUERY, variables); +} diff --git a/workspaces/leetcode-api/src/fetchQuestionList.ts b/workspaces/leetcode-api/src/api/question-list/main.ts similarity index 60% rename from workspaces/leetcode-api/src/fetchQuestionList.ts rename to workspaces/leetcode-api/src/api/question-list/main.ts index ad4f4dfd..39c0d592 100644 --- a/workspaces/leetcode-api/src/fetchQuestionList.ts +++ b/workspaces/leetcode-api/src/api/question-list/main.ts @@ -1,36 +1,10 @@ -import { gql } from "graphql-request"; import { z } from "zod"; import { numericIdAsNumberZodType } from "@code-chronicles/util/numericIdAsNumberZodType"; -import { getGraphQLClient } from "./getGraphQLClient.ts"; -import { questionDifficultyZodType } from "./zod-types/questionDifficultyZodType.ts"; -import { questionTitleSlugZodType } from "./zod-types/questionTitleSlugZodType.ts"; - -const QUERY = gql` - query ( - $categorySlug: String! - $limit: Int - $skip: Int - $filters: QuestionListFilterInput! - ) { - questionList( - categorySlug: $categorySlug - limit: $limit - skip: $skip - filters: $filters - ) { - data { - difficulty - isPaidOnly - questionFrontendId - title - titleSlug - } - totalNum - } - } -`; +import { fetchGraphQL, type QueryVariables } from "./fetchGraphQL.generated.ts"; +import { questionDifficultyZodType } from "../../zod-types/questionDifficultyZodType.ts"; +import { questionTitleSlugZodType } from "../../zod-types/questionTitleSlugZodType.ts"; const questionZodType = z.object({ difficulty: questionDifficultyZodType, @@ -74,12 +48,11 @@ export async function fetchQuestionList({ skip, }: { categorySlug?: CategorySlug; - // TODO: more specific type if possible - filters?: Record; - limit?: number; - skip?: number; -} = {}): Promise { - const data = await getGraphQLClient().request(QUERY, { + filters?: QueryVariables["filters"]; + limit: number; + skip: number; +}): Promise { + const data = await fetchGraphQL({ categorySlug, filters, limit, diff --git a/workspaces/leetcode-api/src/fetchQuestionList.graphql b/workspaces/leetcode-api/src/api/question-list/query.graphql similarity index 92% rename from workspaces/leetcode-api/src/fetchQuestionList.graphql rename to workspaces/leetcode-api/src/api/question-list/query.graphql index ab97d5b8..ebef6ceb 100644 --- a/workspaces/leetcode-api/src/fetchQuestionList.graphql +++ b/workspaces/leetcode-api/src/api/question-list/query.graphql @@ -1,4 +1,4 @@ -query fetchQuestionList( +query QuestionList( $categorySlug: String! $limit: Int $skip: Int diff --git a/workspaces/leetcode-api/src/api/recent-ac-submission-list/fetchGraphQL.generated.ts b/workspaces/leetcode-api/src/api/recent-ac-submission-list/fetchGraphQL.generated.ts new file mode 100644 index 00000000..69384754 --- /dev/null +++ b/workspaces/leetcode-api/src/api/recent-ac-submission-list/fetchGraphQL.generated.ts @@ -0,0 +1,31 @@ +// THIS FILE IS GENERATED! DO NOT MODIFY IT MANUALLY!! +// Instead, update the generation process or inputs and run `yarn codegen`. + +import type { Simplify } from "type-fest"; + +import { getGraphQLClient } from "../../getGraphQLClient.ts"; +import type * as Types from "../../graphqlTypes.generated.ts"; + +type RecentAcSubmissionListQueryVariables = Types.Exact<{ + username: Types.Scalars["String"]["input"]; + limit: Types.Scalars["Int"]["input"]; +}>; + +type RecentAcSubmissionListQuery = { + recentAcSubmissionList?: Array<{ + id?: string | null; + title?: string | null; + titleSlug?: string | null; + timestamp?: string | null; + }> | null; +}; + +export type QueryVariables = Simplify; +export type Query = Simplify; + +export const QUERY = + "query RecentAcSubmissionList($username:String!,$limit:Int!){recentAcSubmissionList(username:$username,limit:$limit){id title titleSlug timestamp}}"; + +export function fetchGraphQL(variables: QueryVariables): Promise { + return getGraphQLClient().request(QUERY, variables); +} diff --git a/workspaces/leetcode-api/src/fetchRecentAcSubmissionList.ts b/workspaces/leetcode-api/src/api/recent-ac-submission-list/main.ts similarity index 64% rename from workspaces/leetcode-api/src/fetchRecentAcSubmissionList.ts rename to workspaces/leetcode-api/src/api/recent-ac-submission-list/main.ts index aec6e0ea..2c95b6d1 100644 --- a/workspaces/leetcode-api/src/fetchRecentAcSubmissionList.ts +++ b/workspaces/leetcode-api/src/api/recent-ac-submission-list/main.ts @@ -1,21 +1,9 @@ -import { gql } from "graphql-request"; import { z } from "zod"; import { numericIdAsStringZodType } from "@code-chronicles/util/numericIdAsStringZodType"; -import { getGraphQLClient } from "./getGraphQLClient.ts"; -import { questionTitleSlugZodType } from "./zod-types/questionTitleSlugZodType.ts"; - -const QUERY = gql` - query fetchRecentAcSubmissionList($username: String!, $limit: Int!) { - recentAcSubmissionList(username: $username, limit: $limit) { - id - title - titleSlug - timestamp - } - } -`; +import { questionTitleSlugZodType } from "../../zod-types/questionTitleSlugZodType.ts"; +import { fetchGraphQL } from "./fetchGraphQL.generated.ts"; const submissionZodType = z.object({ id: numericIdAsStringZodType, @@ -45,7 +33,7 @@ export async function fetchRecentAcSubmissionList({ limit?: number; username: string; }): Promise { - const data = await getGraphQLClient().request(QUERY, { username, limit }); + const data = await fetchGraphQL({ username, limit }); return recentAcSubmissionListZodType.parse(data); } diff --git a/workspaces/leetcode-api/src/api/recent-ac-submission-list/query.graphql b/workspaces/leetcode-api/src/api/recent-ac-submission-list/query.graphql new file mode 100644 index 00000000..012b9c42 --- /dev/null +++ b/workspaces/leetcode-api/src/api/recent-ac-submission-list/query.graphql @@ -0,0 +1,8 @@ +query RecentAcSubmissionList($username: String!, $limit: Int!) { + recentAcSubmissionList(username: $username, limit: $limit) { + id + title + titleSlug + timestamp + } +} diff --git a/workspaces/leetcode-api/src/fetchSubmissionList.ts b/workspaces/leetcode-api/src/api/submission-list-non-graphql/main.ts similarity index 97% rename from workspaces/leetcode-api/src/fetchSubmissionList.ts rename to workspaces/leetcode-api/src/api/submission-list-non-graphql/main.ts index d84e7ccd..cbaf7bb1 100644 --- a/workspaces/leetcode-api/src/fetchSubmissionList.ts +++ b/workspaces/leetcode-api/src/api/submission-list-non-graphql/main.ts @@ -3,7 +3,7 @@ import { z } from "zod"; import { numericIdAsNumberZodType } from "@code-chronicles/util/numericIdAsNumberZodType"; import { numericIdAsStringZodType } from "@code-chronicles/util/numericIdAsStringZodType"; -import { questionTitleSlugZodType } from "./zod-types/questionTitleSlugZodType.ts"; +import { questionTitleSlugZodType } from "../../zod-types/questionTitleSlugZodType.ts"; export const SUBMISSION_STATUS_TO_DISPLAY_TEXT: ReadonlyMap = new Map([ diff --git a/workspaces/leetcode-api/src/api/topic/fetchGraphQL.generated.ts b/workspaces/leetcode-api/src/api/topic/fetchGraphQL.generated.ts new file mode 100644 index 00000000..5a148214 --- /dev/null +++ b/workspaces/leetcode-api/src/api/topic/fetchGraphQL.generated.ts @@ -0,0 +1,29 @@ +// THIS FILE IS GENERATED! DO NOT MODIFY IT MANUALLY!! +// Instead, update the generation process or inputs and run `yarn codegen`. + +import type { Simplify } from "type-fest"; + +import { getGraphQLClient } from "../../getGraphQLClient.ts"; +import type * as Types from "../../graphqlTypes.generated.ts"; + +type TopicQueryVariables = Types.Exact<{ + topicId: Types.Scalars["Int"]["input"]; +}>; + +type TopicQuery = { + topic?: { + title: string; + solutionTags: Array<{ slug: string } | null>; + post: { content: string }; + } | null; +}; + +export type QueryVariables = Simplify; +export type Query = Simplify; + +export const QUERY = + "query Topic($topicId:Int!){topic(id:$topicId){title solutionTags{slug}post{content}}}"; + +export function fetchGraphQL(variables: QueryVariables): Promise { + return getGraphQLClient().request(QUERY, variables); +} diff --git a/workspaces/leetcode-api/src/fetchCommunitySolutionTopic.ts b/workspaces/leetcode-api/src/api/topic/main.ts similarity index 66% rename from workspaces/leetcode-api/src/fetchCommunitySolutionTopic.ts rename to workspaces/leetcode-api/src/api/topic/main.ts index 137186b2..aa02b40f 100644 --- a/workspaces/leetcode-api/src/fetchCommunitySolutionTopic.ts +++ b/workspaces/leetcode-api/src/api/topic/main.ts @@ -1,24 +1,9 @@ -import { gql } from "graphql-request"; import { z } from "zod"; -import { getGraphQLClient } from "./getGraphQLClient.ts"; +import { fetchGraphQL } from "./fetchGraphQL.generated.ts"; // TODO: see if there are any fun GraphQL ESLint plugins -const QUERY = gql` - query fetchTopic($topicId: Int!) { - topic(id: $topicId) { - title - solutionTags { - slug - } - post { - content - } - } - } -`; - const communitySolutionTopicZodType = z .object({ topic: z.object({ @@ -40,7 +25,8 @@ export type CommunitySolutionTopic = z.infer< export async function fetchCommunitySolutionTopic( topicId: string, ): Promise { - const data = await getGraphQLClient().request(QUERY, { topicId }); + // TODO: don't lie about the type + const data = await fetchGraphQL({ topicId: topicId as unknown as number }); return communitySolutionTopicZodType.parse(data); } diff --git a/workspaces/leetcode-api/src/api/topic/query.graphql b/workspaces/leetcode-api/src/api/topic/query.graphql new file mode 100644 index 00000000..5386a9c6 --- /dev/null +++ b/workspaces/leetcode-api/src/api/topic/query.graphql @@ -0,0 +1,11 @@ +query Topic($topicId: Int!) { + topic(id: $topicId) { + title + solutionTags { + slug + } + post { + content + } + } +} diff --git a/workspaces/leetcode-api/src/fetchGraphQLTypeInformation.ts b/workspaces/leetcode-api/src/fetchGraphQLTypeInformation.ts index f4b43eb7..342a411b 100644 --- a/workspaces/leetcode-api/src/fetchGraphQLTypeInformation.ts +++ b/workspaces/leetcode-api/src/fetchGraphQLTypeInformation.ts @@ -21,6 +21,7 @@ function getTypeFields(depth: number): string { // TODO: Validate that a depth of 5 is sufficient below. +// TODO: maybe use graphql-query-compress here as well const FRAGMENT = squashWhitespace(` fragment TypeFields on __Type { name diff --git a/workspaces/leetcode-api/src/fetchQuestionList.generated.ts b/workspaces/leetcode-api/src/fetchQuestionList.generated.ts deleted file mode 100644 index 2db39c16..00000000 --- a/workspaces/leetcode-api/src/fetchQuestionList.generated.ts +++ /dev/null @@ -1,21 +0,0 @@ -import type * as Types from "./graphqlTypes.generated.js"; - -export type FetchQuestionListQueryVariables = Types.Exact<{ - categorySlug: Types.Scalars["String"]["input"]; - limit: Types.InputMaybe; - skip: Types.InputMaybe; - filters: Types.QuestionListFilterInput; -}>; - -export type FetchQuestionListQuery = { - questionList: { - totalNum: number; - data: Array<{ - difficulty: string | null; - isPaidOnly: boolean | null; - questionFrontendId: string | null; - title: string; - titleSlug: string; - }>; - } | null; -}; diff --git a/workspaces/leetcode-api/src/graphqlTypes.generated.ts b/workspaces/leetcode-api/src/graphqlTypes.generated.ts index f80ddb72..0d29748e 100644 --- a/workspaces/leetcode-api/src/graphqlTypes.generated.ts +++ b/workspaces/leetcode-api/src/graphqlTypes.generated.ts @@ -1,3 +1,6 @@ +// THIS FILE IS GENERATED! DO NOT MODIFY IT MANUALLY!! +// Instead, update the generation process or inputs and run `yarn codegen`. + export type Maybe = T | null; export type InputMaybe = Maybe; export type Exact = { @@ -54,25 +57,25 @@ export type Scalars = { }; export type AcStatsNode = { - acQuestionCount: Maybe; - acRate: Maybe; - acSubmissionCount: Maybe; - totalSubmissionCount: Maybe; + acQuestionCount?: Maybe; + acRate?: Maybe; + acSubmissionCount?: Maybe; + totalSubmissionCount?: Maybe; }; export type AcceptAchievementReward = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type AcceptContribution = { - contribution: Maybe; - error: Maybe; - ok: Maybe; + contribution?: Maybe; + error?: Maybe; + ok?: Maybe; }; export type AcceptContributionContributionArgs = { - id: InputMaybe; + id?: InputMaybe; }; /** An enumeration. */ @@ -86,8 +89,8 @@ export type AccessDeniedReasonEnum = export type AccessToFavoriteNode = { hasAccess: Scalars["Boolean"]["output"]; - questionCount: Maybe; - rejectReason: Maybe; + questionCount?: Maybe; + rejectReason?: Maybe; }; /** An enumeration. */ @@ -109,10 +112,10 @@ export type AccountStatus = | "FROZEN"; export type AchievementNode = { - achievementDescription: Maybe; - achievementName: Maybe; + achievementDescription?: Maybe; + achievementName?: Maybe; created: Scalars["DateTime"]["output"]; - idHash: Maybe; + idHash?: Maybe; isRewardAccepted: Scalars["Boolean"]["output"]; }; @@ -151,66 +154,66 @@ export type AdSourceEnum = | "INTERNAL_AD"; export type AddFavoriteToMyCollectionV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type AddOrUpdateCodeInPlayground = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type AddQuestionToDefaultFavoriteV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type AddQuestionToFavorite = { - error: Maybe; - favoriteIdHash: Maybe; - ok: Maybe; - questionId: Maybe; - userName: Maybe; + error?: Maybe; + favoriteIdHash?: Maybe; + ok?: Maybe; + questionId?: Maybe; + userName?: Maybe; }; export type AddQuestionToFavoriteV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type AddQuestionToNewFavorite = { - error: Maybe; - favoriteIdHash: Maybe; - isPublicFavorite: Maybe; - name: Maybe; - ok: Maybe; - questionId: Maybe; - userName: Maybe; + error?: Maybe; + favoriteIdHash?: Maybe; + isPublicFavorite?: Maybe; + name?: Maybe; + ok?: Maybe; + questionId?: Maybe; + userName?: Maybe; }; export type AddQuestionToNewFavoriteV2 = { - error: Maybe; - ok: Maybe; - slug: Maybe; + error?: Maybe; + ok?: Maybe; + slug?: Maybe; }; export type AddUserToInternalContest = { - error: Maybe; - user: Maybe; + error?: Maybe; + user?: Maybe; }; export type AdvertisementNode = { /** the ad slot of google adsense, None for internal ads */ - adSlot: Maybe; + adSlot?: Maybe; adSource: AdSourceEnum; - bannerUrl: Maybe; - displayTitle: Maybe; + bannerUrl?: Maybe; + displayTitle?: Maybe; /** the height of google adsense, None for internal ads */ - height: Maybe; - targetUrl: Maybe; + height?: Maybe; + targetUrl?: Maybe; title: Scalars["String"]["output"]; /** the width of google adsense, None for internal ads */ - width: Maybe; + width?: Maybe; }; /** An enumeration. */ @@ -285,42 +288,47 @@ export type AnnualReportNode = { showPopup: Scalars["Boolean"]["output"]; }; +export type ApiTokenNode = { + isCreated: Scalars["Boolean"]["output"]; + token?: Maybe; +}; + export type ApplicationNode = { anonymous: Scalars["Boolean"]["output"]; - background: Maybe; - date: Maybe; + background?: Maybe; + date?: Maybe; description: Scalars["String"]["output"]; id: Scalars["ID"]["output"]; - solutions: Maybe; - status: Maybe; - tags: Maybe>>; - testcases: Maybe; + solutions?: Maybe; + status?: Maybe; + tags?: Maybe>>; + testcases?: Maybe; title: Scalars["String"]["output"]; - topic: Maybe; - type: Maybe; + topic?: Maybe; + type?: Maybe; user: PrivateContestUserNode; }; export type ApplyTimeTravelTicket = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type ApplyTimeTravelTicketV2 = { - error: Maybe; - ok: Maybe; - streakCounter: Maybe; + error?: Maybe; + ok?: Maybe; + streakCounter?: Maybe; }; export type ApproveComment = { - error: Maybe; - ok: Maybe; - post: Maybe; + error?: Maybe; + ok?: Maybe; + post?: Maybe; }; export type ApproveComments = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type ApproveContestReports = { @@ -328,18 +336,18 @@ export type ApproveContestReports = { }; export type ApproveReportedPost = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type ApproveTopic = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type ApproveTopics = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type ArchiveUser = { @@ -347,34 +355,34 @@ export type ArchiveUser = { }; export type ArchivedUserNode = { - archiveDate: Maybe; - archiveReason: Maybe; + archiveDate?: Maybe; + archiveReason?: Maybe; createDate: Scalars["DateTime"]["output"]; extraInfo: Scalars["String"]["output"]; id: Scalars["ID"]["output"]; originalPrimaryEmail: Scalars["String"]["output"]; originalUsername: Scalars["String"]["output"]; - user: Maybe; + user?: Maybe; }; export type ArticleNode = { - body: Maybe; - canSeeDetail: Maybe; - content: Maybe; - contentTypeId: Maybe; - hasVideoSolution: Maybe; + body?: Maybe; + canSeeDetail?: Maybe; + content?: Maybe; + contentTypeId?: Maybe; + hasVideoSolution?: Maybe; id: Scalars["ID"]["output"]; - paidOnly: Maybe; - paidOnlyVideo: Maybe; - rating: Maybe; + paidOnly?: Maybe; + paidOnlyVideo?: Maybe; + rating?: Maybe; /** The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/ */ slug: Scalars["String"]["output"]; /** The page title as you'd like it to be seen by the public */ title: Scalars["String"]["output"]; - titleSlug: Maybe; - topic: Maybe; - topicId: Maybe; - url: Maybe; + titleSlug?: Maybe; + topic?: Maybe; + topicId?: Maybe; + url?: Maybe; }; /** 取消注销账户请求 */ @@ -385,13 +393,13 @@ export type AuthCancelDeleteAccount = { export type AvatarStatusEnum = "ALL" | "UNVIEWED" | "VIEWED"; export type AwardInternalContestCoin = { - internalContestAwardedUsers: Maybe>>; - ok: Maybe; + internalContestAwardedUsers?: Maybe>>; + ok?: Maybe; }; export type BtsEventNotification = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type BtsReferralNode = { @@ -400,8 +408,8 @@ export type BtsReferralNode = { }; export type BtsReferralRegister = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; /** An enumeration. */ @@ -424,34 +432,34 @@ export type BadgeBadge = export type BadgeCategoryEnum = "ANNUAL" | "COMPETITION" | "DCC" | "STUDY_PLAN"; export type BanIp = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type BanInfoNode = { - banTypeName: Maybe; - banTypeSlug: Maybe; - endDate: Maybe; - reason: Maybe; - startDate: Maybe; + banTypeName?: Maybe; + banTypeSlug?: Maybe; + endDate?: Maybe; + reason?: Maybe; + startDate?: Maybe; }; export type BanUser = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; user: UserNodeAdminOnly; }; export type BatchReviewFlaggedObjects = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type BatchReviewFlaggedObjectsInput = { - description: InputMaybe; + description?: InputMaybe; flagResultIds: Array; operation: FlagStatus; - reasonId: InputMaybe; + reasonId?: InputMaybe; }; export type BlacklistNode = { @@ -464,47 +472,47 @@ export type CalendarBadgeNode = { }; export type CardNode = { - banner: Maybe; - bannerBackground: Maybe; - categorySlug: Maybe; - categoryTitle: Maybe; + banner?: Maybe; + bannerBackground?: Maybe; + categorySlug?: Maybe; + categoryTitle?: Maybe; chapters: Array; - codingChallengeInfo: Maybe; + codingChallengeInfo?: Maybe; createdAt: Scalars["DateTime"]["output"]; - description: Maybe; - discussCategory: Maybe; + description?: Maybe; + discussCategory?: Maybe; id: Scalars["ID"]["output"]; - img: Maybe; - introText: Maybe; - introduction: Maybe; - isFavorite: Maybe; - isFeatured: Maybe; - isPreview: Maybe; - items: Maybe>>; + img?: Maybe; + introText?: Maybe; + introduction?: Maybe; + isFavorite?: Maybe; + isFeatured?: Maybe; + isPreview?: Maybe; + items?: Maybe>>; lastModified: Scalars["DateTime"]["output"]; - numChapters: Maybe; - numItems: Maybe; - numUsersCompleted: Maybe; - numUsersStarted: Maybe; + numChapters?: Maybe; + numItems?: Maybe; + numUsersCompleted?: Maybe; + numUsersStarted?: Maybe; paidOnly: Scalars["Boolean"]["output"]; - popularity: Maybe; - prevCompleteLinkInfo: Maybe; - progress: Maybe; + popularity?: Maybe; + prevCompleteLinkInfo?: Maybe; + progress?: Maybe; published: Scalars["Boolean"]["output"]; sequentialOnly: Scalars["Boolean"]["output"]; - shareEvent: Maybe; + shareEvent?: Maybe; slug: Scalars["String"]["output"]; title: Scalars["String"]["output"]; - users: Maybe; - valueAddedContent: Maybe; + users?: Maybe; + valueAddedContent?: Maybe; }; /** An enumeration. */ export type Category = "BASIC" | "EDGE" | "PERFORMANCE"; export type CategoryNode = { - cards: Maybe>>; - description: Maybe; + cards?: Maybe>>; + description?: Maybe; id: Scalars["ID"]["output"]; order: Scalars["Int"]["output"]; slug: Scalars["String"]["output"]; @@ -512,7 +520,7 @@ export type CategoryNode = { }; export type CategoryNodeCardsArgs = { - num: InputMaybe; + num?: InputMaybe; }; export type CategoryToSlugNode = { @@ -535,7 +543,7 @@ export type ChallengeQuestionNode = { incompleteChallengeCount: Scalars["Int"]["output"]; status: ChallengeQuestionStatusEnum; streakCount: Scalars["Int"]["output"]; - type: Maybe; + type?: Maybe; }; /** challenge question status enums */ @@ -548,42 +556,42 @@ export type ChallengeQuestionStatusEnum = export type ChallengeQuestionTypeEnum = "DAILY" | "WEEKLY"; export type ChannelNode = { - identifier: Maybe; - name: Maybe; - shortName: Maybe; + identifier?: Maybe; + name?: Maybe; + shortName?: Maybe; }; export type ChapterNode = { - description: Maybe; - descriptionText: Maybe; + description?: Maybe; + descriptionText?: Maybe; id: Scalars["ID"]["output"]; - isLocked: Maybe; - items: Maybe>>; + isLocked?: Maybe; + items?: Maybe>>; paidOnly: Scalars["Boolean"]["output"]; - shareEvent: Maybe; + shareEvent?: Maybe; slug: Scalars["String"]["output"]; title: Scalars["String"]["output"]; }; export type Checkin = { - checkedIn: Maybe; - error: Maybe; - ok: Maybe; + checkedIn?: Maybe; + error?: Maybe; + ok?: Maybe; }; export type CodeSnippetNode = { - code: Maybe; - lang: Maybe; - langSlug: Maybe; + code?: Maybe; + lang?: Maybe; + langSlug?: Maybe; }; export type CodingChallengeNode = { canApplyTimeTravelTicket: Scalars["Boolean"]["output"]; - card: Maybe; + card?: Maybe; challenges: Array; containsPremium: Scalars["Boolean"]["output"]; id: Scalars["ID"]["output"]; - questionOfToday: Maybe; + questionOfToday?: Maybe; startDate: Scalars["DateTime"]["output"]; }; @@ -595,42 +603,42 @@ export type CodingChallengeNodeV2 = { }; export type CodingChallengePollingNode = { - dccSubmissionInfo: Maybe; + dccSubmissionInfo?: Maybe; keepPolling: Scalars["Boolean"]["output"]; }; export type CodingChallengeSubmissionNode = { - dailyChallengeMedal: Maybe; - discussLink: Maybe; + dailyChallengeMedal?: Maybe; + discussLink?: Maybe; showCompleteModal: Scalars["Boolean"]["output"]; showTttModal: Scalars["Boolean"]["output"]; - streakCounter: Maybe; + streakCounter?: Maybe; }; export type CollectContestEasterEgg = { - ok: Maybe; + ok?: Maybe; }; export type CommentContribution = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type CommentNode = { children: Array; id: Scalars["Int"]["output"]; - index: Maybe; - intentionTag: Maybe; - lastComment: Maybe; + index?: Maybe; + intentionTag?: Maybe; + lastComment?: Maybe; nodebbPid: Scalars["Int"]["output"]; numChildren: Scalars["Int"]["output"]; /** Ineffective field: Don't query this field in a list */ - pageNum: Maybe; - parent: Maybe; - parentId: Maybe; - pinned: Maybe; - pinnedAt: Maybe; - pinnedBy: Maybe; + pageNum?: Maybe; + parent?: Maybe; + parentId?: Maybe; + pinned?: Maybe; + pinnedAt?: Maybe; + pinnedBy?: Maybe; post: PostNode; topic: TopicNode; }; @@ -656,11 +664,11 @@ export type CommonKeywordNode = { }; export type CommonTagNode = { - imgUrl: Maybe; + imgUrl?: Maybe; name: Scalars["String"]["output"]; - nameTranslated: Maybe; + nameTranslated?: Maybe; slug: Scalars["String"]["output"]; - tagType: Maybe; + tagType?: Maybe; }; export type CompanyNode = { @@ -670,11 +678,11 @@ export type CompanyNode = { }; export type CompanyQuestionDetailNode = { - companyQuestion: Maybe; + companyQuestion?: Maybe; frequency: Scalars["Float"]["output"]; - incVotedTotalNum: Maybe; - latestIncVote: Maybe; - periodVotedNum: Maybe; + incVotedTotalNum?: Maybe; + latestIncVote?: Maybe; + periodVotedNum?: Maybe; }; export type CompanyQuestionKeywordType = "ID" | "NAME"; @@ -685,26 +693,26 @@ export type CompanyQuestionListNode = { }; export type CompanyQuestionNode = { - frontendId: Maybe; - id: Maybe; - title: Maybe; - titleSlug: Maybe; + frontendId?: Maybe; + id?: Maybe; + title?: Maybe; + titleSlug?: Maybe; }; export type CompanyQuestionNodeV2 = { - adminVotedNum: Maybe; + adminVotedNum?: Maybe; frequency: Scalars["Float"]["output"]; frontendQuestionId: Scalars["String"]["output"]; - id: Maybe; + id?: Maybe; title: Scalars["String"]["output"]; - titleCn: Maybe; + titleCn?: Maybe; titleSlug: Scalars["String"]["output"]; - userVotedNum: Maybe; + userVotedNum?: Maybe; }; export type CompanyQuestionOptionsNode = { - positionOptions: Maybe>>; - timeOptions: Maybe>>; + positionOptions?: Maybe>>; + timeOptions?: Maybe>>; }; /** An enumeration. */ @@ -732,7 +740,7 @@ export type CompanyQuestionTimeOptionEnumV2 = | "THREE_MONTH"; export type CompanyQuestionTimeOptionsNode = { - name: Maybe; + name?: Maybe; /** 时间选项 */ option: CompanyQuestionTimeOptionEnumV2; }; @@ -748,7 +756,7 @@ export type CompanyTagConnection = { edges: Array>; /** Pagination data for this connection. */ pageInfo: PageInfo; - totalNum: Maybe; + totalNum?: Maybe; }; /** A Relay edge containing a `CompanyTag` and its cursor. */ @@ -756,7 +764,7 @@ export type CompanyTagEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type CompanyTagNode = { @@ -765,11 +773,11 @@ export type CompanyTagNode = { discussTopicTag: Array; favoriteSet: Array; favorites: Array; - frequencies: Maybe; - hotScore: Maybe; + frequencies?: Maybe; + hotScore?: Maybe; /** The ID of the object. */ id: Scalars["ID"]["output"]; - imgUrl: Maybe; + imgUrl?: Maybe; interviewTagsCategories: Array; /** Deprecated in Tag System. Still used by old products. */ isEnabled: Scalars["Boolean"]["output"]; @@ -781,31 +789,31 @@ export type CompanyTagNode = { isUserSelectable: Scalars["Boolean"]["output"]; keywords: Scalars["JSONString"]["output"]; name: Scalars["String"]["output"]; - order: Maybe; - questionCount: Maybe; - questionIds: Maybe>>; + order?: Maybe; + questionCount?: Maybe; + questionIds?: Maybe>>; questionapplicationSet: Array; - questions: Maybe>; + questions?: Maybe>; slug: Scalars["String"]["output"]; tagCategories: Array; tagId: Scalars["Int"]["output"]; /** Deprecated in Tag System. Still used by old products. */ - tagType: Maybe; - translatedName: Maybe; + tagType?: Maybe; + translatedName?: Maybe; }; export type CompleteFeatureGuide = { - error: Maybe; - ok: Maybe; - userStatus: Maybe; + error?: Maybe; + ok?: Maybe; + userStatus?: Maybe; }; export type CompleteSurvey = { - error: Maybe; + error?: Maybe; }; export type CompletionLikeNode = { - completion: Maybe; + completion?: Maybe; creationDate: Scalars["DateTime"]["output"]; id: Scalars["ID"]["output"]; isLike: Scalars["Boolean"]["output"]; @@ -822,9 +830,9 @@ export type CompletionNode = { export type ComplexityInfoNode = { complexity: Scalars["String"]["output"]; - displayName: Maybe; - funcStr: Maybe; - vote: Maybe; + displayName?: Maybe; + funcStr?: Maybe; + vote?: Maybe; }; /** An enumeration. */ @@ -842,87 +850,87 @@ export type ComplexityVoteEnum = | "UPVOTE"; export type ConfirmSchoolLogo = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type ContestAnnouncementNode = { content: Scalars["String"]["output"]; - currentlyVisible: Maybe; + currentlyVisible?: Maybe; expiryTime: Scalars["DateTime"]["output"]; id: Scalars["ID"]["output"]; pubDate: Scalars["DateTime"]["output"]; }; export type ContestDetailNode = { - duration: Maybe; - enableContestDynamicLayout: Maybe; - failCount: Maybe; - hasCompletedContest: Maybe; - isDynamicLayout: Maybe; - isVirtualContest: Maybe; - startTime: Maybe; - titleSlug: Maybe; + duration?: Maybe; + enableContestDynamicLayout?: Maybe; + failCount?: Maybe; + hasCompletedContest?: Maybe; + isDynamicLayout?: Maybe; + isVirtualContest?: Maybe; + startTime?: Maybe; + titleSlug?: Maybe; }; export type ContestNode = { - cardImg: Maybe; - company: Maybe; - containsPremium: Maybe; + cardImg?: Maybe; + company?: Maybe; + containsPremium?: Maybe; description: Scalars["String"]["output"]; /** in seconds */ duration: Scalars["Int"]["output"]; - isVirtual: Maybe; - originStartTime: Maybe; - questions: Maybe>>; + isVirtual?: Maybe; + originStartTime?: Maybe; + questions?: Maybe>>; rankingUpdated: Scalars["Boolean"]["output"]; sponsors: Array>; startTime: Scalars["Int"]["output"]; title: Scalars["String"]["output"]; - titleSlug: Maybe; + titleSlug?: Maybe; unrated: Scalars["Boolean"]["output"]; }; export type ContestQuestionDetailNode = { - languageList: Maybe>>; - question: Maybe; - statusList: Maybe>>; - submittableLanguageList: Maybe>>; - totalAc: Maybe; - totalAcUser: Maybe; - totalSubmission: Maybe; - totalTriedUser: Maybe; + languageList?: Maybe>>; + question?: Maybe; + statusList?: Maybe>>; + submittableLanguageList?: Maybe>>; + totalAc?: Maybe; + totalAcUser?: Maybe; + totalSubmission?: Maybe; + totalTriedUser?: Maybe; }; export type ContestQuestionNode = { credit: Scalars["Int"]["output"]; - questionId: Maybe; - title: Maybe; - titleSlug: Maybe; + questionId?: Maybe; + title?: Maybe; + titleSlug?: Maybe; }; export type ContestQuestionNodeV2 = { - canSeeQuestion: Maybe; - categoryTitle: Maybe; - codeSnippets: Maybe>>; - content: Maybe; + canSeeQuestion?: Maybe; + categoryTitle?: Maybe; + codeSnippets?: Maybe>>; + content?: Maybe; contentType: QuestionEditorTypeEnum; - contestQuestionNumber: Maybe; - difficulty: Maybe; - enableRunCode: Maybe; - enableSubmit: Maybe; - enableTestMode: Maybe; - envInfo: Maybe; + contestQuestionNumber?: Maybe; + difficulty?: Maybe; + enableRunCode?: Maybe; + enableSubmit?: Maybe; + enableTestMode?: Maybe; + envInfo?: Maybe; exampleTestcaseList: Array; - metaData: Maybe; - questionFrontendId: Maybe; - questionId: Maybe; - score: Maybe; - status: Maybe; - title: Maybe; - titleSlug: Maybe; - translatedContent: Maybe; - translatedTitle: Maybe; + metaData?: Maybe; + questionFrontendId?: Maybe; + questionId?: Maybe; + score?: Maybe; + status?: Maybe; + title?: Maybe; + titleSlug?: Maybe; + translatedContent?: Maybe; + translatedTitle?: Maybe; }; export type ContestRatingHistogramBarNode = { @@ -933,7 +941,7 @@ export type ContestRatingHistogramBarNode = { }; export type ContestReportBannedNode = { - banDuration: Maybe; + banDuration?: Maybe; user: UserNode; }; @@ -995,137 +1003,137 @@ export type ContestRootBannerNode = { }; export type ContestSubmissionListNode = { - hasNext: Maybe; - lastKey: Maybe; - submissions: Maybe>>; + hasNext?: Maybe; + lastKey?: Maybe; + submissions?: Maybe>>; }; export type ContestSubmissionNodeV2 = { - flagType: Maybe; - hasNotes: Maybe; - id: Maybe; - isPending: Maybe; - lang: Maybe; - langName: Maybe; - langVerboseName: Maybe; - memory: Maybe; - notes: Maybe; - penalty: Maybe; - runtime: Maybe; - status: Maybe; - statusDisplay: Maybe; - time: Maybe; - timestamp: Maybe; - title: Maybe; - titleSlug: Maybe; - topicTags: Maybe>>; - url: Maybe; + flagType?: Maybe; + hasNotes?: Maybe; + id?: Maybe; + isPending?: Maybe; + lang?: Maybe; + langName?: Maybe; + langVerboseName?: Maybe; + memory?: Maybe; + notes?: Maybe; + penalty?: Maybe; + runtime?: Maybe; + status?: Maybe; + statusDisplay?: Maybe; + time?: Maybe; + timestamp?: Maybe; + title?: Maybe; + titleSlug?: Maybe; + topicTags?: Maybe>>; + url?: Maybe; }; export type ContributionNode = { - application: Maybe; + application?: Maybe; applyDate: Scalars["DateTime"]["output"]; - category: Maybe; - date: Maybe; + category?: Maybe; + date?: Maybe; id: Scalars["ID"]["output"]; lastModified: Scalars["DateTime"]["output"]; - library: Maybe; - payload: Maybe; - status: Maybe; - topic: Maybe; + library?: Maybe; + payload?: Maybe; + status?: Maybe; + topic?: Maybe; user: PrivateContestUserNode; }; export type ContributorNode = { - avatarUrl: Maybe; - profileUrl: Maybe; - username: Maybe; + avatarUrl?: Maybe; + profileUrl?: Maybe; + username?: Maybe; }; export type CreateCodeErrorHint = { - completion: Maybe; - error: Maybe; + completion?: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type CreateComment = { - comment: Maybe; - commentId: Maybe; - error: Maybe; - ok: Maybe; + comment?: Maybe; + commentId?: Maybe; + error?: Maybe; + ok?: Maybe; }; export type CreateCompletionLike = { - completionLike: Maybe; - error: Maybe; + completionLike?: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type CreateContribution = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type CreateEmail = { - email: Maybe; - error: Maybe; - ok: Maybe; + email?: Maybe; + error?: Maybe; + ok?: Maybe; }; export type CreateIdeDynamicLayout = { - error: Maybe; - layout: Maybe; + error?: Maybe; + layout?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type CreateOrUpdateEditorialFeedback = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type CreateOrUpdateEmailEvent = { - emailEvent: Maybe; - errors: Maybe; - ok: Maybe; - wasCreated: Maybe; + emailEvent?: Maybe; + errors?: Maybe; + ok?: Maybe; + wasCreated?: Maybe; }; /** obtain the new annual medals */ export type CreateOrUpdateUserYearlyMedals = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type CreatePlayground = { - error: Maybe; - ok: Maybe; - uuid: Maybe; + error?: Maybe; + ok?: Maybe; + uuid?: Maybe; }; export type CreatePlaygroundFolder = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type CreateTopic = { - error: Maybe; - id: Maybe; - ok: Maybe; + error?: Maybe; + id?: Maybe; + ok?: Maybe; }; export type CreateTopicForContest = { - error: Maybe; - topic: Maybe; + error?: Maybe; + topic?: Maybe; }; export type CreateTopicForQuestion = { - error: Maybe; - topic: Maybe; + error?: Maybe; + topic?: Maybe; }; export type CreateTopicWithCategory = { - error: Maybe; - topic: Maybe; + error?: Maybe; + topic?: Maybe; }; export type CreditCardLogNode = { @@ -1143,13 +1151,13 @@ export type CreditCardStatus = | "DELETED"; export type CurrentSubscriptionInfo = { - billingEmail: Maybe; - cardCountryCode: Maybe; - creditAmount: Maybe; - currentPeriodEnd: Maybe; - currentPlan: Maybe; - hasStudentPlan: Maybe; - paymentMethod: Maybe; + billingEmail?: Maybe; + cardCountryCode?: Maybe; + creditAmount?: Maybe; + currentPeriodEnd?: Maybe; + currentPlan?: Maybe; + hasStudentPlan?: Maybe; + paymentMethod?: Maybe; }; export type DailyChallengeNode = { @@ -1189,11 +1197,11 @@ export type DebuggerLanguageFeatureNode = { /** user apply to delete account, account gets frozen after success */ export type DeleteAccount = { ok: Scalars["Boolean"]["output"]; - planDeleteDate: Maybe; + planDeleteDate?: Maybe; }; export type DeleteAccountInput = { - otherReason: InputMaybe; + otherReason?: InputMaybe; reason: DeleteAccountReason; usernameOrEmail: Scalars["String"]["input"]; }; @@ -1212,94 +1220,94 @@ export type DeleteAccountReason = | "START_OVER"; export type DeleteCodeFromPlayground = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteComment = { - error: Maybe; - ok: Maybe; - post: Maybe; + error?: Maybe; + ok?: Maybe; + post?: Maybe; }; export type DeleteComments = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteEducation = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteEmail = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteFavoriteV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type DeleteIdeDynamicLayout = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type DeleteNote = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteOccupation = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeletePlayground = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeletePlaygroundFolder = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteReportedPost = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteSocial = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteTeamMember = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteTopic = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteTopics = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DeleteUserRequestInput = { - endDate: InputMaybe; - limit: Scalars["Int"]["input"]; + endDate?: InputMaybe; + limit?: Scalars["Int"]["input"]; skip: Scalars["Int"]["input"]; - startDate: InputMaybe; - userEmail: InputMaybe; - userId: InputMaybe; - username: InputMaybe; + startDate?: InputMaybe; + userEmail?: InputMaybe; + userId?: InputMaybe; + username?: InputMaybe; }; export type DeleteUserRequestListNode = { @@ -1309,14 +1317,14 @@ export type DeleteUserRequestListNode = { }; export type DeleteUserRequestNode = { - avatar: Maybe; - deactivatedAt: Maybe; - frozenAt: Maybe; - otherReason: Maybe; + avatar?: Maybe; + deactivatedAt?: Maybe; + frozenAt?: Maybe; + otherReason?: Maybe; primaryEmail: Scalars["String"]["output"]; - realName: Maybe; - reason: Maybe; - status: Maybe; + realName?: Maybe; + reason?: Maybe; + status?: Maybe; userId: Scalars["ID"]["output"]; username: Scalars["String"]["output"]; }; @@ -1354,15 +1362,15 @@ export type DiscountEventBannerNode = { }; export type DiscountEventNode = { - banners: Maybe>>; - couponCode: Maybe; + banners?: Maybe>>; + couponCode?: Maybe; creationDate: Scalars["DateTime"]["output"]; description: Scalars["String"]["output"]; discounteventbannerSet: Array; duration: Scalars["Int"]["output"]; id: Scalars["ID"]["output"]; name: Scalars["String"]["output"]; - ogImage: Maybe; + ogImage?: Maybe; seoDescription: Scalars["String"]["output"]; seoTitle: Scalars["String"]["output"]; startTime: Scalars["DateTime"]["output"]; @@ -1371,8 +1379,8 @@ export type DiscountEventNode = { }; export type DiscountEventRegister = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type DiscussAnnouncementNode = { @@ -1384,11 +1392,11 @@ export type DiscussAnnouncementNode = { }; export type DiscussCategoryNode = { - announcement: Maybe; + announcement?: Maybe; anonymousEnabled: Scalars["Boolean"]["output"]; canModerate: Scalars["Boolean"]["output"]; canRewardPosts: Scalars["Boolean"]["output"]; - description: Maybe; + description?: Maybe; id: Scalars["Int"]["output"]; numTopics: Scalars["Int"]["output"]; path: Scalars["String"]["output"]; @@ -1396,7 +1404,7 @@ export type DiscussCategoryNode = { slug: Scalars["String"]["output"]; subcategories: Array; title: Scalars["String"]["output"]; - titleLink: Maybe; + titleLink?: Maybe; }; export type DiscussTopicTagNode = { @@ -1405,37 +1413,37 @@ export type DiscussTopicTagNode = { numTopics: Scalars["Int"]["output"]; order: Scalars["Int"]["output"]; slug: Scalars["String"]["output"]; - tagFk: Maybe; - tagType: Maybe; + tagFk?: Maybe; + tagType?: Maybe; topicSet: Array; }; export type DiscussTopicTagNodeNumTopicsArgs = { - otherTag: InputMaybe; + otherTag?: InputMaybe; }; export type EducationRecordNode = { - degree: Maybe; - endTime: Maybe; + degree?: Maybe; + endTime?: Maybe; id: Scalars["ID"]["output"]; - startTime: Maybe; + startTime?: Maybe; toPresent: Scalars["Boolean"]["output"]; - unverifiedOrganizationName: Maybe; + unverifiedOrganizationName?: Maybe; user: PrivateContestUserNode; }; export type EmailEventNode = { emailsendsessionSet: Array; id: Scalars["ID"]["output"]; - minInterval: Maybe; - notificationIdentifier: Maybe; + minInterval?: Maybe; + notificationIdentifier?: Maybe; slug: Scalars["String"]["output"]; - sqlQuery: Maybe; - template: Maybe; - templateId: Maybe; + sqlQuery?: Maybe; + template?: Maybe; + templateId?: Maybe; title: Scalars["String"]["output"]; - truncatedUsers: Maybe>>; - userFilter: Maybe; + truncatedUsers?: Maybe>>; + userFilter?: Maybe; }; export type EmailNode = { @@ -1446,35 +1454,35 @@ export type EmailNode = { export type EmailOpenNode = { email: Scalars["String"]["output"]; - extraInfo: Maybe; + extraInfo?: Maybe; id: Scalars["ID"]["output"]; - session: Maybe; - time: Maybe; + session?: Maybe; + time?: Maybe; }; export type EmailSendSessionNode = { - clicksPerLink: Maybe; - conversionData: Maybe; - emailsLeft: Maybe; + clicksPerLink?: Maybe; + conversionData?: Maybe; + emailsLeft?: Maybe; event: EmailEventNode; - eventTitle: Maybe; - groupName: Maybe; + eventTitle?: Maybe; + groupName?: Maybe; id: Scalars["ID"]["output"]; - numClicks: Maybe; - numOpens: Maybe; - numOpensPerHour: Maybe; + numClicks?: Maybe; + numOpens?: Maybe; + numOpensPerHour?: Maybe; numSent: Scalars["Int"]["output"]; opens: Array; - overallClickThroughRate: Maybe; - startTime: Maybe; + overallClickThroughRate?: Maybe; + startTime?: Maybe; template: EmailTemplateNode; - totalSent: Maybe; + totalSent?: Maybe; }; export type EmailTemplateNode = { /** Resolves the following template variables automatically:
  • blocks
  • current_year
  • next_biweekly_contest_formatted_date
  • next_biweekly_contest_time_by_timezone
  • next_biweekly_contest_time_url
  • next_biweekly_contest_title
  • next_biweekly_contest_title_slug
  • next_biweekly_contest_url
  • next_contest_formatted_date
  • next_contest_time_by_timezone
  • next_contest_time_url
  • next_contest_title
  • next_contest_title_slug
  • next_contest_url
  • next_javascript_dcc_day
  • next_javascript_dcc_editorial_link
  • next_javascript_dcc_link
  • q_description
  • q_difficulty_mandarin
  • q_difficulty_w_article
  • q_num_ac_subs
  • real_name
  • site_base_url
  • storage_base_url
  • suggested_q_slug
  • suggested_q_title
  • unsubscribe_url
  • username
*/ content: Scalars["String"]["output"]; - conversionTargetUrlTemplates: Maybe; + conversionTargetUrlTemplates?: Maybe; emailSubject: Scalars["String"]["output"]; emaileventSet: Array; emailsendsessionSet: Array; @@ -1483,7 +1491,7 @@ export type EmailTemplateNode = { }; export type EndSession = { - session: Maybe; + session?: Maybe; }; /** An enumeration. */ @@ -1500,24 +1508,24 @@ export type FavoriteBriefListNode = { }; export type FavoriteBriefNode = { - coverBackgroundColor: Maybe; - coverEmoji: Maybe; - coverUrl: Maybe; - favoriteType: Maybe; - generateFromFavoriteSlug: Maybe; - generatedFavoritesInfo: Maybe; - hasCurrentQuestion: Maybe; + coverBackgroundColor?: Maybe; + coverEmoji?: Maybe; + coverUrl?: Maybe; + favoriteType?: Maybe; + generateFromFavoriteSlug?: Maybe; + generatedFavoritesInfo?: Maybe; + hasCurrentQuestion?: Maybe; isPublicFavorite: Scalars["Boolean"]["output"]; - lastQuestionAddedAt: Maybe; + lastQuestionAddedAt?: Maybe; name: Scalars["String"]["output"]; slug: Scalars["String"]["output"]; - viewCount: Maybe; + viewCount?: Maybe; }; export type FavoriteBriefUserNode = { realName: Scalars["String"]["output"]; userAvatar: Scalars["String"]["output"]; - userName: Maybe; + userName?: Maybe; userSlug: Scalars["String"]["output"]; }; @@ -1530,38 +1538,38 @@ export type FavoriteDetailListNode = { export type FavoriteDetailNode = { collectCount: Scalars["Int"]["output"]; /** only for C.N. side */ - companyLegalName: Maybe; + companyLegalName?: Maybe; companyVerified: Scalars["Boolean"]["output"]; - coverBackgroundColor: Maybe; - coverEmoji: Maybe; - coverUrl: Maybe; + coverBackgroundColor?: Maybe; + coverEmoji?: Maybe; + coverUrl?: Maybe; creator: FavoriteBriefUserNode; description: Scalars["String"]["output"]; /** user unlock favorite status */ - favoriteLockStatus: Maybe; - favoriteType: Maybe; + favoriteLockStatus?: Maybe; + favoriteType?: Maybe; /** only for C.N. side */ - financingStageDisplay: Maybe; - generateFromFavoriteSlug: Maybe; - generatedFavoritesInfo: Maybe; - hasCurrentQuestion: Maybe; + financingStageDisplay?: Maybe; + generateFromFavoriteSlug?: Maybe; + generatedFavoritesInfo?: Maybe; + hasCurrentQuestion?: Maybe; /** only for C.N. side */ - industryDisplay: Maybe; + industryDisplay?: Maybe; isDefaultList: Scalars["Boolean"]["output"]; isPublicFavorite: Scalars["Boolean"]["output"]; /** for smart list */ - languageTagSlug: Maybe; + languageTagSlug?: Maybe; lastModified: Scalars["DateTime"]["output"]; - lastQuestionAddedAt: Maybe; + lastQuestionAddedAt?: Maybe; name: Scalars["String"]["output"]; - positionRoleTags: Maybe>; + positionRoleTags?: Maybe>; questionNumber: Scalars["Int"]["output"]; /** only for C.N. side */ - scaleDisplay: Maybe; + scaleDisplay?: Maybe; slug: Scalars["String"]["output"]; - viewCount: Maybe; + viewCount?: Maybe; /** only for C.N. side */ - website: Maybe; + website?: Maybe; }; /** An enumeration. */ @@ -1587,61 +1595,63 @@ export type FavoriteLockStatusEnum = export type FavoriteNode = { acStats: Array; children: Array; - companyTag: Maybe; - coverUrl: Maybe; + companyTag?: Maybe; + coverUrl?: Maybe; created: Scalars["DateTime"]["output"]; creator: Scalars["String"]["output"]; description: Scalars["String"]["output"]; - extraInfo: Maybe; - favoriteType: Maybe; - forkFrom: Maybe; + extraInfo?: Maybe; + favoriteType?: Maybe; + forkFrom?: Maybe; generatedFavorites: Array; - generatedFrom: Maybe; + generatedFrom?: Maybe; id: Scalars["ID"]["output"]; idHash: Scalars["String"]["output"]; isPublicFavorite: Scalars["Boolean"]["output"]; isWatched: Scalars["Boolean"]["output"]; lastModified: Scalars["DateTime"]["output"]; - lastQuestionAddedAt: Maybe; + lastQuestionAddedAt?: Maybe; name: Scalars["String"]["output"]; order: Scalars["Int"]["output"]; publicId: Scalars["String"]["output"]; questionCount: Scalars["Int"]["output"]; questions: Array; - slug: Maybe; + slug?: Maybe; tags: Array>; uuid: Scalars["UUID"]["output"]; viewCount: Scalars["Int"]["output"]; }; export type FavoriteQuestionFilterInput = { - difficultyList: InputMaybe>>; - limit: InputMaybe; - positionRoleTagSlug: InputMaybe; - questionStatusList: InputMaybe>>; - skip: InputMaybe; + difficultyList?: InputMaybe>>; + limit?: InputMaybe; + positionRoleTagSlug?: InputMaybe; + questionStatusList?: InputMaybe< + Array> + >; + skip?: InputMaybe; }; export type FavoriteQuestionListNode = { - hasMore: Maybe; + hasMore?: Maybe; questions: Array; - totalLength: Maybe; + totalLength?: Maybe; }; export type FavoriteQuestionNode = { difficulty: DifficultyDescribedEnum; /** 出题频率,企业题单专用字段 */ - frequency: Maybe; + frequency?: Maybe; id: Scalars["ID"]["output"]; /** whether the question is in the user's favorites */ isInMyFavorites: Scalars["Boolean"]["output"]; paidOnly: Scalars["Boolean"]["output"]; questionFrontendId: Scalars["String"]["output"]; - status: Maybe; + status?: Maybe; title: Scalars["String"]["output"]; titleSlug: Scalars["String"]["output"]; - topicTags: Maybe>; - translatedTitle: Maybe; + topicTags?: Maybe>; + translatedTitle?: Maybe; }; /** An enumeration. */ @@ -1668,11 +1678,11 @@ export type FavoriteTypeEnum = | "SMART_LIST"; export type FavoritesNode = { - allFavorites: Maybe>>; - officialFavorites: Maybe>>; - privateFavorites: Maybe>>; - publicFavorites: Maybe>>; - watchedFavorites: Maybe>>; + allFavorites?: Maybe>>; + officialFavorites?: Maybe>>; + privateFavorites?: Maybe>>; + publicFavorites?: Maybe>>; + watchedFavorites?: Maybe>>; }; /** An enumeration. */ @@ -1686,70 +1696,70 @@ export type FeatureGuideType = | "QUESTION_DETAIL_TOUR_WITH_AUTOCOMPLETE"; export type FeatureNode = { - autocompleteLanguages: Maybe; - chinaProblemDiscuss: Maybe; - cnJobs: Maybe; - contest: Maybe; - dangerZone: Maybe; - discuss: Maybe; - enableAiHelper: Maybe; - enableAllQuestionsRaw: Maybe; - enableAutocomplete: Maybe; - enableAutocompletePremium: Maybe; - enableCfTurnstile: Maybe; - enableChannels: Maybe; - enableCodingChallengeV2: Maybe; - enableDebugger: Maybe; - enableDebuggerPremium: Maybe; - enableFrontendCategory: Maybe; - enableIndiaPricing: Maybe; - enableLcIde: Maybe; - enableLegacyStudyPlanEntry: Maybe; - enableNewPlanRankBoardAccess: Maybe; - enableNewProfile: Maybe; - enableNewQdPage: Maybe; - enableNewStudyPlan: Maybe; - enableRecaptchaV3: Maybe; - enableReferralDiscount: Maybe; - enableSharedWorker: Maybe; - enableStoreShippingForm: Maybe; - interview: Maybe; - maxTimeTravelTicketCount: Maybe; - mockInterview: Maybe; - questionTranslation: Maybe; - signUp: Maybe; - socialProviders: Maybe; - store: Maybe; - studentFooter: Maybe; - subscription: Maybe; + autocompleteLanguages?: Maybe; + chinaProblemDiscuss?: Maybe; + cnJobs?: Maybe; + contest?: Maybe; + dangerZone?: Maybe; + discuss?: Maybe; + enableAiHelper?: Maybe; + enableAllQuestionsRaw?: Maybe; + enableAutocomplete?: Maybe; + enableAutocompletePremium?: Maybe; + enableCfTurnstile?: Maybe; + enableChannels?: Maybe; + enableCodingChallengeV2?: Maybe; + enableDebugger?: Maybe; + enableDebuggerPremium?: Maybe; + enableFrontendCategory?: Maybe; + enableIndiaPricing?: Maybe; + enableLcIde?: Maybe; + enableLegacyStudyPlanEntry?: Maybe; + enableNewPlanRankBoardAccess?: Maybe; + enableNewProfile?: Maybe; + enableNewQdPage?: Maybe; + enableNewStudyPlan?: Maybe; + enableRecaptchaV3?: Maybe; + enableReferralDiscount?: Maybe; + enableSharedWorker?: Maybe; + enableStoreShippingForm?: Maybe; + interview?: Maybe; + maxTimeTravelTicketCount?: Maybe; + mockInterview?: Maybe; + questionTranslation?: Maybe; + signUp?: Maybe; + socialProviders?: Maybe; + store?: Maybe; + studentFooter?: Maybe; + subscription?: Maybe; }; export type FeaturedQuestionListNode = { acStats: Array; children: Array; - companyTag: Maybe; - coverUrl: Maybe; + companyTag?: Maybe; + coverUrl?: Maybe; created: Scalars["DateTime"]["output"]; creator: Scalars["String"]["output"]; description: Scalars["String"]["output"]; - extraInfo: Maybe; - favoriteType: Maybe; - forkFrom: Maybe; + extraInfo?: Maybe; + favoriteType?: Maybe; + forkFrom?: Maybe; generatedFavorites: Array; - generatedFrom: Maybe; + generatedFrom?: Maybe; id: Scalars["ID"]["output"]; idHash: Scalars["String"]["output"]; isPaidOnly: Scalars["Boolean"]["output"]; isPublicFavorite: Scalars["Boolean"]["output"]; isWatched: Scalars["Boolean"]["output"]; lastModified: Scalars["DateTime"]["output"]; - lastQuestionAddedAt: Maybe; + lastQuestionAddedAt?: Maybe; name: Scalars["String"]["output"]; order: Scalars["Int"]["output"]; publicId: Scalars["String"]["output"]; questionCount: Scalars["Int"]["output"]; questions: Array; - slug: Maybe; + slug?: Maybe; tags: Array>; uuid: Scalars["UUID"]["output"]; viewCount: Scalars["Int"]["output"]; @@ -1758,8 +1768,8 @@ export type FeaturedQuestionListNode = { export type FeedBackMetaNode = { maxScore: Scalars["Int"]["output"]; name: Scalars["String"]["output"]; - options: Maybe>; - questionContent: Maybe; + options?: Maybe>; + questionContent?: Maybe; }; export type FeedBackOptionNode = { @@ -1777,24 +1787,24 @@ export type FeedbackOrderByEnum = export type FilteredSubmissionNode = { code: Scalars["String"]["output"]; - codeOutput: Maybe; - compareResult: Maybe; - contest: Maybe; + codeOutput?: Maybe; + compareResult?: Maybe; + contest?: Maybe; date: Scalars["DateTime"]["output"]; id: Scalars["ID"]["output"]; - lang: Maybe; - memoryComplexity: Maybe; + lang?: Maybe; + memoryComplexity?: Maybe; question: QuestionNode; - runtime: Maybe; - status: Maybe; - timeComplexity: Maybe; - totalCorrect: Maybe; + runtime?: Maybe; + status?: Maybe; + timeComplexity?: Maybe; + totalCorrect?: Maybe; user: PrivateContestUserNode; }; export type FilteredSubmissionOverviewNode = { - pages: Maybe; - submissions: Maybe>>; + pages?: Maybe; + submissions?: Maybe>>; }; export type FilteredSubmissionOverviewNodeSubmissionsArgs = { @@ -1804,21 +1814,21 @@ export type FilteredSubmissionOverviewNodeSubmissionsArgs = { }; export type FlagInput = { - description: InputMaybe; - reasonId: InputMaybe; + description?: InputMaybe; + reasonId?: InputMaybe; resourceId: Scalars["String"]["input"]; resourceType: ResourceTypeEnum; }; export type FlagNode = { description: Scalars["String"]["output"]; - reason: Maybe; + reason?: Maybe; reporter: PrivateContestUserNode; }; export type FlagPost = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type FlagReasonNode = { @@ -1829,7 +1839,7 @@ export type FlagReasonNode = { export type FlagResultNode = { created: Scalars["DateTime"]["output"]; modified: Scalars["DateTime"]["output"]; - reviewer: Maybe; + reviewer?: Maybe; status: FlagResultStatus; }; @@ -1845,13 +1855,13 @@ export type FlagResultStatus = | "A_3"; export type FlagSetContentStatus = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type FlagSomething = { - error: Maybe; - flag: Maybe; + error?: Maybe; + flag?: Maybe; ok: Scalars["Boolean"]["output"]; }; @@ -1871,7 +1881,7 @@ export type FlaggedObjectConnection = { edges: Array>; /** Pagination data for this connection. */ pageInfo: PageInfo; - totalNum: Maybe; + totalNum?: Maybe; }; /** A Relay edge containing a `FlaggedObject` and its cursor. */ @@ -1879,7 +1889,7 @@ export type FlaggedObjectEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type FlaggedObjectListOrderByEnum = @@ -1890,48 +1900,48 @@ export type FlaggedObjectNode = { firstFlaggedTime: Scalars["DateTime"]["output"]; flagResult: FlagResultNode; flaggedCount: Scalars["Int"]["output"]; - reasons: Maybe>; + reasons?: Maybe>; summary: Scalars["String"]["output"]; }; export type ForkFavoriteV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; - slug: Maybe; + slug?: Maybe; }; export type FrontendQuestionResultNode = { - actual: Maybe; - codePreview: Maybe; - errorMessage: Maybe; - expected: Maybe; - failingLine: Maybe; + actual?: Maybe; + codePreview?: Maybe; + errorMessage?: Maybe; + expected?: Maybe; + failingLine?: Maybe; passed: Scalars["Boolean"]["output"]; - shortError: Maybe; - showDiff: Maybe; - stdout: Maybe; - testFn: Maybe; + shortError?: Maybe; + showDiff?: Maybe; + stdout?: Maybe; + testFn?: Maybe; title: Scalars["String"]["output"]; }; export type GeneratedFavoritesInfoNode = { - categoriesToSlugs: Maybe>; - defaultFavoriteSlug: Maybe; + categoriesToSlugs?: Maybe>; + defaultFavoriteSlug?: Maybe; }; export type GetOrCreateExploreSession = { - cardId: Maybe; - errors: Maybe; - ok: Maybe; - progress: Maybe; + cardId?: Maybe; + errors?: Maybe; + ok?: Maybe; + progress?: Maybe; }; export type GlobalRankingNode = { - myRank: Maybe; - page: Maybe; - rankingNodes: Maybe>>; - totalUsers: Maybe; - userPerPage: Maybe; + myRank?: Maybe; + page?: Maybe; + rankingNodes?: Maybe>>; + totalUsers?: Maybe; + userPerPage?: Maybe; }; /** An enumeration. */ @@ -1944,13 +1954,13 @@ export type Group = | "library_admin"; export type HandleUserReports = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type HideComments = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type HideLastTestcasesNode = { @@ -1960,32 +1970,32 @@ export type HideLastTestcasesNode = { }; export type HidePost = { - error: Maybe; - ok: Maybe; - post: Maybe; + error?: Maybe; + ok?: Maybe; + post?: Maybe; }; export type HideTopicFromTrending = { - ok: Maybe; - topic: Maybe; + ok?: Maybe; + topic?: Maybe; }; export type HideTopics = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type HitResource = { - count: Maybe; - error: Maybe; + count?: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type HtmlArticleNode = { - editLink: Maybe; + editLink?: Maybe; html: Scalars["String"]["output"]; id: Scalars["ID"]["output"]; - originalLink: Maybe; + originalLink?: Maybe; paidOnly: Scalars["Boolean"]["output"]; }; @@ -2023,13 +2033,13 @@ export type InterviewAnalysisStatus = | "SKIPPED"; export type InterviewCardNode = { - company: Maybe; - hasNewInterview: Maybe; + company?: Maybe; + hasNewInterview?: Maybe; id: Scalars["ID"]["output"]; - numInterview: Maybe; - numParticipants: Maybe; - numPass: Maybe; - stage: Maybe; + numInterview?: Maybe; + numParticipants?: Maybe; + numPass?: Maybe; + stage?: Maybe; }; export type InterviewCompanyGlobalScoreNode = { @@ -2039,20 +2049,20 @@ export type InterviewCompanyGlobalScoreNode = { export type InterviewCompanyNode = { id: Scalars["ID"]["output"]; - imgUrl: Maybe; + imgUrl?: Maybe; name: Scalars["String"]["output"]; stage: CompanyStage; }; export type InterviewCompanyOption = { - id: Maybe; + id?: Maybe; keywords: Array; - name: Maybe; - slug: Maybe; + name?: Maybe; + slug?: Maybe; }; export type InterviewEnd = { - session: Maybe; + session?: Maybe; }; export type InterviewGlobalStatsNode = { @@ -2062,28 +2072,28 @@ export type InterviewGlobalStatsNode = { export type InterviewNode = { company: InterviewCompanyNode; - createTime: Maybe; + createTime?: Maybe; disabled: Scalars["Boolean"]["output"]; id: Scalars["ID"]["output"]; premiumOnly: Scalars["Boolean"]["output"]; questions: Array; sessionSet: InterviewSessionNodeConnection; /** in seconds */ - timeConstraint: Maybe; - updateTime: Maybe; + timeConstraint?: Maybe; + updateTime?: Maybe; }; export type InterviewNodeSessionSetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type InterviewProgressNode = { id: Scalars["ID"]["output"]; - lastSavedCode: Maybe; + lastSavedCode?: Maybe; questionId: Scalars["ID"]["output"]; status: ProgressStatus; }; @@ -2091,26 +2101,26 @@ export type InterviewProgressNode = { export type InterviewQuestionReportNode = { content: Scalars["String"]["output"]; questionId: Scalars["String"]["output"]; - submission: Maybe; + submission?: Maybe; submissionHistory: InterviewSubmissionConnection; }; export type InterviewQuestionReportNodeSubmissionHistoryArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - skip: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; }; export type InterviewReportNode = { analysisStatus: InterviewAnalysisStatus; - distribution: Maybe>>>; + distribution?: Maybe>>>; hasRequestedEmail: Scalars["Boolean"]["output"]; isDuplicateAttempt: Scalars["Boolean"]["output"]; - percentile: Maybe; + percentile?: Maybe; questions: Array; - score: Maybe; + score?: Maybe; }; export type InterviewScoreProgressNode = { @@ -2123,7 +2133,7 @@ export type InterviewSessionConnection = { edges: Array>; /** Pagination data for this connection. */ pageInfo: PageInfo; - totalNum: Maybe; + totalNum?: Maybe; }; /** A Relay edge containing a `InterviewSession` and its cursor. */ @@ -2131,7 +2141,7 @@ export type InterviewSessionEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type InterviewSessionNode = { @@ -2160,16 +2170,16 @@ export type InterviewSessionNodeEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type InterviewStageOption = { - id: Maybe; - name: Maybe; + id?: Maybe; + name?: Maybe; }; export type InterviewStart = { - session: Maybe; + session?: Maybe; }; export type InterviewSubmissionConnection = { @@ -2177,7 +2187,7 @@ export type InterviewSubmissionConnection = { edges: Array>; /** Pagination data for this connection. */ pageInfo: PageInfo; - totalNum: Maybe; + totalNum?: Maybe; }; /** A Relay edge containing a `InterviewSubmission` and its cursor. */ @@ -2185,45 +2195,45 @@ export type InterviewSubmissionEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type InterviewSubmissionNode = { - code: Maybe; + code?: Maybe; /** The ID of the object. */ id: Scalars["ID"]["output"]; - isPending: Maybe; - lang: Maybe; - memory: Maybe; - numCorrect: Maybe; - runtime: Maybe; - statusDisplay: Maybe; - timestamp: Maybe; - total: Maybe; + isPending?: Maybe; + lang?: Maybe; + memory?: Maybe; + numCorrect?: Maybe; + runtime?: Maybe; + statusDisplay?: Maybe; + timestamp?: Maybe; + total?: Maybe; }; export type InterviewSurveyNode = { - companies: Maybe>>; - interviewedUrl: Maybe; - popularCompanies: Maybe>>; - positions: Maybe>; - stageOptions: Maybe>>; - timeOptions: Maybe>>; + companies?: Maybe>>; + interviewedUrl?: Maybe; + popularCompanies?: Maybe>>; + positions?: Maybe>; + stageOptions?: Maybe>>; + timeOptions?: Maybe>>; }; export type InterviewTagsCategoryNode = { - description: Maybe; + description?: Maybe; exploreCards: Array; id: Scalars["ID"]["output"]; name: Scalars["String"]["output"]; - score: Maybe; + score?: Maybe; suggestedQuestions: Array; }; export type InterviewTagsCategoryScoreNode = { category: InterviewTagsCategoryNode; creationDate: Scalars["DateTime"]["output"]; - distribution: Maybe>>>; + distribution?: Maybe>>>; id: Scalars["ID"]["output"]; percentile: Scalars["Float"]["output"]; score: Scalars["Float"]["output"]; @@ -2232,78 +2242,78 @@ export type InterviewTagsCategoryScoreNode = { }; export type InterviewTimeOption = { - id: Maybe; - name: Maybe; + id?: Maybe; + name?: Maybe; }; export type InterviewedStatsInput = { - companyId: InputMaybe; - companyName: InputMaybe; + companyId?: InputMaybe; + companyName?: InputMaybe; interviewedStatsId: Scalars["Int"]["input"]; - isInterviewed: InputMaybe; - positionTagSlug: InputMaybe; + isInterviewed?: InputMaybe; + positionTagSlug?: InputMaybe; questionId: Scalars["String"]["input"]; - stageOption: InputMaybe; - timeOption: InputMaybe; + stageOption?: InputMaybe; + timeOption?: InputMaybe; }; export type InterviewedStatsPost = { - error: Maybe; - interviewedStatsId: Maybe; - ok: Maybe; + error?: Maybe; + interviewedStatsId?: Maybe; + ok?: Maybe; }; export type ItemBaseNode = { - article: Maybe; - cardTitle: Maybe; + article?: Maybe; + cardTitle?: Maybe; chapter: ChapterNode; - chapterId: Maybe; - chapterTitle: Maybe; - completedWithTimeTravelTicket: Maybe; - hasAppliedTimeTravelTicket: Maybe; - htmlArticle: Maybe; + chapterId?: Maybe; + chapterTitle?: Maybe; + completedWithTimeTravelTicket?: Maybe; + hasAppliedTimeTravelTicket?: Maybe; + htmlArticle?: Maybe; id: Scalars["ID"]["output"]; - info: Maybe; - isComplete: Maybe; + info?: Maybe; + isComplete?: Maybe; isEligibleForCompletion: Scalars["Boolean"]["output"]; - lang: Maybe; - numUsersCompleted: Maybe; - numUsersStarted: Maybe; - paidOnly: Maybe; - question: Maybe; - type: Maybe; - users: Maybe; - verboseLang: Maybe; - video: Maybe; - webPage: Maybe; + lang?: Maybe; + numUsersCompleted?: Maybe; + numUsersStarted?: Maybe; + paidOnly?: Maybe; + question?: Maybe; + type?: Maybe; + users?: Maybe; + verboseLang?: Maybe; + video?: Maybe; + webPage?: Maybe; }; export type ItemNode = { - article: Maybe; - cardTitle: Maybe; + article?: Maybe; + cardTitle?: Maybe; chapter: ChapterNode; - chapterId: Maybe; - chapterTitle: Maybe; - completedWithTimeTravelTicket: Maybe; - hasAppliedTimeTravelTicket: Maybe; - htmlArticle: Maybe; + chapterId?: Maybe; + chapterTitle?: Maybe; + completedWithTimeTravelTicket?: Maybe; + hasAppliedTimeTravelTicket?: Maybe; + htmlArticle?: Maybe; id: Scalars["ID"]["output"]; - info: Maybe; - isComplete: Maybe; + info?: Maybe; + isComplete?: Maybe; isEligibleForCompletion: Scalars["Boolean"]["output"]; isLocked: Scalars["Boolean"]["output"]; - lang: Maybe; - numUsersCompleted: Maybe; - numUsersStarted: Maybe; - paidOnly: Maybe; - prerequisites: Maybe>; - question: Maybe; + lang?: Maybe; + numUsersCompleted?: Maybe; + numUsersStarted?: Maybe; + paidOnly?: Maybe; + prerequisites?: Maybe>; + question?: Maybe; title: Scalars["String"]["output"]; - type: Maybe; - users: Maybe; - verboseLang: Maybe; - video: Maybe; - webPage: Maybe; + type?: Maybe; + users?: Maybe; + verboseLang?: Maybe; + video?: Maybe; + webPage?: Maybe; }; /** join a study plan */ @@ -2313,9 +2323,9 @@ export type JoinStudyPlan = { }; export type LanguageNode = { - id: Maybe; - name: Maybe; - verboseName: Maybe; + id?: Maybe; + name?: Maybe; + verboseName?: Maybe; }; export type LanguageProblemCountNode = { @@ -2331,26 +2341,26 @@ export type LatestIncVoteNode = { export type LearningContextNode = { backLink: Scalars["String"]["output"]; name: Scalars["String"]["output"]; - nextQuestion: Maybe; - previousQuestion: Maybe; + nextQuestion?: Maybe; + previousQuestion?: Maybe; }; export type LearningContextNodeV2 = { name: Scalars["String"]["output"]; - nextQuestion: Maybe; - previousQuestion: Maybe; + nextQuestion?: Maybe; + previousQuestion?: Maybe; }; export type LearningContextNodeV3 = { backLink: Scalars["String"]["output"]; name: Scalars["String"]["output"]; - nextQuestion: Maybe; - previousQuestion: Maybe; + nextQuestion?: Maybe; + previousQuestion?: Maybe; }; export type LevelBeatPercentageMixin = { difficulty: DifficultyDescribedEnum; - percentage: Maybe; + percentage?: Maybe; }; export type LibraryActivityConnection = { @@ -2358,7 +2368,7 @@ export type LibraryActivityConnection = { edges: Array>; /** Pagination data for this connection. */ pageInfo: PageInfo; - totalNum: Maybe; + totalNum?: Maybe; }; /** A Relay edge containing a `LibraryActivity` and its cursor. */ @@ -2366,7 +2376,7 @@ export type LibraryActivityEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type LibraryActivityType = { @@ -2465,7 +2475,7 @@ export type LibraryQuestionConnection = { edges: Array>; /** Pagination data for this connection. */ pageInfo: PageInfo; - totalNum: Maybe; + totalNum?: Maybe; }; /** A Relay edge containing a `LibraryQuestion` and its cursor. */ @@ -2473,22 +2483,22 @@ export type LibraryQuestionEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type LibraryQuestionNode = { activities: LibraryActivityConnection; - attachments: Maybe>; + attachments?: Maybe>; canEdit: Scalars["Boolean"]["output"]; codeDefinitions: Array>; codedefinitionSet: Array; content: Scalars["String"]["output"]; - contribution: Maybe; + contribution?: Maybe; contributorSet: Array; contributors: Array; createDate: Scalars["DateTime"]["output"]; - createdBy: Maybe; - customLimits: Maybe; + createdBy?: Maybe; + customLimits?: Maybe; customMatcher: Scalars["String"]["output"]; defaultCustomMatchers: Scalars["JSONString"]["output"]; defaultValidator: LibraryValidator; @@ -2497,20 +2507,20 @@ export type LibraryQuestionNode = { drivers: Array; followup: Scalars["String"]["output"]; frontendPreviews: Array; - frontendQuestionId: Maybe; + frontendQuestionId?: Maybe; frontendpreviewSet: Array; - hasFrontendPreview: Maybe; - hideLastTestcases: Maybe; - hidelasttestcases: Maybe; + hasFrontendPreview?: Maybe; + hideLastTestcases?: Maybe; + hidelasttestcases?: Maybe; id: Scalars["ID"]["output"]; includeHeaders: Scalars["String"]["output"]; inputCpp: Scalars["String"]["output"]; - isCustom: Maybe; - isMultitestsQuestion: Maybe; + isCustom?: Maybe; + isMultitestsQuestion?: Maybe; isPrivate: Scalars["Boolean"]["output"]; - isSystemDesign: Maybe; + isSystemDesign?: Maybe; lastModified: Scalars["DateTime"]["output"]; - latestActivity: Maybe; + latestActivity?: Maybe; libraryactivitySet: QuestionActivityNodeConnection; matchType: LibraryMatchType; mergedContent: Scalars["String"]["output"]; @@ -2518,8 +2528,8 @@ export type LibraryQuestionNode = { multiTestcases: Array; multitestcaseSet: Array; note: Scalars["String"]["output"]; - prodQuestion: Maybe; - prodTestcase: Maybe; + prodQuestion?: Maybe; + prodTestcase?: Maybe; publishError: Scalars["Boolean"]["output"]; publishStatus: PublishStatus; publishedRevisionId: Scalars["Int"]["output"]; @@ -2537,19 +2547,19 @@ export type LibraryQuestionNode = { }; export type LibraryQuestionNodeActivitiesArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - skip: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; }; export type LibraryQuestionNodeLibraryactivitySetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type LibraryQuestionNodeConnection = { @@ -2564,7 +2574,7 @@ export type LibraryQuestionNodeEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type LibraryQuestionType = { @@ -2573,15 +2583,15 @@ export type LibraryQuestionType = { }; export type LibraryQuestionsInput = { - canEdit: InputMaybe; - isCustom: InputMaybe; - isNew: InputMaybe; - isSystemDesign: InputMaybe; - isUnpublished: InputMaybe; + canEdit?: InputMaybe; + isCustom?: InputMaybe; + isNew?: InputMaybe; + isSystemDesign?: InputMaybe; + isUnpublished?: InputMaybe; /** Search Keyword */ - keyword: InputMaybe; + keyword?: InputMaybe; /** Question Type */ - quesType: InputMaybe; + quesType?: InputMaybe; sortField: QuestionSortFieldEnum; }; @@ -2601,7 +2611,7 @@ export type LibrarySolution = { id: Scalars["ID"]["output"]; isModelSolution: Scalars["Boolean"]["output"]; lang: LibraryLanguage; - name: Maybe; + name?: Maybe; order: Scalars["Int"]["output"]; question: LibraryQuestionNode; }; @@ -2623,7 +2633,7 @@ export type LibrarySolutionStatus = { export type LibrarySolutionsInput = { code: Scalars["String"]["input"]; lang: Scalars["String"]["input"]; - solutionId: InputMaybe; + solutionId?: InputMaybe; }; export type LibrarySolutionsOrderSave = { @@ -2637,7 +2647,7 @@ export type LibrarySolutionsOutput = { export type LibrarySolutionsSave = { question: LibraryQuestionNode; - solutions: Maybe>>; + solutions?: Maybe>>; }; export type LibraryStatementSave = { @@ -2672,17 +2682,17 @@ export type LibraryValidatorSave = { }; export type Like = { - error: Maybe; - likeResult: Maybe; - ok: Maybe; + error?: Maybe; + likeResult?: Maybe; + ok?: Maybe; }; export type LocalRankingNode = { - myRank: Maybe; - page: Maybe; - rankingNodes: Maybe>>; - totalUsers: Maybe; - userPerPage: Maybe; + myRank?: Maybe; + page?: Maybe; + rankingNodes?: Maybe>>; + totalUsers?: Maybe; + userPerPage?: Maybe; }; export type LocationAutocomplete = { @@ -2696,11 +2706,11 @@ export type ManagementAddInterviewedStatVote = { export type ManagementAddInterviewedStatVoteInput = { /** position tag id */ - positionTagSlug: InputMaybe; + positionTagSlug?: InputMaybe; questionId: Scalars["ID"]["input"]; /** company tag id */ tagId: Scalars["ID"]["input"]; - timeOption: InputMaybe; + timeOption?: InputMaybe; votedNum: Scalars["Int"]["input"]; }; @@ -2716,27 +2726,27 @@ export type ManagementAddOrEditTagCategoryInput = { /** Group ID for this category */ groupId: Scalars["ID"]["input"]; /** Category is enabled or not */ - isEnabled: InputMaybe; + isEnabled?: InputMaybe; /** Category Name */ name: Scalars["String"]["input"]; }; export type ManagementAddOrEditTagInput = { /** Tag Image URL */ - imgUrl: InputMaybe; - isStandard: InputMaybe; + imgUrl?: InputMaybe; + isStandard?: InputMaybe; /** Whether the tag is enabled (if not enabled, it's not shown to the users */ isTagEnabled: Scalars["Boolean"]["input"]; - isUserSelectable: InputMaybe; - keywords: InputMaybe; + isUserSelectable?: InputMaybe; + keywords?: InputMaybe; /** Tag Name */ name: Scalars["String"]["input"]; /** 排序 */ - order: InputMaybe; + order?: InputMaybe; /** Tag Slug */ slug: Scalars["String"]["input"]; /** Category List IDs */ - tagCategoryIds: InputMaybe>>; + tagCategoryIds?: InputMaybe>>; }; export type ManagementCompanyQuestionListNode = { @@ -2747,18 +2757,18 @@ export type ManagementCompanyQuestionListNode = { export type ManagementCompanyTagNode = { tags: Array>; - totalCount: Maybe; + totalCount?: Maybe; }; export type ManagementCompanyTagsInput = { /** Filter by Standard Tags */ - isEnabled: InputMaybe; + isEnabled?: InputMaybe; /** Search Keyword */ - keyword: InputMaybe; + keyword?: InputMaybe; limit: Scalars["Int"]["input"]; offset: Scalars["Int"]["input"]; /** Tag Slug */ - slug: InputMaybe; + slug?: InputMaybe; }; export type ManagementCreditCardNode = { @@ -2770,13 +2780,13 @@ export type ManagementCreditCardNode = { export type ManagementIncVoteLogListNone = { nodes: Array>; - totalNum: Maybe; + totalNum?: Maybe; }; export type ManagementIncVoteLogNode = { createdAt: Scalars["DateTime"]["output"]; - createdBy: Maybe; - positionTag: Maybe; + createdBy?: Maybe; + positionTag?: Maybe; votedDate: Scalars["DateTime"]["output"]; votedNum: Scalars["Int"]["output"]; }; @@ -2835,8 +2845,8 @@ export type ManagementRoleEnum = | "REDEEM_ORDER_MANAGEMENT"; export type ManagementRoleNode = { - permissions: Maybe>>; - roleName: Maybe; + permissions?: Maybe>>; + roleName?: Maybe; }; export type ManagementScoreListNode = { @@ -2848,7 +2858,7 @@ export type ManagementScoreNode = { category: UmScoreCategoryEnum; date: Scalars["DateTime"]["output"]; description: Scalars["String"]["output"]; - extraInfo: Maybe; + extraInfo?: Maybe; id: Scalars["ID"]["output"]; score: Scalars["Int"]["output"]; scoreType: ScoreTypeEnum; @@ -2864,18 +2874,18 @@ export type ManagementStoreOrderListNode = { }; export type ManagementStoreOrderNode = { - address: Maybe; - buckydropPackageCode: Maybe; - buckydropShopOrderId: Maybe; + address?: Maybe; + buckydropPackageCode?: Maybe; + buckydropShopOrderId?: Maybe; createDate: Scalars["DateTime"]["output"]; - details: Maybe; + details?: Maybe; id: Scalars["ID"]["output"]; - items: Maybe; - note: Maybe; + items?: Maybe; + note?: Maybe; orderId: Scalars["String"]["output"]; status: UmStoreOrderStatusEnum; - trackingId: Maybe; - user: Maybe; + trackingId?: Maybe; + user?: Maybe; }; export type ManagementStripeChargeListNode = { @@ -2887,57 +2897,59 @@ export type ManagementStripeChargeNode = { amount: Scalars["Int"]["output"]; created: Scalars["DateTime"]["output"]; id: Scalars["ID"]["output"]; - invoiceId: Maybe; + invoiceId?: Maybe; status: StripeChargeStatusEnum; }; export type ManagementTagAdminLogListNode = { nodes: Array>; - totalNum: Maybe; + totalNum?: Maybe; }; export type ManagementTagAdminLogNode = { creationDate: Scalars["DateTime"]["output"]; operateUser: UserNode; - operationContent: Maybe; + operationContent?: Maybe; operationType: TagAdminOperationType; }; export type ManagementTagCategoriesInput = { /** Filter by Category Enabled */ - isEnabled: InputMaybe; + isEnabled?: InputMaybe; /** Search Keyword */ - keyword: InputMaybe; + keyword?: InputMaybe; /** Category Slug */ - slug: InputMaybe; + slug?: InputMaybe; /** Group ID */ - tagGroupId: InputMaybe; + tagGroupId?: InputMaybe; }; export type ManagementTagNode = { tags: Array>; - totalCount: Maybe; + totalCount?: Maybe; }; export type ManagementTagsInput = { - excludeTagCategoryIds: InputMaybe>>; - isSimilarTag: InputMaybe; + excludeTagCategoryIds?: InputMaybe< + Array> + >; + isSimilarTag?: InputMaybe; /** Filter by Standard Tags */ - isStandardTag: InputMaybe; + isStandardTag?: InputMaybe; /** Filter by Enabled Tags */ - isTagEnabled: InputMaybe; + isTagEnabled?: InputMaybe; /** Filter by User Selectable Tags */ - isUserSelectable: InputMaybe; + isUserSelectable?: InputMaybe; /** Search Keyword */ - keyword: InputMaybe; + keyword?: InputMaybe; limit: Scalars["Int"]["input"]; offset: Scalars["Int"]["input"]; /** Filter by Tag Slug startswith */ - slug: InputMaybe; + slug?: InputMaybe; /** Category ID */ - tagCategoryId: InputMaybe; + tagCategoryId?: InputMaybe; /** Group ID */ - tagGroupId: InputMaybe; + tagGroupId?: InputMaybe; }; export type ManagementTeamMemberListNode = { @@ -2946,44 +2958,44 @@ export type ManagementTeamMemberListNode = { }; export type ManagementTeamMemberNode = { - avatar: Maybe; + avatar?: Maybe; id: Scalars["ID"]["output"]; - lastLoginTime: Maybe; + lastLoginTime?: Maybe; managementRoles: Array>; - note: Maybe; - realName: Maybe; + note?: Maybe; + realName?: Maybe; username: Scalars["String"]["output"]; }; export type ManagementTeamMembersInput = { - limit: Scalars["Int"]["input"]; - roleGroup: InputMaybe; + limit?: Scalars["Int"]["input"]; + roleGroup?: InputMaybe; skip: Scalars["Int"]["input"]; - username: InputMaybe; + username?: InputMaybe; }; export type ManagementUserDetailNode = { - avatar: Maybe; - banInfo: Maybe; - contestBan: Maybe; + avatar?: Maybe; + banInfo?: Maybe; + contestBan?: Maybe; dateJoined: Scalars["DateTime"]["output"]; - discussBanned: Maybe; - emails: Maybe>>; + discussBanned?: Maybe; + emails?: Maybe>>; id: Scalars["ID"]["output"]; - isBanned: Maybe; - isDeleted: Maybe; - isInactive: Maybe; - isSpammer: Maybe; - isStaff: Maybe; - isSuperuser: Maybe; - lastLoginTime: Maybe; + isBanned?: Maybe; + isDeleted?: Maybe; + isInactive?: Maybe; + isSpammer?: Maybe; + isStaff?: Maybe; + isSuperuser?: Maybe; + lastLoginTime?: Maybe; managementRoles: Array>; otherRoles: Array>; - premiumInfos: Maybe>>; - realName: Maybe; + premiumInfos?: Maybe>>; + realName?: Maybe; socialAccounts: Array; - stripeCredit: Maybe; - stripeCustomeId: Maybe; + stripeCredit?: Maybe; + stripeCustomeId?: Maybe; totalScore: Scalars["Int"]["output"]; username: Scalars["String"]["output"]; }; @@ -2994,37 +3006,37 @@ export type ManagementUserListNode = { }; export type ManagementUserNode = { - avatar: Maybe; + avatar?: Maybe; dateJoined: Scalars["DateTime"]["output"]; - emails: Maybe>>; + emails?: Maybe>>; id: Scalars["ID"]["output"]; - lastLoginTime: Maybe; - premiumInfos: Maybe>>; - realName: Maybe; - stripeCustomeId: Maybe; + lastLoginTime?: Maybe; + premiumInfos?: Maybe>>; + realName?: Maybe; + stripeCustomeId?: Maybe; username: Scalars["String"]["output"]; }; export type ManagementUserSimpleNode = { - avatar: Maybe; - email: Maybe; + avatar?: Maybe; + email?: Maybe; id: Scalars["ID"]["output"]; - realName: Maybe; + realName?: Maybe; username: Scalars["String"]["output"]; }; export type MarkItemComplete = { - cardId: Maybe; - errors: Maybe; - newProgress: Maybe; - ok: Maybe; + cardId?: Maybe; + errors?: Maybe; + newProgress?: Maybe; + ok?: Maybe; }; export type MarkItemIncomplete = { - cardId: Maybe; - errors: Maybe; - newProgress: Maybe; - ok: Maybe; + cardId?: Maybe; + errors?: Maybe; + newProgress?: Maybe; + ok?: Maybe; }; export type MarkSolvedQuestion = { @@ -3033,35 +3045,35 @@ export type MarkSolvedQuestion = { }; export type MarkSpammers = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type MeNode = { - activeSessionId: Maybe; - annualReport: Maybe; - avatar: Maybe; - checkedInToday: Maybe; - completedFeatureGuides: Maybe>>; - groups: Maybe>>; - isAdmin: Maybe; + activeSessionId?: Maybe; + annualReport?: Maybe; + avatar?: Maybe; + checkedInToday?: Maybe; + completedFeatureGuides?: Maybe>>; + groups?: Maybe>>; + isAdmin?: Maybe; isMockUser: Scalars["Boolean"]["output"]; - isPremium: Maybe; - isSignedIn: Maybe; - isStaff: Maybe; - isSuperuser: Maybe; - isTranslator: Maybe; - isVerified: Maybe; - notificationStatus: Maybe; - optedIn: Maybe; - permissions: Maybe>>; - realName: Maybe; - region: Maybe; - requestRegion: Maybe; - socketToken: Maybe; - userId: Maybe; - userSlug: Maybe; - username: Maybe; + isPremium?: Maybe; + isSignedIn?: Maybe; + isStaff?: Maybe; + isSuperuser?: Maybe; + isTranslator?: Maybe; + isVerified?: Maybe; + notificationStatus?: Maybe; + optedIn?: Maybe; + permissions?: Maybe>>; + realName?: Maybe; + region?: Maybe; + requestRegion?: Maybe; + socketToken?: Maybe; + userId?: Maybe; + userSlug?: Maybe; + username?: Maybe; }; export type MedalBriefNode = { @@ -3074,13 +3086,13 @@ export type MedalBriefNode = { export type MedalConfigNode = { /** The original image URL of the medal */ - icon: Maybe; + icon?: Maybe; /** GIF URL of the medal */ - iconGif: Maybe; + iconGif?: Maybe; /** GIF background URL of the medal */ - iconGifBackground: Maybe; + iconGifBackground?: Maybe; /** URL of the medal wearing picture */ - iconWearing: Maybe; + iconWearing?: Maybe; }; export type MedalNode = { @@ -3088,255 +3100,255 @@ export type MedalNode = { config: MedalConfigNode; name: Scalars["String"]["output"]; obtainDescription: Scalars["String"]["output"]; - shortName: Maybe; + shortName?: Maybe; slug: Scalars["String"]["output"]; }; export type MigrateDiscussionToSolution = { - ok: Maybe; - topic: Maybe; + ok?: Maybe; + topic?: Maybe; }; export type MigrateSolutionToDiscussion = { - comment: Maybe; - ok: Maybe; + comment?: Maybe; + ok?: Maybe; }; export type MockUser = { - ok: Maybe; + ok?: Maybe; }; export type ModifyIdeDynamicLayout = { - error: Maybe; - layout: Maybe; + error?: Maybe; + layout?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type MoveTopic = { - categorySlugs: Maybe>; - topic: Maybe; + categorySlugs?: Maybe>; + topic?: Maybe; }; export type Mutation = { - acceptAchievementReward: Maybe; - acceptContribution: Maybe; - addFavoriteToMyCollectionV2: Maybe; - addOrUpdateCodeInPlayground: Maybe; - addQuestionToDefaultFavoriteV2: Maybe; - addQuestionToFavorite: Maybe; - addQuestionToFavoriteV2: Maybe; - addQuestionToNewFavorite: Maybe; - addQuestionToNewFavoriteV2: Maybe; - addUserToInternalContest: Maybe; - applyTimeTravelTicket: Maybe; - applyTimeTravelTicketV2: Maybe; - approveComment: Maybe; - approveComments: Maybe; - approveContestReports: Maybe; - approveReportedPosts: Maybe; - approveTopic: Maybe; - approveTopics: Maybe; - archiveUser: Maybe; - awardInternalContestCoin: Maybe; - banIp: Maybe; - banUser: Maybe; - batchReviewFlaggedObjects: Maybe; - btsEventNotification: Maybe; - btsReferralRegister: Maybe; + acceptAchievementReward?: Maybe; + acceptContribution?: Maybe; + addFavoriteToMyCollectionV2?: Maybe; + addOrUpdateCodeInPlayground?: Maybe; + addQuestionToDefaultFavoriteV2?: Maybe; + addQuestionToFavorite?: Maybe; + addQuestionToFavoriteV2?: Maybe; + addQuestionToNewFavorite?: Maybe; + addQuestionToNewFavoriteV2?: Maybe; + addUserToInternalContest?: Maybe; + applyTimeTravelTicket?: Maybe; + applyTimeTravelTicketV2?: Maybe; + approveComment?: Maybe; + approveComments?: Maybe; + approveContestReports?: Maybe; + approveReportedPosts?: Maybe; + approveTopic?: Maybe; + approveTopics?: Maybe; + archiveUser?: Maybe; + awardInternalContestCoin?: Maybe; + banIp?: Maybe; + banUser?: Maybe; + batchReviewFlaggedObjects?: Maybe; + btsEventNotification?: Maybe; + btsReferralRegister?: Maybe; /** 取消注销账户请求 */ - cancelDeleteAccount: Maybe; - checkin: Maybe; - collectContestEasterEgg: Maybe; - commentContribution: Maybe; - completeFeatureGuide: Maybe; - completeSurvey: Maybe; - confirmSchoolLogo: Maybe; - createCodeErrorHint: Maybe; - createComment: Maybe; - createCompletionLike: Maybe; - createContribution: Maybe; - createEmail: Maybe; - createIdeDynamicLayout: Maybe; - createOrUpdateEmailEvent: Maybe; - createOrUpdateOfficialSolutionFeedback: Maybe; + cancelDeleteAccount?: Maybe; + checkin?: Maybe; + collectContestEasterEgg?: Maybe; + commentContribution?: Maybe; + completeFeatureGuide?: Maybe; + completeSurvey?: Maybe; + confirmSchoolLogo?: Maybe; + createCodeErrorHint?: Maybe; + createComment?: Maybe; + createCompletionLike?: Maybe; + createContribution?: Maybe; + createEmail?: Maybe; + createIdeDynamicLayout?: Maybe; + createOrUpdateEmailEvent?: Maybe; + createOrUpdateOfficialSolutionFeedback?: Maybe; /** obtain the new annual medals */ - createOrUpdateUserYearlyMedals: Maybe; - createPlayground: Maybe; - createPlaygroundFolder: Maybe; - createTopic: Maybe; - createTopicForContest: Maybe; - createTopicForQuestion: Maybe; - createTopicWithCategory: Maybe; + createOrUpdateUserYearlyMedals?: Maybe; + createPlayground?: Maybe; + createPlaygroundFolder?: Maybe; + createTopic?: Maybe; + createTopicForContest?: Maybe; + createTopicForQuestion?: Maybe; + createTopicWithCategory?: Maybe; /** user apply to delete account, account gets frozen after success */ - deleteAccount: Maybe; - deleteCodeFromPlayground: Maybe; - deleteComment: Maybe; - deleteComments: Maybe; - deleteEducation: Maybe; - deleteEmail: Maybe; - deleteFavoriteV2: Maybe; - deleteIdeDynamicLayout: Maybe; - deleteNote: Maybe; - deleteOccupation: Maybe; - deletePlayground: Maybe; - deletePlaygroundFolder: Maybe; - deleteReportedPosts: Maybe; - deleteSocial: Maybe; - deleteTeamMember: Maybe; - deleteTopic: Maybe; - deleteTopics: Maybe; - discountEventRegister: Maybe; - endDebuggerSession: Maybe; - executeScript: Maybe; - flagPost: Maybe; - flagSetContentStatus: Maybe; - flagSomething: Maybe; - forkFavoriteV2: Maybe; - getOrCreateExploreSession: Maybe; - handleUserReports: Maybe; - hideComments: Maybe; - hidePost: Maybe; - hideTopicFromTrending: Maybe; - hideTopics: Maybe; - hitResource: Maybe; - interviewEnd: Maybe; - interviewStart: Maybe; - interviewedStatsPost: Maybe; + deleteAccount?: Maybe; + deleteCodeFromPlayground?: Maybe; + deleteComment?: Maybe; + deleteComments?: Maybe; + deleteEducation?: Maybe; + deleteEmail?: Maybe; + deleteFavoriteV2?: Maybe; + deleteIdeDynamicLayout?: Maybe; + deleteNote?: Maybe; + deleteOccupation?: Maybe; + deletePlayground?: Maybe; + deletePlaygroundFolder?: Maybe; + deleteReportedPosts?: Maybe; + deleteSocial?: Maybe; + deleteTeamMember?: Maybe; + deleteTopic?: Maybe; + deleteTopics?: Maybe; + discountEventRegister?: Maybe; + endDebuggerSession?: Maybe; + executeScript?: Maybe; + flagPost?: Maybe; + flagSetContentStatus?: Maybe; + flagSomething?: Maybe; + forkFavoriteV2?: Maybe; + getOrCreateExploreSession?: Maybe; + handleUserReports?: Maybe; + hideComments?: Maybe; + hidePost?: Maybe; + hideTopicFromTrending?: Maybe; + hideTopics?: Maybe; + hitResource?: Maybe; + interviewEnd?: Maybe; + interviewStart?: Maybe; + interviewedStatsPost?: Maybe; /** join a study plan */ - joinStudyPlan: Maybe; - libraryDefinitionSave: Maybe; - libraryDraftDelete: Maybe; - libraryFrontendQuestionIdChange: Maybe; - libraryGenerateSampleTestcase: Maybe; - libraryMultiTestcaseSave: Maybe; - librarySetHide: Maybe; - librarySetPerm: Maybe; - librarySolutionDelete: Maybe; - librarySolutionSave: Maybe; - librarySolutionsOrderSave: Maybe; - librarySolutionsSave: Maybe; - libraryStatementSave: Maybe; - libraryTestcaseSave: Maybe; - libraryValidatorSave: Maybe; - like: Maybe; - managementAddInterviewedStatVote: Maybe; - managementAddOrEditTag: Maybe; - managementAddOrEditTagCategory: Maybe; - managementRemoveTagCategoryToTag: Maybe; - managementSetNonofficialTagSimilar: Maybe; - markItemComplete: Maybe; - markItemIncomplete: Maybe; - markSolvedQuestion: Maybe; - markSpammers: Maybe; - migrateDiscussionToSolution: Maybe; - migrateSolutionToDiscussion: Maybe; - mockUser: Maybe; - modifyIdeDynamicLayout: Maybe; - moveTopic: Maybe; + joinStudyPlan?: Maybe; + libraryDefinitionSave?: Maybe; + libraryDraftDelete?: Maybe; + libraryFrontendQuestionIdChange?: Maybe; + libraryGenerateSampleTestcase?: Maybe; + libraryMultiTestcaseSave?: Maybe; + librarySetHide?: Maybe; + librarySetPerm?: Maybe; + librarySolutionDelete?: Maybe; + librarySolutionSave?: Maybe; + librarySolutionsOrderSave?: Maybe; + librarySolutionsSave?: Maybe; + libraryStatementSave?: Maybe; + libraryTestcaseSave?: Maybe; + libraryValidatorSave?: Maybe; + like?: Maybe; + managementAddInterviewedStatVote?: Maybe; + managementAddOrEditTag?: Maybe; + managementAddOrEditTagCategory?: Maybe; + managementRemoveTagCategoryToTag?: Maybe; + managementSetNonofficialTagSimilar?: Maybe; + markItemComplete?: Maybe; + markItemIncomplete?: Maybe; + markSolvedQuestion?: Maybe; + markSpammers?: Maybe; + migrateDiscussionToSolution?: Maybe; + migrateSolutionToDiscussion?: Maybe; + mockUser?: Maybe; + modifyIdeDynamicLayout?: Maybe; + moveTopic?: Maybe; /** online management generate favorite */ - omGenerateFavorite: Maybe; + omGenerateFavorite?: Maybe; /** online management remove question from favorite */ - omRemoveQuestionFromFavorite: Maybe; + omRemoveQuestionFromFavorite?: Maybe; /** online management update favorite */ - omUpdateFavorite: Maybe; - openNotifications: Maybe; - optInOrOutDynamicLayoutFeature: Maybe; - optInOrOutOfPremiumFeature: Maybe; - performNotificationAction: Maybe; - planStartProgress: Maybe; - publishContestAnnouncement: Maybe; - publishSolution: Maybe; + omUpdateFavorite?: Maybe; + openNotifications?: Maybe; + optInOrOutDynamicLayoutFeature?: Maybe; + optInOrOutOfPremiumFeature?: Maybe; + performNotificationAction?: Maybe; + planStartProgress?: Maybe; + publishContestAnnouncement?: Maybe; + publishSolution?: Maybe; /** quit a study plan */ - quitStudyPlan: Maybe; - rateArticle: Maybe; - recordAbExperimentEvent: Maybe; - rejectContestReports: Maybe; - rejectContribution: Maybe; - removeFavoriteFromMyCollectionV2: Maybe; - removeQuestionFromFavorite: Maybe; - removeQuestionFromFavoriteV2: Maybe; - removeUsersFromInternalContest: Maybe; - reorderFavoriteQuestionV2: Maybe; - reportUser: Maybe; - requestAnalysisEmail: Maybe; - requestUpdateToReportedPosts: Maybe; - resetFavoriteSessionV2: Maybe; - resetWeeklyTaskSchedule: Maybe; - rewardPostCoins: Maybe; - runDebuggerCommand: Maybe; - saveSessionCode: Maybe; - sendAccountRecoveryEmail: Maybe; - sendInternalContestEmail: Maybe; - sendVerificationEmail: Maybe; - setBlacklist: Maybe; - setItemStartTime: Maybe; - setNotificationSetting: Maybe; + quitStudyPlan?: Maybe; + rateArticle?: Maybe; + recordAbExperimentEvent?: Maybe; + rejectContestReports?: Maybe; + rejectContribution?: Maybe; + removeFavoriteFromMyCollectionV2?: Maybe; + removeQuestionFromFavorite?: Maybe; + removeQuestionFromFavoriteV2?: Maybe; + removeUsersFromInternalContest?: Maybe; + reorderFavoriteQuestionV2?: Maybe; + reportUser?: Maybe; + requestAnalysisEmail?: Maybe; + requestUpdateToReportedPosts?: Maybe; + resetFavoriteSessionV2?: Maybe; + resetWeeklyTaskSchedule?: Maybe; + rewardPostCoins?: Maybe; + runDebuggerCommand?: Maybe; + saveSessionCode?: Maybe; + sendAccountRecoveryEmail?: Maybe; + sendInternalContestEmail?: Maybe; + sendVerificationEmail?: Maybe; + setBlacklist?: Maybe; + setItemStartTime?: Maybe; + setNotificationSetting?: Maybe; /** whether hide current user rank info on rank boards */ - setVisibleOnPlanRank: Maybe; - startDebuggerSession: Maybe; - storeAdminCreateOrder: Maybe; - storeOrderEdit: Maybe; - storeOrderSave: Maybe; + setVisibleOnPlanRank?: Maybe; + startDebuggerSession?: Maybe; + storeAdminCreateOrder?: Maybe; + storeOrderEdit?: Maybe; + storeOrderSave?: Maybe; /** comment submission complexity */ - submissionNoteComplexity: Maybe; + submissionNoteComplexity?: Maybe; /** vote submission complexity */ - submissionVoteComplexity: Maybe; - submitCancelSurvey: Maybe; - submitQuestionSatisfactionSurvey: Maybe; - submitQuestionSuggestion: Maybe; - submitSubscriptionSurvey: Maybe; - submitSurveyV2: Maybe; - subscribeTopic: Maybe; - subscriptionViewCountIncrement: Maybe; - tagSearchHit: Maybe; - toggleContestDynamicLayout: Maybe; - toggleContestRankingDynamicLayout: Maybe; - toggleFavorite: Maybe; - toggleFavoriteSolution: Maybe; - togglePinComment: Maybe; - togglePinTopic: Maybe; - unlockFavorite: Maybe; - unlockShareEvent: Maybe; - unpublishContestAnnouncement: Maybe; - upcSubmitResponse: Maybe; - upcV2SubmitSurvey: Maybe; - updateAnnualReportViewStatus: Maybe; - updateAvatarStatus: Maybe; - updateBetaParticipation: Maybe; - updateComment: Maybe; - updateContribution: Maybe; - updateEducation: Maybe; - updateEmailPrimary: Maybe; - updateFavoriteEmojiBackgroundV2: Maybe; - updateFavoriteIsPublicV2: Maybe; - updateFavoriteNameDescriptionV2: Maybe; - updateInvalidUsername: Maybe; - updateNote: Maybe; - updateOccupation: Maybe; - updatePassword: Maybe; - updatePlayground: Maybe; - updatePlaygroundFolder: Maybe; - updateProblematicPost: Maybe; - updateProfile: Maybe; - updateProfileV3: Maybe; - updatePublicBadge: Maybe; - updateSolution: Maybe; - updateSubmissionNote: Maybe; - updateSyncedCode: Maybe; - updateTeamMember: Maybe; - updateTopic: Maybe; - updateTopicWithCategory: Maybe; - updateUsername: Maybe; - userManagementApplyForPremiumTrial: Maybe; - userManagementBanIp: Maybe; - userManagementBanUser: Maybe; - userManagementCreateScore: Maybe; - userManagementDeleteUserCreditCard: Maybe; - userManagementEditIpStatus: Maybe; - userManagementSendVerificationEmail: Maybe; - userManagementSetEmailPrimary: Maybe; - userUploadSchoolLogo: Maybe; - votePost: Maybe; + submissionVoteComplexity?: Maybe; + submitCancelSurvey?: Maybe; + submitQuestionSatisfactionSurvey?: Maybe; + submitQuestionSuggestion?: Maybe; + submitSubscriptionSurvey?: Maybe; + submitSurveyV2?: Maybe; + subscribeTopic?: Maybe; + subscriptionViewCountIncrement?: Maybe; + tagSearchHit?: Maybe; + toggleContestDynamicLayout?: Maybe; + toggleContestRankingDynamicLayout?: Maybe; + toggleFavorite?: Maybe; + toggleFavoriteSolution?: Maybe; + togglePinComment?: Maybe; + togglePinTopic?: Maybe; + unlockFavorite?: Maybe; + unlockShareEvent?: Maybe; + unpublishContestAnnouncement?: Maybe; + upcSubmitResponse?: Maybe; + upcV2SubmitSurvey?: Maybe; + updateAnnualReportViewStatus?: Maybe; + updateAvatarStatus?: Maybe; + updateBetaParticipation?: Maybe; + updateComment?: Maybe; + updateContribution?: Maybe; + updateEducation?: Maybe; + updateEmailPrimary?: Maybe; + updateFavoriteEmojiBackgroundV2?: Maybe; + updateFavoriteIsPublicV2?: Maybe; + updateFavoriteNameDescriptionV2?: Maybe; + updateInvalidUsername?: Maybe; + updateNote?: Maybe; + updateOccupation?: Maybe; + updatePassword?: Maybe; + updatePlayground?: Maybe; + updatePlaygroundFolder?: Maybe; + updateProblematicPost?: Maybe; + updateProfile?: Maybe; + updateProfileV3?: Maybe; + updatePublicBadge?: Maybe; + updateSolution?: Maybe; + updateSubmissionNote?: Maybe; + updateSyncedCode?: Maybe; + updateTeamMember?: Maybe; + updateTopic?: Maybe; + updateTopicWithCategory?: Maybe; + updateUsername?: Maybe; + userManagementApplyForPremiumTrial?: Maybe; + userManagementBanIp?: Maybe; + userManagementBanUser?: Maybe; + userManagementCreateScore?: Maybe; + userManagementDeleteUserCreditCard?: Maybe; + userManagementEditIpStatus?: Maybe; + userManagementSendVerificationEmail?: Maybe; + userManagementSetEmailPrimary?: Maybe; + userUploadSchoolLogo?: Maybe; + votePost?: Maybe; }; export type MutationAcceptAchievementRewardArgs = { @@ -3344,8 +3356,8 @@ export type MutationAcceptAchievementRewardArgs = { }; export type MutationAcceptContributionArgs = { - comment: InputMaybe; - contributionId: InputMaybe; + comment?: InputMaybe; + contributionId?: InputMaybe; }; export type MutationAddFavoriteToMyCollectionV2Args = { @@ -3353,9 +3365,9 @@ export type MutationAddFavoriteToMyCollectionV2Args = { }; export type MutationAddOrUpdateCodeInPlaygroundArgs = { - code: InputMaybe; - langSlug: InputMaybe; - uuid: InputMaybe; + code?: InputMaybe; + langSlug?: InputMaybe; + uuid?: InputMaybe; }; export type MutationAddQuestionToDefaultFavoriteV2Args = { @@ -3363,8 +3375,8 @@ export type MutationAddQuestionToDefaultFavoriteV2Args = { }; export type MutationAddQuestionToFavoriteArgs = { - favoriteIdHash: InputMaybe; - questionId: InputMaybe; + favoriteIdHash?: InputMaybe; + questionId?: InputMaybe; }; export type MutationAddQuestionToFavoriteV2Args = { @@ -3373,9 +3385,9 @@ export type MutationAddQuestionToFavoriteV2Args = { }; export type MutationAddQuestionToNewFavoriteArgs = { - isPublicFavorite: InputMaybe; - name: InputMaybe; - questionId: InputMaybe; + isPublicFavorite?: InputMaybe; + name?: InputMaybe; + questionId?: InputMaybe; }; export type MutationAddQuestionToNewFavoriteV2Args = { @@ -3385,24 +3397,24 @@ export type MutationAddQuestionToNewFavoriteV2Args = { }; export type MutationAddUserToInternalContestArgs = { - userInput: InputMaybe; + userInput?: InputMaybe; }; export type MutationApplyTimeTravelTicketArgs = { - itemId: InputMaybe; + itemId?: InputMaybe; }; export type MutationApplyTimeTravelTicketV2Args = { challengeQuestionId: Scalars["ID"]["input"]; - submissionId: InputMaybe; + submissionId?: InputMaybe; }; export type MutationApproveCommentArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type MutationApproveCommentsArgs = { - ids: InputMaybe>>; + ids?: InputMaybe>>; }; export type MutationApproveContestReportsArgs = { @@ -3414,22 +3426,22 @@ export type MutationApproveReportedPostsArgs = { }; export type MutationApproveTopicArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type MutationApproveTopicsArgs = { - ids: InputMaybe>>; + ids?: InputMaybe>>; }; export type MutationArchiveUserArgs = { - reason: InputMaybe; + reason?: InputMaybe; username: Scalars["String"]["input"]; }; export type MutationAwardInternalContestCoinArgs = { - coins: InputMaybe; - contestSlug: InputMaybe; - userId: InputMaybe; + coins?: InputMaybe; + contestSlug?: InputMaybe; + userId?: InputMaybe; }; export type MutationBanIpArgs = { @@ -3455,8 +3467,8 @@ export type MutationBtsReferralRegisterArgs = { }; export type MutationCommentContributionArgs = { - comment: InputMaybe; - contributionId: InputMaybe; + comment?: InputMaybe; + contributionId?: InputMaybe; }; export type MutationCompleteFeatureGuideArgs = { @@ -3464,7 +3476,7 @@ export type MutationCompleteFeatureGuideArgs = { }; export type MutationCompleteSurveyArgs = { - response: InputMaybe; + response?: InputMaybe; surveyType: SurveyType; }; @@ -3481,11 +3493,11 @@ export type MutationCreateCodeErrorHintArgs = { }; export type MutationCreateCommentArgs = { - content: InputMaybe; + content?: InputMaybe; intentionTagSlug?: InputMaybe; - mentionedUserSlugs: InputMaybe>; + mentionedUserSlugs?: InputMaybe>; parentCommentId?: InputMaybe; - topicId: InputMaybe; + topicId?: InputMaybe; }; export type MutationCreateCompletionLikeArgs = { @@ -3494,12 +3506,12 @@ export type MutationCreateCompletionLikeArgs = { }; export type MutationCreateContributionArgs = { - contributionType: InputMaybe; - payload: InputMaybe; + contributionType?: InputMaybe; + payload?: InputMaybe; }; export type MutationCreateEmailArgs = { - email: InputMaybe; + email?: InputMaybe; }; export type MutationCreateIdeDynamicLayoutArgs = { @@ -3508,12 +3520,12 @@ export type MutationCreateIdeDynamicLayoutArgs = { }; export type MutationCreateOrUpdateEmailEventArgs = { - data: InputMaybe; - eventId: InputMaybe; + data?: InputMaybe; + eventId?: InputMaybe; }; export type MutationCreateOrUpdateOfficialSolutionFeedbackArgs = { - additionalComment: InputMaybe; + additionalComment?: InputMaybe; optionIds: Array>; questionSlug: Scalars["String"]["input"]; score: Scalars["Int"]["input"]; @@ -3524,39 +3536,39 @@ export type MutationCreateOrUpdateUserYearlyMedalsArgs = { }; export type MutationCreatePlaygroundArgs = { - name: InputMaybe; - selectedLang: InputMaybe; - testcaseInput: InputMaybe; + name?: InputMaybe; + selectedLang?: InputMaybe; + testcaseInput?: InputMaybe; }; export type MutationCreatePlaygroundFolderArgs = { - folderName: InputMaybe; + folderName?: InputMaybe; }; export type MutationCreateTopicArgs = { - content: InputMaybe; - title: InputMaybe; + content?: InputMaybe; + title?: InputMaybe; }; export type MutationCreateTopicForContestArgs = { - content: InputMaybe; - contestTitleSlug: InputMaybe; - title: InputMaybe; + content?: InputMaybe; + contestTitleSlug?: InputMaybe; + title?: InputMaybe; }; export type MutationCreateTopicForQuestionArgs = { - content: InputMaybe; - questionId: InputMaybe; - tags: InputMaybe>>; - title: InputMaybe; + content?: InputMaybe; + questionId?: InputMaybe; + tags?: InputMaybe>>; + title?: InputMaybe; }; export type MutationCreateTopicWithCategoryArgs = { - anonymous: InputMaybe; - categorySlugs: InputMaybe>>; - content: InputMaybe; - tags: InputMaybe>>; - title: InputMaybe; + anonymous?: InputMaybe; + categorySlugs?: InputMaybe>>; + content?: InputMaybe; + tags?: InputMaybe>>; + title?: InputMaybe; }; export type MutationDeleteAccountArgs = { @@ -3564,24 +3576,24 @@ export type MutationDeleteAccountArgs = { }; export type MutationDeleteCodeFromPlaygroundArgs = { - langSlug: InputMaybe; - uuid: InputMaybe; + langSlug?: InputMaybe; + uuid?: InputMaybe; }; export type MutationDeleteCommentArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type MutationDeleteCommentsArgs = { - ids: InputMaybe>>; + ids?: InputMaybe>>; }; export type MutationDeleteEducationArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type MutationDeleteEmailArgs = { - email: InputMaybe; + email?: InputMaybe; }; export type MutationDeleteFavoriteV2Args = { @@ -3597,15 +3609,15 @@ export type MutationDeleteNoteArgs = { }; export type MutationDeleteOccupationArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type MutationDeletePlaygroundArgs = { - uuid: InputMaybe; + uuid?: InputMaybe; }; export type MutationDeletePlaygroundFolderArgs = { - folder: InputMaybe; + folder?: InputMaybe; }; export type MutationDeleteReportedPostsArgs = { @@ -3613,7 +3625,7 @@ export type MutationDeleteReportedPostsArgs = { }; export type MutationDeleteSocialArgs = { - provider: InputMaybe; + provider?: InputMaybe; }; export type MutationDeleteTeamMemberArgs = { @@ -3621,11 +3633,11 @@ export type MutationDeleteTeamMemberArgs = { }; export type MutationDeleteTopicArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type MutationDeleteTopicsArgs = { - ids: InputMaybe>>; + ids?: InputMaybe>>; }; export type MutationDiscountEventRegisterArgs = { @@ -3642,7 +3654,7 @@ export type MutationExecuteScriptArgs = { }; export type MutationFlagPostArgs = { - content: InputMaybe; + content?: InputMaybe; flagType: ReportTypeEnum; postId: Scalars["Int"]["input"]; }; @@ -3660,18 +3672,18 @@ export type MutationForkFavoriteV2Args = { }; export type MutationGetOrCreateExploreSessionArgs = { - cardSlug: InputMaybe; + cardSlug?: InputMaybe; }; export type MutationHandleUserReportsArgs = { resetAvatar?: InputMaybe; resetUsername?: InputMaybe; - userSlug: InputMaybe; - userSlugs: InputMaybe>>; + userSlug?: InputMaybe; + userSlugs?: InputMaybe>>; }; export type MutationHideCommentsArgs = { - ids: InputMaybe>>; + ids?: InputMaybe>>; }; export type MutationHidePostArgs = { @@ -3685,7 +3697,7 @@ export type MutationHideTopicFromTrendingArgs = { }; export type MutationHideTopicsArgs = { - ids: InputMaybe>>; + ids?: InputMaybe>>; }; export type MutationHitResourceArgs = { @@ -3703,18 +3715,18 @@ export type MutationInterviewedStatsPostArgs = { export type MutationJoinStudyPlanArgs = { planSlug: Scalars["String"]["input"]; - weeklyTaskSchedule: InputMaybe>; + weeklyTaskSchedule?: InputMaybe>; }; export type MutationLibraryDefinitionSaveArgs = { - codeDefinitions: InputMaybe; - customLimits: InputMaybe; - customMatcher: InputMaybe; - drivers: InputMaybe; - frontendPreviews: InputMaybe; - hasFrontendPreview: InputMaybe; - matchType: InputMaybe; - metadata: InputMaybe; + codeDefinitions?: InputMaybe; + customLimits?: InputMaybe; + customMatcher?: InputMaybe; + drivers?: InputMaybe; + frontendPreviews?: InputMaybe; + hasFrontendPreview?: InputMaybe; + matchType?: InputMaybe; + metadata?: InputMaybe; questionId: Scalars["ID"]["input"]; }; @@ -3759,30 +3771,30 @@ export type MutationLibrarySolutionSaveArgs = { code: Scalars["String"]["input"]; complexity: Scalars["String"]["input"]; expectedStatus: Scalars["Int"]["input"]; - isModelSolution: InputMaybe; + isModelSolution?: InputMaybe; lang: Scalars["String"]["input"]; - name: InputMaybe; + name?: InputMaybe; questionId: Scalars["ID"]["input"]; - solutionId: InputMaybe; + solutionId?: InputMaybe; }; export type MutationLibrarySolutionsOrderSaveArgs = { questionId: Scalars["ID"]["input"]; - solutions: InputMaybe>; + solutions?: InputMaybe>; }; export type MutationLibrarySolutionsSaveArgs = { questionId: Scalars["ID"]["input"]; - solutionsInput: InputMaybe>>; + solutionsInput?: InputMaybe>>; }; export type MutationLibraryStatementSaveArgs = { - attachments: InputMaybe>; + attachments?: InputMaybe>; content: Scalars["String"]["input"]; difficulty: Scalars["Int"]["input"]; followup: Scalars["String"]["input"]; - questionId: InputMaybe; - questionTypes: InputMaybe>; + questionId?: InputMaybe; + questionTypes?: InputMaybe>; title: Scalars["String"]["input"]; }; @@ -3801,8 +3813,8 @@ export type MutationLibraryValidatorSaveArgs = { }; export type MutationLikeArgs = { - isLike: InputMaybe; - titleSlug: InputMaybe; + isLike?: InputMaybe; + titleSlug?: InputMaybe; }; export type MutationManagementAddInterviewedStatVoteArgs = { @@ -3811,12 +3823,12 @@ export type MutationManagementAddInterviewedStatVoteArgs = { export type MutationManagementAddOrEditTagArgs = { data: ManagementAddOrEditTagInput; - id: InputMaybe; + id?: InputMaybe; }; export type MutationManagementAddOrEditTagCategoryArgs = { data: ManagementAddOrEditTagCategoryInput; - id: InputMaybe; + id?: InputMaybe; }; export type MutationManagementRemoveTagCategoryToTagArgs = { @@ -3830,12 +3842,12 @@ export type MutationManagementSetNonofficialTagSimilarArgs = { }; export type MutationMarkItemCompleteArgs = { - itemId: InputMaybe; - submissionId: InputMaybe; + itemId?: InputMaybe; + submissionId?: InputMaybe; }; export type MutationMarkItemIncompleteArgs = { - itemId: InputMaybe; + itemId?: InputMaybe; }; export type MutationMarkSolvedQuestionArgs = { @@ -3858,13 +3870,13 @@ export type MutationMigrateSolutionToDiscussionArgs = { }; export type MutationMockUserArgs = { - usernameToMock: InputMaybe; + usernameToMock?: InputMaybe; }; export type MutationModifyIdeDynamicLayoutArgs = { layoutId: Scalars["String"]["input"]; - layoutJson: InputMaybe; - layoutName: InputMaybe; + layoutJson?: InputMaybe; + layoutName?: InputMaybe; }; export type MutationMoveTopicArgs = { @@ -3873,15 +3885,15 @@ export type MutationMoveTopicArgs = { }; export type MutationOmGenerateFavoriteArgs = { - difficultyTagSlugs: InputMaybe>; - favoriteDescription: InputMaybe; + difficultyTagSlugs?: InputMaybe>; + favoriteDescription?: InputMaybe; favoriteName: Scalars["String"]["input"]; favoriteSlug: Scalars["String"]["input"]; favoriteType: FavoriteTypeEnum; isPublic: Scalars["Boolean"]["input"]; - knowledgeTagSlugs: InputMaybe>; - languageTagSlug: InputMaybe; - questionIdListStr: InputMaybe; + knowledgeTagSlugs?: InputMaybe>; + languageTagSlug?: InputMaybe; + questionIdListStr?: InputMaybe; }; export type MutationOmRemoveQuestionFromFavoriteArgs = { @@ -3890,11 +3902,11 @@ export type MutationOmRemoveQuestionFromFavoriteArgs = { }; export type MutationOmUpdateFavoriteArgs = { - favoriteDescription: InputMaybe; - favoriteName: InputMaybe; - favoriteSlug: InputMaybe; - isPublic: InputMaybe; - questionIdListStr: InputMaybe; + favoriteDescription?: InputMaybe; + favoriteName?: InputMaybe; + favoriteSlug?: InputMaybe; + isPublic?: InputMaybe; + questionIdListStr?: InputMaybe; }; export type MutationOptInOrOutDynamicLayoutFeatureArgs = { @@ -3907,7 +3919,7 @@ export type MutationOptInOrOutOfPremiumFeatureArgs = { }; export type MutationPerformNotificationActionArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type MutationPlanStartProgressArgs = { @@ -3915,7 +3927,7 @@ export type MutationPlanStartProgressArgs = { }; export type MutationPublishContestAnnouncementArgs = { - content: InputMaybe; + content?: InputMaybe; }; export type MutationPublishSolutionArgs = { @@ -3939,7 +3951,7 @@ export type MutationRecordAbExperimentEventArgs = { experimentKey: Scalars["String"]["input"]; featureId: Scalars["String"]["input"]; identifierType: Scalars["String"]["input"]; - identifierValue: InputMaybe; + identifierValue?: InputMaybe; variationId: Scalars["Int"]["input"]; variationValue: Scalars["String"]["input"]; }; @@ -3949,8 +3961,8 @@ export type MutationRejectContestReportsArgs = { }; export type MutationRejectContributionArgs = { - comment: InputMaybe; - contributionId: InputMaybe; + comment?: InputMaybe; + contributionId?: InputMaybe; }; export type MutationRemoveFavoriteFromMyCollectionV2Args = { @@ -3958,8 +3970,8 @@ export type MutationRemoveFavoriteFromMyCollectionV2Args = { }; export type MutationRemoveQuestionFromFavoriteArgs = { - favoriteIdHash: InputMaybe; - questionId: InputMaybe; + favoriteIdHash?: InputMaybe; + questionId?: InputMaybe; }; export type MutationRemoveQuestionFromFavoriteV2Args = { @@ -3968,15 +3980,15 @@ export type MutationRemoveQuestionFromFavoriteV2Args = { }; export type MutationRemoveUsersFromInternalContestArgs = { - userIds: InputMaybe>>; + userIds?: InputMaybe>>; }; export type MutationReorderFavoriteQuestionV2Args = { favoriteSlug: Scalars["String"]["input"]; - moveToBottom: InputMaybe; - moveToTop: InputMaybe; + moveToBottom?: InputMaybe; + moveToTop?: InputMaybe; questionSlug: Scalars["String"]["input"]; - reorderNewIndex: InputMaybe; + reorderNewIndex?: InputMaybe; }; export type MutationReportUserArgs = { @@ -4003,9 +4015,9 @@ export type MutationResetWeeklyTaskScheduleArgs = { }; export type MutationRewardPostCoinsArgs = { - id: InputMaybe; - numCoins: InputMaybe; - reason: InputMaybe; + id?: InputMaybe; + numCoins?: InputMaybe; + reason?: InputMaybe; }; export type MutationRunDebuggerCommandArgs = { @@ -4019,31 +4031,31 @@ export type MutationSaveSessionCodeArgs = { }; export type MutationSendAccountRecoveryEmailArgs = { - email: InputMaybe; - userId: InputMaybe; + email?: InputMaybe; + userId?: InputMaybe; }; export type MutationSendInternalContestEmailArgs = { - content: InputMaybe; - userIds: InputMaybe>>; + content?: InputMaybe; + userIds?: InputMaybe>>; }; export type MutationSendVerificationEmailArgs = { - email: InputMaybe; + email?: InputMaybe; }; export type MutationSetBlacklistArgs = { - words: InputMaybe; + words?: InputMaybe; }; export type MutationSetItemStartTimeArgs = { - itemId: InputMaybe; + itemId?: InputMaybe; }; export type MutationSetNotificationSettingArgs = { - channelIdentifier: InputMaybe; - notificationIdentifier: InputMaybe; - status: InputMaybe; + channelIdentifier?: InputMaybe; + notificationIdentifier?: InputMaybe; + status?: InputMaybe; }; export type MutationSetVisibleOnPlanRankArgs = { @@ -4054,8 +4066,8 @@ export type MutationStartDebuggerSessionArgs = { commands: Array>; language: Scalars["String"]["input"]; questionId: Scalars["String"]["input"]; - queueName: InputMaybe; - testMode: InputMaybe; + queueName?: InputMaybe; + testMode?: InputMaybe; testcaseInput: Scalars["String"]["input"]; typedCode: Scalars["String"]["input"]; }; @@ -4066,23 +4078,23 @@ export type MutationStoreAdminCreateOrderArgs = { export type MutationStoreOrderEditArgs = { id: Scalars["ID"]["input"]; - note: InputMaybe; - status: InputMaybe; - trackingId: InputMaybe; + note?: InputMaybe; + status?: InputMaybe; + trackingId?: InputMaybe; }; export type MutationStoreOrderSaveArgs = { - address: InputMaybe; - city: InputMaybe; - country: InputMaybe; - details: InputMaybe; - fullName: InputMaybe; + address?: InputMaybe; + city?: InputMaybe; + country?: InputMaybe; + details?: InputMaybe; + fullName?: InputMaybe; item: Scalars["String"]["input"]; - note: InputMaybe; - phone: InputMaybe; - postalCode: InputMaybe; - province: InputMaybe; - shirtSize: InputMaybe; + note?: InputMaybe; + phone?: InputMaybe; + postalCode?: InputMaybe; + province?: InputMaybe; + shirtSize?: InputMaybe; }; export type MutationSubmissionNoteComplexityArgs = { @@ -4098,7 +4110,7 @@ export type MutationSubmissionVoteComplexityArgs = { }; export type MutationSubmitCancelSurveyArgs = { - answers: InputMaybe>; + answers?: InputMaybe>; }; export type MutationSubmitQuestionSatisfactionSurveyArgs = { @@ -4110,12 +4122,12 @@ export type MutationSubmitQuestionSatisfactionSurveyArgs = { export type MutationSubmitQuestionSuggestionArgs = { checkedDictStr: Scalars["String"]["input"]; - comment: InputMaybe; + comment?: InputMaybe; questionId: Scalars["Int"]["input"]; }; export type MutationSubmitSubscriptionSurveyArgs = { - answers: InputMaybe>; + answers?: InputMaybe>; }; export type MutationSubmitSurveyV2Args = { @@ -4127,13 +4139,13 @@ export type MutationSubmitSurveyV2Args = { }; export type MutationSubscribeTopicArgs = { - subscribe: InputMaybe; - topicId: InputMaybe; + subscribe?: InputMaybe; + topicId?: InputMaybe; }; export type MutationSubscriptionViewCountIncrementArgs = { - ref: InputMaybe; - source: InputMaybe; + ref?: InputMaybe; + source?: InputMaybe; }; export type MutationTagSearchHitArgs = { @@ -4141,15 +4153,15 @@ export type MutationTagSearchHitArgs = { }; export type MutationToggleContestDynamicLayoutArgs = { - enable: InputMaybe; + enable?: InputMaybe; }; export type MutationToggleContestRankingDynamicLayoutArgs = { - enable: InputMaybe; + enable?: InputMaybe; }; export type MutationToggleFavoriteArgs = { - cardSlug: InputMaybe; + cardSlug?: InputMaybe; }; export type MutationToggleFavoriteSolutionArgs = { @@ -4158,13 +4170,13 @@ export type MutationToggleFavoriteSolutionArgs = { }; export type MutationTogglePinCommentArgs = { - commentId: InputMaybe; - pinned: InputMaybe; + commentId?: InputMaybe; + pinned?: InputMaybe; }; export type MutationTogglePinTopicArgs = { - pinned: InputMaybe; - topicId: InputMaybe; + pinned?: InputMaybe; + topicId?: InputMaybe; }; export type MutationUnlockFavoriteArgs = { @@ -4172,15 +4184,15 @@ export type MutationUnlockFavoriteArgs = { }; export type MutationUnlockShareEventArgs = { - cardSlug: InputMaybe; + cardSlug?: InputMaybe; }; export type MutationUnpublishContestAnnouncementArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type MutationUpcSubmitResponseArgs = { - response: InputMaybe; + response?: InputMaybe; type: UpcResponseType; }; @@ -4193,43 +4205,43 @@ export type MutationUpdateAnnualReportViewStatusArgs = { }; export type MutationUpdateAvatarStatusArgs = { - viewedSlugs: InputMaybe>>; + viewedSlugs?: InputMaybe>>; }; export type MutationUpdateBetaParticipationArgs = { optIn: Scalars["Boolean"]["input"]; - participationType: InputMaybe; + participationType?: InputMaybe; }; export type MutationUpdateCommentArgs = { - content: InputMaybe; - id: InputMaybe; + content?: InputMaybe; + id?: InputMaybe; }; export type MutationUpdateContributionArgs = { - applicationId: InputMaybe; - contributionId: InputMaybe; - contributionType: InputMaybe; - payload: InputMaybe; + applicationId?: InputMaybe; + contributionId?: InputMaybe; + contributionType?: InputMaybe; + payload?: InputMaybe; }; export type MutationUpdateEducationArgs = { - degree: InputMaybe; - endTime: InputMaybe; - id: InputMaybe; - schoolName: InputMaybe; - startTime: InputMaybe; - toPresent: InputMaybe; + degree?: InputMaybe; + endTime?: InputMaybe; + id?: InputMaybe; + schoolName?: InputMaybe; + startTime?: InputMaybe; + toPresent?: InputMaybe; }; export type MutationUpdateEmailPrimaryArgs = { - email: InputMaybe; - password: InputMaybe; + email?: InputMaybe; + password?: InputMaybe; }; export type MutationUpdateFavoriteEmojiBackgroundV2Args = { - backgroundColor: InputMaybe; - emoji: InputMaybe; + backgroundColor?: InputMaybe; + emoji?: InputMaybe; favoriteSlug: Scalars["String"]["input"]; }; @@ -4239,13 +4251,13 @@ export type MutationUpdateFavoriteIsPublicV2Args = { }; export type MutationUpdateFavoriteNameDescriptionV2Args = { - description: InputMaybe; + description?: InputMaybe; favoriteSlug: Scalars["String"]["input"]; name: Scalars["String"]["input"]; }; export type MutationUpdateInvalidUsernameArgs = { - username: InputMaybe; + username?: InputMaybe; }; export type MutationUpdateNoteArgs = { @@ -4254,12 +4266,12 @@ export type MutationUpdateNoteArgs = { }; export type MutationUpdateOccupationArgs = { - companyName: InputMaybe; - endTime: InputMaybe; - id: InputMaybe; - jobTitle: InputMaybe; - startTime: InputMaybe; - toPresent: InputMaybe; + companyName?: InputMaybe; + endTime?: InputMaybe; + id?: InputMaybe; + jobTitle?: InputMaybe; + startTime?: InputMaybe; + toPresent?: InputMaybe; }; export type MutationUpdatePasswordArgs = { @@ -4268,63 +4280,63 @@ export type MutationUpdatePasswordArgs = { }; export type MutationUpdatePlaygroundArgs = { - codeSnippetMode: InputMaybe; - folder: InputMaybe; - isLive: InputMaybe; - isShared: InputMaybe; - name: InputMaybe; - selectedLang: InputMaybe; - testcaseInput: InputMaybe; - uuid: InputMaybe; + codeSnippetMode?: InputMaybe; + folder?: InputMaybe; + isLive?: InputMaybe; + isShared?: InputMaybe; + name?: InputMaybe; + selectedLang?: InputMaybe; + testcaseInput?: InputMaybe; + uuid?: InputMaybe; }; export type MutationUpdatePlaygroundFolderArgs = { - newFolderName: InputMaybe; - oldFolderName: InputMaybe; + newFolderName?: InputMaybe; + oldFolderName?: InputMaybe; }; export type MutationUpdateProblematicPostArgs = { - content: InputMaybe; - id: InputMaybe; - title: InputMaybe; + content?: InputMaybe; + id?: InputMaybe; + title?: InputMaybe; }; export type MutationUpdateProfileArgs = { - fieldName: InputMaybe; - value: InputMaybe; + fieldName?: InputMaybe; + value?: InputMaybe; }; export type MutationUpdateProfileV3Args = { - aboutMe: InputMaybe; - birthday: InputMaybe; - company: InputMaybe; - githubUrl: InputMaybe; - jobTitle: InputMaybe; - linkedinUrl: InputMaybe; - locationId: InputMaybe; - locationName: InputMaybe; - realName: InputMaybe; - school: InputMaybe; - skillTags: InputMaybe>>; - website: InputMaybe; + aboutMe?: InputMaybe; + birthday?: InputMaybe; + company?: InputMaybe; + githubUrl?: InputMaybe; + jobTitle?: InputMaybe; + linkedinUrl?: InputMaybe; + locationId?: InputMaybe; + locationName?: InputMaybe; + realName?: InputMaybe; + school?: InputMaybe; + skillTags?: InputMaybe>>; + website?: InputMaybe; }; export type MutationUpdatePublicBadgeArgs = { - badgeId: InputMaybe; + badgeId?: InputMaybe; }; export type MutationUpdateSolutionArgs = { content: Scalars["String"]["input"]; tags: Array>; title: Scalars["String"]["input"]; - topicId: InputMaybe; + topicId?: InputMaybe; }; export type MutationUpdateSubmissionNoteArgs = { - flagType: InputMaybe; - note: InputMaybe; + flagType?: InputMaybe; + note?: InputMaybe; submissionId: Scalars["ID"]["input"]; - tagIds: InputMaybe>>; + tagIds?: InputMaybe>>; }; export type MutationUpdateSyncedCodeArgs = { @@ -4334,47 +4346,47 @@ export type MutationUpdateSyncedCodeArgs = { }; export type MutationUpdateTeamMemberArgs = { - note: InputMaybe; + note?: InputMaybe; roleGroups: Array>; username: Scalars["String"]["input"]; }; export type MutationUpdateTopicArgs = { - content: InputMaybe; - id: InputMaybe; - tags: InputMaybe>>; - title: InputMaybe; + content?: InputMaybe; + id?: InputMaybe; + tags?: InputMaybe>>; + title?: InputMaybe; }; export type MutationUpdateTopicWithCategoryArgs = { - categorySlugs: InputMaybe>>; - content: InputMaybe; - id: InputMaybe; - tags: InputMaybe>>; - title: InputMaybe; + categorySlugs?: InputMaybe>>; + content?: InputMaybe; + id?: InputMaybe; + tags?: InputMaybe>>; + title?: InputMaybe; }; export type MutationUpdateUsernameArgs = { - username: InputMaybe; + username?: InputMaybe; }; export type MutationUserManagementApplyForPremiumTrialArgs = { - attachments: InputMaybe>; - notes: InputMaybe; + attachments?: InputMaybe>; + notes?: InputMaybe; sku: PremiumTrialSku; - userId: InputMaybe; - username: InputMaybe; + userId?: InputMaybe; + username?: InputMaybe; }; export type MutationUserManagementBanIpArgs = { - banTypeSlug: InputMaybe; + banTypeSlug?: InputMaybe; days: Scalars["Int"]["input"]; ip: Scalars["String"]["input"]; reason?: InputMaybe; }; export type MutationUserManagementBanUserArgs = { - banTypeSlug: InputMaybe; + banTypeSlug?: InputMaybe; days: Scalars["Int"]["input"]; reason?: InputMaybe; userId: Scalars["ID"]["input"]; @@ -4411,8 +4423,8 @@ export type MutationUserUploadSchoolLogoArgs = { }; export type MutationVotePostArgs = { - postId: InputMaybe; - value: InputMaybe; + postId?: InputMaybe; + value?: InputMaybe; }; export type NewFeatureAnnouncementNode = { @@ -4429,15 +4441,15 @@ export type Node = { }; export type NotificationCategoryNode = { - configurableNotificationTypes: Maybe>>; - slug: Maybe; - title: Maybe; + configurableNotificationTypes?: Maybe>>; + slug?: Maybe; + title?: Maybe; }; export type NotificationConnection = { /** Contains the nodes in this connection. */ edges: Array>; - id: Maybe; + id?: Maybe; /** Pagination data for this connection. */ pageInfo: PageInfo; }; @@ -4445,17 +4457,17 @@ export type NotificationConnection = { export type NotificationDataNode = { content: Scalars["String"]["output"]; id: Scalars["ID"]["output"]; - metadata: Maybe; + metadata?: Maybe; notificationSet: NotificationNodeConnection; - type: Maybe; + type?: Maybe; }; export type NotificationDataNodeNotificationSetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; /** A Relay edge containing a `Notification` and its cursor. */ @@ -4463,18 +4475,18 @@ export type NotificationEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type NotificationNode = { actioned: Scalars["Boolean"]["output"]; - creationDate: Maybe; + creationDate?: Maybe; /** The ID of the object. */ id: Scalars["ID"]["output"]; modifiedDate: Scalars["Int"]["output"]; notificationData: NotificationDataNode; - notificationId: Maybe; - user: Maybe; + notificationId?: Maybe; + user?: Maybe; }; export type NotificationNodeConnection = { @@ -4489,49 +4501,49 @@ export type NotificationNodeEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type NotificationTypeNode = { - channelSettings: Maybe; - description: Maybe; - identifier: Maybe; - name: Maybe; + channelSettings?: Maybe; + description?: Maybe; + identifier?: Maybe; + name?: Maybe; }; export type OmFavoriteBriefNode = { author: FavoriteBriefUserNode; collectCount: Scalars["Int"]["output"]; - coverBackgroundColor: Maybe; - coverEmoji: Maybe; - coverUrl: Maybe; + coverBackgroundColor?: Maybe; + coverEmoji?: Maybe; + coverUrl?: Maybe; created: Scalars["DateTime"]["output"]; description: Scalars["String"]["output"]; - favoriteType: Maybe; + favoriteType?: Maybe; forkCount: Scalars["Int"]["output"]; - generateFromFavoriteSlug: Maybe; - generatedFavoritesInfo: Maybe; - hasCurrentQuestion: Maybe; + generateFromFavoriteSlug?: Maybe; + generatedFavoritesInfo?: Maybe; + hasCurrentQuestion?: Maybe; isDefaultList: Scalars["Boolean"]["output"]; isPublicFavorite: Scalars["Boolean"]["output"]; lastModified: Scalars["DateTime"]["output"]; - lastQuestionAddedAt: Maybe; + lastQuestionAddedAt?: Maybe; name: Scalars["String"]["output"]; questionNumber: Scalars["Int"]["output"]; - rule: Maybe; + rule?: Maybe; slug: Scalars["String"]["output"]; - viewCount: Maybe; + viewCount?: Maybe; }; export type OmFavoriteListInput = { - favoriteType: InputMaybe; - limit: Scalars["Int"]["input"]; - searchFieldEnum: InputMaybe; - searchKeyword: InputMaybe; - skip: Scalars["Int"]["input"]; - sortBy: InputMaybe; + favoriteType?: InputMaybe; + limit?: Scalars["Int"]["input"]; + searchFieldEnum?: InputMaybe; + searchKeyword?: InputMaybe; + skip?: Scalars["Int"]["input"]; + sortBy?: InputMaybe; /** sort descending or ascending */ - sortDsc: InputMaybe; + sortDsc?: InputMaybe; }; export type OmFavoriteListNode = { @@ -4551,22 +4563,22 @@ export type OmFavoriteQuestionListNode = { }; export type OmFavoriteQuestionNode = { - createdAt: Maybe; + createdAt?: Maybe; difficulty: DifficultyDescribedEnum; /** 出题频率,企业题单专用字段 */ - frequency: Maybe; + frequency?: Maybe; id: Scalars["ID"]["output"]; /** whether the question is in the user's favorites */ isInMyFavorites: Scalars["Boolean"]["output"]; paidOnly: Scalars["Boolean"]["output"]; questionFrontendId: Scalars["String"]["output"]; - questionStats: Maybe; - status: Maybe; + questionStats?: Maybe; + status?: Maybe; submissionNumFromFav: Scalars["Int"]["output"]; title: Scalars["String"]["output"]; titleSlug: Scalars["String"]["output"]; - topicTags: Maybe>; - translatedTitle: Maybe; + topicTags?: Maybe>; + translatedTitle?: Maybe; }; /** An enumeration. */ @@ -4592,27 +4604,27 @@ export type OmFavoriteSortFieldEnum = | "VIEW_COUNT"; export type OmGenerateFavorite = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type OmRemoveQuestionFromFavorite = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type OmUpdateFavorite = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type OccupationRecordNode = { - endTime: Maybe; + endTime?: Maybe; id: Scalars["ID"]["output"]; - jobTitle: Maybe; - startTime: Maybe; + jobTitle?: Maybe; + startTime?: Maybe; toPresent: Scalars["Boolean"]["output"]; - unverifiedOrganizationName: Maybe; + unverifiedOrganizationName?: Maybe; user: PrivateContestUserNode; }; @@ -4622,7 +4634,7 @@ export type OfficialIdeLayoutNode = { }; export type OfficialSolutionFeedbackBriefNode = { - additionalComment: Maybe; + additionalComment?: Maybe; createdAt: Scalars["DateTime"]["output"]; metaInfo: FeedBackMetaNode; rateScore: Scalars["Int"]["output"]; @@ -4630,42 +4642,42 @@ export type OfficialSolutionFeedbackBriefNode = { }; export type OfficialSolutionFeedbackDetailNode = { - additionalComment: Maybe; + additionalComment?: Maybe; authorName: Scalars["String"]["output"]; createdAt: Scalars["DateTime"]["output"]; feedbackUser: Scalars["String"]["output"]; metaInfo: FeedBackMetaNode; - questionInfo: Maybe; + questionInfo?: Maybe; rateScore: Scalars["Int"]["output"]; reasonTagIds: Array; }; export type OfficialSolutionFeedbackFilterInput = { - authors: InputMaybe>>; - categories: InputMaybe>>; - endDate: InputMaybe; - hasComment: InputMaybe; - orderBy: InputMaybe; - questionSlugs: InputMaybe>>; - reasons: InputMaybe>>; - sortOrder: InputMaybe; - startDate: InputMaybe; + authors?: InputMaybe>>; + categories?: InputMaybe>>; + endDate?: InputMaybe; + hasComment?: InputMaybe; + orderBy?: InputMaybe; + questionSlugs?: InputMaybe>>; + reasons?: InputMaybe>>; + sortOrder?: InputMaybe; + startDate?: InputMaybe; }; export type OpenNotifications = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type OptInOrOutDynamicLayoutFeature = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; - optInResult: Maybe; + optInResult?: Maybe; }; export type OptInOrOutPremiumFeature = { - error: Maybe; - success: Maybe; + error?: Maybe; + success?: Maybe; }; export type OrderOperationLogNode = { @@ -4677,13 +4689,13 @@ export type OrderOperationLogNode = { /** The Relay compliant `PageInfo` type, containing data necessary to paginate this connection. */ export type PageInfo = { /** When paginating forwards, the cursor to continue. */ - endCursor: Maybe; + endCursor?: Maybe; /** When paginating forwards, are there more items? */ hasNextPage: Scalars["Boolean"]["output"]; /** When paginating backwards, are there more items? */ hasPreviousPage: Scalars["Boolean"]["output"]; /** When paginating backwards, the cursor to continue. */ - startCursor: Maybe; + startCursor?: Maybe; }; export type PagifiedCommentNode = { @@ -4791,11 +4803,11 @@ export type PagifiedVirtualContestScoreNode = { }; export type PanelQuestionListNode = { - finishedLength: Maybe; + finishedLength?: Maybe; hasViewPermission: Scalars["Boolean"]["output"]; panelName: Scalars["String"]["output"]; questions: Array; - totalLength: Maybe; + totalLength?: Maybe; }; export type PanelQuestionNode = { @@ -4803,13 +4815,13 @@ export type PanelQuestionNode = { id: Scalars["ID"]["output"]; paidOnly: Scalars["Boolean"]["output"]; questionFrontendId: Scalars["String"]["output"]; - questionNumber: Maybe; - score: Maybe; - status: Maybe; + questionNumber?: Maybe; + score?: Maybe; + status?: Maybe; title: Scalars["String"]["output"]; titleSlug: Scalars["String"]["output"]; - topicTags: Maybe>; - translatedTitle: Maybe; + topicTags?: Maybe>; + translatedTitle?: Maybe; }; /** An enumeration. */ @@ -4832,9 +4844,9 @@ export type PasswordErrorEnum = export type PaymentGateways = "LEETPAY" | "PAYPAL" | "STRIPE"; export type PerformNotificationAction = { - error: Maybe; - notification: Maybe; - ok: Maybe; + error?: Maybe; + notification?: Maybe; + ok?: Maybe; }; export type PlanBriefPlanGroupNode = { @@ -4886,7 +4898,7 @@ export type PlanBriefStudyPlanNodeWithGroup = { export type PlanBriefUserNode = { realName: Scalars["String"]["output"]; userAvatar: Scalars["String"]["output"]; - userName: Maybe; + userName?: Maybe; userSlug: Scalars["String"]["output"]; }; @@ -4898,22 +4910,22 @@ export type PlanCatalogNode = { export type PlanCompletedStatusNode = { /** If null, keep polling */ - completedStudyPlan: Maybe; + completedStudyPlan?: Maybe; /** Whether user joined this plan */ joinedStudyPlan: Scalars["Boolean"]["output"]; - planProgressDetail: Maybe; + planProgressDetail?: Maybe; }; /** Used to describe PlanGroup details */ export type PlanDetailPlanGroupNode = { cover: Scalars["String"]["output"]; - creator: Maybe; + creator?: Maybe; dailyQuestionNum: Scalars["String"]["output"]; days: Scalars["String"]["output"]; desc: Scalars["String"]["output"]; hidden: Scalars["Boolean"]["output"]; name: Scalars["String"]["output"]; - ongoingProgress: Maybe; + ongoingProgress?: Maybe; /** All study plans of the planning group */ plans: Array; slug: Scalars["String"]["output"]; @@ -4959,7 +4971,7 @@ export type PlanGroupNode = { days: Scalars["String"]["output"]; hidden: Scalars["Boolean"]["output"]; name: Scalars["String"]["output"]; - ongoingProgress: Maybe; + ongoingProgress?: Maybe; /** All study plans of the planning group */ plans: Array; slug: Scalars["String"]["output"]; @@ -4967,7 +4979,7 @@ export type PlanGroupNode = { export type PlanNextQuestionNode = { inPremiumSubgroup: Scalars["Boolean"]["output"]; - nextQuestion: Maybe; + nextQuestion?: Maybe; }; export type PlanProgressNode = { @@ -5000,7 +5012,7 @@ export type PlanQuestionBriefNode = { questionFrontendId: Scalars["String"]["output"]; title: Scalars["String"]["output"]; titleSlug: Scalars["String"]["output"]; - translatedTitle: Maybe; + translatedTitle?: Maybe; }; export type PlanQuestionLightNode = { @@ -5009,17 +5021,17 @@ export type PlanQuestionLightNode = { id: Scalars["ID"]["output"]; paidOnly: Scalars["Boolean"]["output"]; questionFrontendId: Scalars["String"]["output"]; - solutionInfo: Maybe; - status: Maybe; + solutionInfo?: Maybe; + status?: Maybe; title: Scalars["String"]["output"]; titleSlug: Scalars["String"]["output"]; topicTags: Array; - translatedTitle: Maybe; + translatedTitle?: Maybe; }; export type PlanQuestionSolutionInfoNode = { - solutionSlug: Maybe; - solutionTopicId: Maybe; + solutionSlug?: Maybe; + solutionTopicId?: Maybe; }; /** An enumeration. */ @@ -5105,13 +5117,13 @@ export type PlanTaskNode = { }; export type PlanUserProgressBriefNode = { - allCompletedAt: Maybe; + allCompletedAt?: Maybe; finishedQuestionNum: Scalars["Int"]["output"]; id: Scalars["ID"]["output"]; latestSubmissionAt: Scalars["DateTime"]["output"]; - nextQuestionInfo: Maybe; + nextQuestionInfo?: Maybe; plan: StudyPlanBriefNode; - quittedAt: Maybe; + quittedAt?: Maybe; startedAt: Scalars["DateTime"]["output"]; }; @@ -5120,7 +5132,7 @@ export type PlanUserProgressDetailNode = { id: Scalars["ID"]["output"]; status: PlanUserProgressStatusEnum; studyPlanDetail: StudyPlanDetailNode; - weeklyTaskScheduleResettable: Maybe; + weeklyTaskScheduleResettable?: Maybe; }; export type PlanUserProgressListNode = { @@ -5213,7 +5225,7 @@ export type PlaygroundCodeLang = export type PlaygroundCodeNode = { code: Scalars["String"]["output"]; lang: PlaygroundCodeLang; - langSlug: Maybe; + langSlug?: Maybe; playground: PlaygroundNode; }; @@ -5230,17 +5242,17 @@ export type PlaygroundFolderNode = { }; export type PlaygroundNode = { - folder: Maybe; - isLive: Maybe; - isShared: Maybe; - isUserOwner: Maybe; + folder?: Maybe; + isLive?: Maybe; + isShared?: Maybe; + isUserOwner?: Maybe; modifiedDate: Scalars["DateTime"]["output"]; name: Scalars["String"]["output"]; playgroundcodeSet: Array; - selectedLang: Maybe; - selectedLangSlug: Maybe; - showOpenInPlayground: Maybe; - showRunCode: Maybe; + selectedLang?: Maybe; + selectedLangSlug?: Maybe; + showOpenInPlayground?: Maybe; + showRunCode?: Maybe; testcaseInput: Scalars["String"]["output"]; uuid: Scalars["String"]["output"]; }; @@ -5311,13 +5323,13 @@ export type PlaygroundSelectedLang = export type PlaygroundSnippetNode = { dependencies: Array; description: Scalars["String"]["output"]; - foldingPositions: Maybe>>; - fullSnippetWithDependencies: Maybe; + foldingPositions?: Maybe>>; + fullSnippetWithDependencies?: Maybe; functionName: Scalars["String"]["output"]; - hasDependencies: Maybe; + hasDependencies?: Maybe; hidden: Scalars["Boolean"]["output"]; lang: PlaygroundSnippetsLang; - langSlug: Maybe; + langSlug?: Maybe; playgroundsnippetsSet: Array; snippet: Scalars["String"]["output"]; }; @@ -5454,17 +5466,17 @@ export type PlaygroundTemplateCodeLang = | "A_29"; export type PlaygroundTemplateCodeNode = { - foldingPositions: Maybe>>; + foldingPositions?: Maybe>>; lang: PlaygroundTemplateCodeLang; - langSlug: Maybe; + langSlug?: Maybe; templateCode: Scalars["String"]["output"]; }; export type PlaygroundTemplateNode = { - codes: Maybe>>; + codes?: Maybe>>; name: Scalars["String"]["output"]; nameSlug: Scalars["String"]["output"]; - templateId: Maybe; + templateId?: Maybe; testcaseInput: Scalars["String"]["output"]; user: PrivateContestUserNode; }; @@ -5474,8 +5486,8 @@ export type PlaygroundTemplateNodeCodesArgs = { }; export type PointListNode = { - hasNext: Maybe; - points: Maybe>>; + hasNext?: Maybe; + points?: Maybe>>; }; export type PostMentionedUser = { @@ -5487,34 +5499,34 @@ export type PostMentionedUser = { export type PostNode = { anonymous: Scalars["Boolean"]["output"]; - asTopic: Maybe; - author: Maybe; - authorAdminOnly: Maybe; - authorIsModerator: Maybe; + asTopic?: Maybe; + author?: Maybe; + authorAdminOnly?: Maybe; + authorIsModerator?: Maybe; coinRewards: Array; - comment: Maybe; - commentId: Maybe; + comment?: Maybe; + commentId?: Maybe; content: Scalars["String"]["output"]; - contentPreview: Maybe; - creationDate: Maybe; + contentPreview?: Maybe; + creationDate?: Maybe; id: Scalars["Int"]["output"]; - isHidden: Maybe; - isOwnPost: Maybe; - isReported: Maybe; - mentionedUsers: Maybe>>; + isHidden?: Maybe; + isOwnPost?: Maybe; + isReported?: Maybe; + mentionedUsers?: Maybe>>; nodebbPid: Scalars["Int"]["output"]; originalContent: Scalars["String"]["output"]; - peek: Maybe; - reports: Maybe>>; + peek?: Maybe; + reports?: Maybe>>; searchScore: Scalars["Float"]["output"]; - status: Maybe; - topic: Maybe; - topicId: Maybe; - topicTitle: Maybe; - updationDate: Maybe; + status?: Maybe; + topic?: Maybe; + topicId?: Maybe; + topicTitle?: Maybe; + updationDate?: Maybe; voteCount: Scalars["Int"]["output"]; voteSet: Array; - voteStatus: Maybe; + voteStatus?: Maybe; voteUpCount: Scalars["Int"]["output"]; }; @@ -5531,20 +5543,20 @@ export type PostStatus = export type PremiumBetaFeatureNode = { creationDate: Scalars["DateTime"]["output"]; description: Scalars["String"]["output"]; - endsAt: Maybe; + endsAt?: Maybe; featureId: Scalars["Int"]["output"]; - featureUrl: Maybe; - feedbackUrl: Maybe; + featureUrl?: Maybe; + feedbackUrl?: Maybe; /** Indicates whether a user has access to this feature. */ - hasAccess: Maybe; + hasAccess?: Maybe; id: Scalars["ID"]["output"]; - imageHeight: Maybe; + imageHeight?: Maybe; imageUrl: Scalars["String"]["output"]; isEnabled: Scalars["Boolean"]["output"]; /** Indicates whether a user has opted in for this feature. */ - optedIn: Maybe; - order: Maybe; - startsAt: Maybe; + optedIn?: Maybe; + order?: Maybe; + startsAt?: Maybe; title: Scalars["String"]["output"]; type: PremiumBetaFeatureType; updationDate: Scalars["DateTime"]["output"]; @@ -5595,9 +5607,9 @@ export type PremiumTrialApplyStatus = | "REJECTED"; export type PremiumTrialRecordsInput = { - limit: Scalars["Int"]["input"]; - searchBy: InputMaybe; - searchKeyword: InputMaybe; + limit?: Scalars["Int"]["input"]; + searchBy?: InputMaybe; + searchKeyword?: InputMaybe; skip: Scalars["Int"]["input"]; }; @@ -5609,13 +5621,13 @@ export type PremiumTrialSku = | "MONTHLY"; export type PricingNode = { - originalPrice: Maybe; - price: Maybe; + originalPrice?: Maybe; + price?: Maybe; }; export type PrivateContestUserNode = { achievementSet: Array; - activeBadge: Maybe; + activeBadge?: Maybe; archiveduserSet: Array; articlepageSet: Array; badgeSet: Array; @@ -5624,7 +5636,7 @@ export type PrivateContestUserNode = { commentSet: Array; companySet: Array; completionSet: Array; - contestBadge: Maybe; + contestBadge?: Maybe; contestreportSet: Array; contestreportlccnSet: Array; contributionSet: Array; @@ -5634,40 +5646,40 @@ export type PrivateContestUserNode = { dateJoined: Scalars["DateTime"]["output"]; debugSession: Array; educationrecordSet: Array; - email: Maybe; + email?: Maybe; emailaddressSet: Array; - emails: Maybe>>; + emails?: Maybe>>; favoriteSet: Array; firstName: Scalars["String"]["output"]; flagSet: Array; flagresultSet: Array; - githubUrl: Maybe; - hasChangedUsernameRecently: Maybe; - hasUsablePassword: Maybe; - id: Maybe; + githubUrl?: Maybe; + hasChangedUsernameRecently?: Maybe; + hasUsablePassword?: Maybe; + id?: Maybe; /** Designates whether this user should be treated as active. Unselect this instead of deleting accounts. */ isActive: Scalars["Boolean"]["output"]; - isCurrentUserPremium: Maybe; - isCurrentUserVerified: Maybe; - isDiscussAdmin: Maybe; - isDiscussStaff: Maybe; + isCurrentUserPremium?: Maybe; + isCurrentUserVerified?: Maybe; + isDiscussAdmin?: Maybe; + isDiscussStaff?: Maybe; /** Designates whether the user can log into this admin site. */ isStaff: Scalars["Boolean"]["output"]; /** Designates that this user has all permissions without explicitly assigning them. */ isSuperuser: Scalars["Boolean"]["output"]; joinedTimestamp: Scalars["Int"]["output"]; - languageProblemCount: Maybe>; - lastLogin: Maybe; + languageProblemCount?: Maybe>; + lastLogin?: Maybe; lastName: Scalars["String"]["output"]; - lastParticipatedContest: Maybe; + lastParticipatedContest?: Maybe; libraryactivitySet: QuestionActivityNodeConnection; - linkedinUrl: Maybe; - nameColor: Maybe; + linkedinUrl?: Maybe; + nameColor?: Maybe; notificationSet: NotificationNodeConnection; occupationrecordSet: Array; participatedTimes: Scalars["Int"]["output"]; password: Scalars["String"]["output"]; - phone: Maybe; + phone?: Maybe; playgroundSet: Array; playgroundfolderSet: Array; playgroundtemplateSet: Array; @@ -5684,7 +5696,7 @@ export type PrivateContestUserNode = { reporter: Array; scoreUser: Array; sessionSet: InterviewSessionNodeConnection; - socialAccounts: Maybe>; + socialAccounts?: Maybe>; storeaddressSet: Array; storeorderSet: Array; storeorderoperationlogSet: Array; @@ -5693,7 +5705,7 @@ export type PrivateContestUserNode = { submitStats: UserSubmitStatsNode; submitStatsGlobal: UserSubmitStatsNode; tagProblemCounts: TagProblemCountsCategoryNode; - twitterUrl: Maybe; + twitterUrl?: Maybe; upcomingBadges: Array; userCalendar: UserCalendarNode; useripSet: Array; @@ -5708,52 +5720,52 @@ export type PrivateContestUserNode = { }; export type PrivateContestUserNodeCreatedByArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type PrivateContestUserNodeLibraryactivitySetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type PrivateContestUserNodeNotificationSetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type PrivateContestUserNodeQuestionSetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type PrivateContestUserNodeSessionSetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type PrivateContestUserNodeUserCalendarArgs = { - year: InputMaybe; + year?: InputMaybe; }; export type ProblemSolvedBeatsNode = { difficulty: Scalars["String"]["output"]; - percentage: Maybe; + percentage?: Maybe; }; export type ProdTestcase = { @@ -5776,11 +5788,11 @@ export type ProfileUpdateErrorEnum = | "INVALID_WEBSITE"; export type ProgressListFilterInput = { - difficulty: InputMaybe; - orderBy: InputMaybe; - searchKeywords: InputMaybe; - sortOrder: InputMaybe; - tags: InputMaybe>; + difficulty?: InputMaybe; + orderBy?: InputMaybe; + searchKeywords?: InputMaybe; + sortOrder?: InputMaybe; + tags?: InputMaybe>; }; export type ProgressOrderByEnum = @@ -5794,188 +5806,189 @@ export type ProgressOrderByEnum = export type ProgressStatus = "ACCEPTED" | "ATTEMPTED" | "UNATTEMPTED"; export type PublishContestAnnouncement = { - ok: Maybe; + ok?: Maybe; }; export type PublishSolution = { - error: Maybe; - ok: Maybe; - topic: Maybe; + error?: Maybe; + ok?: Maybe; + topic?: Maybe; }; export type PublishStatus = "PUBLISHED" | "UNKNOWN" | "UNPUBLISHED"; export type Query = { - achievement: Maybe; - achievements: Maybe>>; - activeDailyCodingChallengeQuestion: Maybe; - activeDiscountEvent: Maybe; + achievement?: Maybe; + achievements?: Maybe>>; + activeDailyCodingChallengeQuestion?: Maybe; + activeDiscountEvent?: Maybe; advertisementByLocation: Array; - allComments: Maybe; - allContests: Maybe>>; - allContributions: Maybe; - allLeetcodePlaygroundTemplates: Maybe>>; + allComments?: Maybe; + allContests?: Maybe>>; + allContributions?: Maybe; + allLeetcodePlaygroundTemplates?: Maybe>>; /** query a list of common complexities */ - allPinnedComplexitys: Maybe>; - allPlaygroundCodes: Maybe>>; - allPlaygroundDatasets: Maybe>>; - allPlaygroundFolders: Maybe>>; - allPlaygroundSnippets: Maybe>>; - allPlaygrounds: Maybe>>; - allPrivateContests: Maybe>; - allProgress: Maybe; - allQuestions: Maybe>>; + allPinnedComplexitys?: Maybe>; + allPlaygroundCodes?: Maybe>>; + allPlaygroundDatasets?: Maybe>>; + allPlaygroundFolders?: Maybe>>; + allPlaygroundSnippets?: Maybe>>; + allPlaygrounds?: Maybe>>; + allPrivateContests?: Maybe>; + allProgress?: Maybe; + allQuestions?: Maybe>>; allQuestionsCount: Array; - allQuestionsRaw: Maybe>>; + allQuestionsRaw?: Maybe>>; allSchoolInfoUrl: Scalars["String"]["output"]; - allTopics: Maybe; - allUserPlaygroundTemplates: Maybe>>; - allUsers: Maybe; - allVirtualContestScores: Maybe>>; + allTopics?: Maybe; + allUserPlaygroundTemplates?: Maybe>>; + allUsers?: Maybe; + allVirtualContestScores?: Maybe>>; allVirtualContestScoresPagified: PagifiedVirtualContestScoreNode; announcements: Array; - application: Maybe; - applications: Maybe>>; + application?: Maybe; + applications?: Maybe>>; archivedUsers: Array; - article: Maybe; - blacklist: Maybe; - brightTitle: Maybe; - btsReferral: Maybe; - cachedTrendingCategoryTopics: Maybe>>; + article?: Maybe; + blacklist?: Maybe; + brightTitle?: Maybe; + btsReferral?: Maybe; + cachedTrendingCategoryTopics?: Maybe>>; canSeeOtherSubmissionHistory: Scalars["Boolean"]["output"]; - card: Maybe; - cards: Maybe>>; - cardsWithStats: Maybe>>; - categories: Maybe>>; - categoryTopicList: Maybe; - cfTurnstileAppearance: Maybe; - cfTurnstileKey: Maybe; + card?: Maybe; + cards?: Maybe>>; + cardsWithStats?: Maybe>>; + categories?: Maybe>>; + categoryTopicList?: Maybe; + cfTurnstileAppearance?: Maybe; + cfTurnstileKey?: Maybe; challenges: Array; - channels: Maybe>>; - chapter: Maybe; - chapters: Maybe>>; - chinaHost: Maybe; - codeWithMemory: Maybe; - codeWithRuntime: Maybe; - comment: Maybe; - commentContext: Maybe; - commentReplies: Maybe>; - commonKeyword: Maybe; + channels?: Maybe>>; + chapter?: Maybe; + chapters?: Maybe>>; + chinaHost?: Maybe; + codeWithMemory?: Maybe; + codeWithRuntime?: Maybe; + comment?: Maybe; + commentContext?: Maybe; + commentReplies?: Maybe>; + commonKeyword?: Maybe; companies: Array; - companyTag: Maybe; - companyTags: Maybe>; - contest: Maybe; - contestDetail: Maybe; - contestQuestion: Maybe; - contestQuestionSubmissionList: Maybe; + companyTag?: Maybe; + companyTags?: Maybe>; + contest?: Maybe; + contestDetail?: Maybe; + contestQuestion?: Maybe; + contestQuestionSubmissionList?: Maybe; contestRatingHistogram: Array; contestReportApproveSummary: ContestReportSummaryNode; contestReports: Array; contestReportsLccn: Array; contestRootBanners: Array; - contestTopics: Maybe; - contribution: Maybe; - contributions: Maybe>>; + contestTopics?: Maybe; + contribution?: Maybe; + contributions?: Maybe>>; createdPublicFavoriteList: FavoriteDetailListNode; - currentContestAnnouncements: Maybe>>; - currentDailyCodingChallenge: Maybe; - currentSubscriptionInfo: Maybe; - currentTimestamp: Maybe; - dailyChallengeMedal: Maybe; - dailyCodingChallenge: Maybe; - dailyCodingChallengeV2: Maybe; - dashboardItem: Maybe; - dccSubmissionInfo: Maybe; - dccSubmissionPolling: Maybe; - dccSubmissionPollingV2: Maybe; - debuggerLanguageFeatures: Maybe>; - defaultSubscriptionPricing: Maybe; + currentContestAnnouncements?: Maybe>>; + currentDailyCodingChallenge?: Maybe; + currentSubscriptionInfo?: Maybe; + currentTimestamp?: Maybe; + dailyChallengeMedal?: Maybe; + dailyCodingChallenge?: Maybe; + dailyCodingChallengeV2?: Maybe; + dashboardItem?: Maybe; + dccSubmissionInfo?: Maybe; + dccSubmissionPolling?: Maybe; + dccSubmissionPollingV2?: Maybe; + debuggerLanguageFeatures?: Maybe>; + defaultSubscriptionPricing?: Maybe; deleteUserRequests: DeleteUserRequestListNode; didCompleteUpc: Scalars["Boolean"]["output"]; - discussCategory: Maybe; + discussCategory?: Maybe; discussQuestionTopicTags: Array; - educationRecordList: Maybe>>; - emailEvent: Maybe; - emailEvents: Maybe>>; - emailSendSession: Maybe; - emailSendSessions: Maybe>>; - emailTemplate: Maybe; - emailTemplates: Maybe>>; + educationRecordList?: Maybe>>; + emailEvent?: Maybe; + emailEvents?: Maybe>>; + emailSendSession?: Maybe; + emailSendSessions?: Maybe>>; + emailTemplate?: Maybe; + emailTemplates?: Maybe>>; enableContestRankingDynamicLayout: Scalars["Boolean"]["output"]; enableIdeDynamicLayoutFeature: Scalars["Boolean"]["output"]; - favorite: Maybe; - favoriteCards: Maybe>>; - favoriteDetailV2: Maybe; + favorite?: Maybe; + favoriteCards?: Maybe>>; + favoriteDetailV2?: Maybe; /** ac, notac, or null */ - favoriteQuestionAcStatus: Maybe; + favoriteQuestionAcStatus?: Maybe; favoriteQuestionList: FavoriteQuestionListNode; - favoriteSubmitAcProgress: Maybe; + favoriteSubmitAcProgress?: Maybe; /** user progress of a favorite, either his own or collected ones */ favoriteUserQuestionProgressV2: UserQuestionProgressNodeV2; - favoritesLists: Maybe; - feature: Maybe; + favoritesLists?: Maybe; + feature?: Maybe; featuredContests: Array; featuredQuestionLists: Array; - feedbackMetaInfoBySlug: Maybe; - filterableCategories: Maybe>>; - filteredSubmissions: Maybe; + feedbackMetaInfoBySlug?: Maybe; + filterableCategories?: Maybe>>; + filteredSubmissions?: Maybe; flagReasons: Array; - flagResourceType: Maybe; + flagResourceType?: Maybe; frontendQuestionSubmissionResults: Array>; - globalRanking: Maybe; + generateLeetcodeUserApiToken?: Maybe; + globalRanking?: Maybe; growthbookTest: Scalars["String"]["output"]; hasAccessToFavorite: AccessToFavoriteNode; hasFavoriteSessionReset: Scalars["Boolean"]["output"]; - hasTakenCancelSurvey: Maybe; - hasTakenSubscriptionSurvey: Maybe; - historyCards: Maybe>>; - htmlArticle: Maybe; + hasTakenCancelSurvey?: Maybe; + hasTakenSubscriptionSurvey?: Maybe; + historyCards?: Maybe>>; + htmlArticle?: Maybe; /** user preference dynamic layouts */ ideDynamicLayouts: Array; intentionTags: Array>; - internalContestAwardedUsers: Maybe>>; - internalContestFeedbackEmail: Maybe; - internalContestRegisterEmail: Maybe; + internalContestAwardedUsers?: Maybe>>; + internalContestFeedbackEmail?: Maybe; + internalContestRegisterEmail?: Maybe; /** Used for stuff to create orders manually */ internalStoreItems: Array; interviewAllSessions: InterviewSessionConnection; - interviewCardList: Maybe>; - interviewCurrentSession: Maybe; + interviewCardList?: Maybe>; + interviewCurrentSession?: Maybe; interviewGlobalStats: InterviewGlobalStatsNode; interviewIncompleteCards: Array; interviewScoreProgress: Array; - interviewSession: Maybe; + interviewSession?: Maybe; interviewSubmissions: InterviewSubmissionConnection; - interviewed: Maybe; - isCurrentUserAuthenticated: Maybe; + interviewed?: Maybe; + isCurrentUserAuthenticated?: Maybe; isEasterEggCollected: Scalars["Boolean"]["output"]; isMyCollectedFavorite: Scalars["Boolean"]["output"]; isMyCreatedFavorite: Scalars["Boolean"]["output"]; - isPremium: Maybe; + isPremium?: Maybe; isProgressCalculated: Scalars["Boolean"]["output"]; isSolutionTopic: Scalars["Boolean"]["output"]; - item: Maybe; - items: Maybe>>; - languageList: Maybe>>; - lastAcSubmission: Maybe; - learningContext: Maybe; - learningContextV2: Maybe; - libraryActivity: Maybe; + item?: Maybe; + items?: Maybe>>; + languageList?: Maybe>>; + lastAcSubmission?: Maybe; + learningContext?: Maybe; + learningContextV2?: Maybe; + libraryActivity?: Maybe; libraryActivityTypes: Array; libraryCategories: Array; - libraryDefaultTemplate: Maybe; + libraryDefaultTemplate?: Maybe; libraryDifficulties: Array; libraryLangList: Array; libraryMatchTypes: Array; - libraryQuestion: Maybe; + libraryQuestion?: Maybe; libraryQuestionTypes: Array; libraryQuestions: LibraryQuestionConnection; librarySolutionStatus: Array; - localRanking: Maybe; - locationDict: Maybe; + localRanking?: Maybe; + locationDict?: Maybe; locations: Array>; - loginSocial: Maybe>>; - loginUrl: Maybe; + loginSocial?: Maybe>>; + loginUrl?: Maybe; managementCompanyQuestionOptions: CompanyQuestionOptionsNode; managementCompanyQuestionV2: CompanyQuestionListNode; managementCompanyQuestions: ManagementCompanyQuestionListNode; @@ -5992,122 +6005,124 @@ export type Query = { /** Tag List */ managementTags: ManagementTagNode; managementTeamMembers: ManagementTeamMemberListNode; - matchedUser: Maybe; - matchedUsers: Maybe>>; - medal: Maybe; - mostRecentCard: Maybe; + matchedUser?: Maybe; + matchedUsers?: Maybe>>; + medal?: Maybe; + mostRecentCard?: Maybe; myCollectedFavoriteList: FavoriteBriefListNode; - myContests: Maybe; + myContests?: Maybe; myCreatedFavoriteList: FavoriteBriefListNode; - myOrders: Maybe>; + myOrders?: Maybe>; myPlaygroundState: PlaygroundStateNode; - newFeatureAnnouncements: Maybe>; - nextChallengePairs: Maybe; - nextSolution: Maybe; - notification: Maybe; - notificationCategories: Maybe>>; - notificationStatus: Maybe; - notificationTypes: Maybe>>; - notifications: Maybe; - occupationRecordList: Maybe>>; + newFeatureAnnouncements?: Maybe>; + nextChallengePairs?: Maybe; + nextSolution?: Maybe; + notification?: Maybe; + notificationCategories?: Maybe>>; + notificationStatus?: Maybe; + notificationTypes?: Maybe>>; + notifications?: Maybe; + occupationRecordList?: Maybe>>; /** official IDE dynamic layout */ officialIdeDynamicLayout: Array; - officialSolutionFeedbacks: Maybe; + officialSolutionFeedbacks?: Maybe; omFavoriteList: OmFavoriteListNode; omFavoriteLogs: Array>; omFavoriteQuestionList: OmFavoriteQuestionListNode; - ongoingVirtualContest: Maybe; - orderDetails: Maybe; - panelQuestionList: Maybe; + ongoingVirtualContest?: Maybe; + orderDetails?: Maybe; + panelQuestionList?: Maybe; pastContests: PagifiedContestNode; planCompletedPlans: Array; planGroupCatalogs: Array; - planGroupDetail: Maybe; + planGroupDetail?: Maybe; planGroupsByCatalog: PlanGroupListNode; planGroupsByTag: PlanGroupListNode; planOngoingProgresses: Array; - planProgressDetail: Maybe; - playground: Maybe; - playgroundCode: Maybe; - playgroundSnippet: Maybe; - playgroundTemplate: Maybe; - pointList: Maybe; - pollInterval: Maybe; - post: Maybe; + planProgressDetail?: Maybe; + playground?: Maybe; + playgroundCode?: Maybe; + playgroundSnippet?: Maybe; + playgroundTemplate?: Maybe; + pointList?: Maybe; + pollInterval?: Maybe; + post?: Maybe; premiumBetaFeatures: Array; - prevSolution: Maybe; - privateContestAllParticipants: Maybe>; - privateContestPastParticipants: Maybe>; - privateContestRegisteredUserIds: Maybe>>; - problemsetLearningContext: Maybe; - question: Maybe; - questionCompanyTags: Maybe; - questionDiscussionTopic: Maybe; - questionFeedback: Maybe; + prevSolution?: Maybe; + privateContestAllParticipants?: Maybe>; + privateContestPastParticipants?: Maybe>; + privateContestRegisteredUserIds?: Maybe< + Array> + >; + problemsetLearningContext?: Maybe; + question?: Maybe; + questionCompanyTags?: Maybe; + questionDiscussionTopic?: Maybe; + questionFeedback?: Maybe; questionFeedbackReasons: Array; - questionList: Maybe; + questionList?: Maybe; questionNumByTags: Scalars["Int"]["output"]; questionSatisfactionSurvey: QuestionSatisfactionSurveyNode; questionSolutions: QuestionSolutionsNode; - questionSubmissionList: Maybe; - questionTag: Maybe; - questionTagsAdmin: Maybe>; - questionTagsSuggest: Maybe>>; - questionTopicTags: Maybe; - questionTopics: Maybe; - questionTopicsList: Maybe; - randomPanelQuestion: Maybe; - randomQuestion: Maybe; - recaptchaKey: Maybe; - recaptchaKeyV2: Maybe; - recentAcSubmissionList: Maybe>; - recentSubmissionList: Maybe>; + questionSubmissionList?: Maybe; + questionTag?: Maybe; + questionTagsAdmin?: Maybe>; + questionTagsSuggest?: Maybe>>; + questionTopicTags?: Maybe; + questionTopics?: Maybe; + questionTopicsList?: Maybe; + randomPanelQuestion?: Maybe; + randomQuestion?: Maybe; + recaptchaKey?: Maybe; + recaptchaKeyV2?: Maybe; + recentAcSubmissionList?: Maybe>; + recentSubmissionList?: Maybe>; recommendSolutionTags: Array>; redeemedTimeTravelTicketCount: Scalars["Int"]["output"]; relatedSolutions: Array>; - rewindData: Maybe; + rewindData?: Maybe; rootCategory: Array; schools: Array; - scriptTaskResult: Maybe; - scripts: Maybe>; - sessions: Maybe; - showAnnualModalOnQd: Maybe; - siteAnnouncements: Maybe>>; - siteRegion: Maybe; - sitewideAnnouncement: Maybe; - skillTags: Maybe>>; + scriptTaskResult?: Maybe; + scripts?: Maybe>; + sessions?: Maybe; + showAnnualModalOnQd?: Maybe; + siteAnnouncements?: Maybe>>; + siteRegion?: Maybe; + sitewideAnnouncement?: Maybe; + skillTags?: Maybe>>; solutionLanguageTags: Array>; solutionTopicTags: Array>; solvedQuestionsInfo: PagifiedQuestionLastSolveNode; - spamModerationPosts: Maybe; + spamModerationPosts?: Maybe; /** start to practice a question in a favorite */ - startToPracticeQuestion: Maybe; - statusList: Maybe>>; + startToPracticeQuestion?: Maybe; + statusList?: Maybe>>; storeItems: Array; storeOrderOperationLogs: Array; - streakCounter: Maybe; + streakCounter?: Maybe; stripePublicKey: Scalars["String"]["output"]; - studyPlanMedalPolling: Maybe; + studyPlanMedalPolling?: Maybe; /** get all enabled study plan catalogs */ studyPlanV2Catalogs: Array; /** Poll this API after submission get AC. */ - studyPlanV2CompletedStatus: Maybe; + studyPlanV2CompletedStatus?: Maybe; /** get a study plan detail */ - studyPlanV2Detail: Maybe; + studyPlanV2Detail?: Maybe; /** get a user progress detail */ - studyPlanV2ProgressDetail: Maybe; + studyPlanV2ProgressDetail?: Maybe; /** get the ranking board of a study plan */ studyPlanV2RankingBoard: UserRankInfoList; /** get the most recent user completed progress detail */ - studyPlanV2RecentCompletedProgress: Maybe; + studyPlanV2RecentCompletedProgress?: Maybe; /** whether the current user hide on the rank board */ - studyPlanV2UserHideRank: Maybe; + studyPlanV2UserHideRank?: Maybe; /** user on going study plans */ - studyPlanV2UserProgresses: Maybe; + studyPlanV2UserProgresses?: Maybe; /** get current user rank in a plan */ - studyPlanV2UserRank: Maybe; + studyPlanV2UserRank?: Maybe; /** get weekly task records by year and month */ - studyPlanV2WeeklyTaskRecords: Maybe; + studyPlanV2WeeklyTaskRecords?: Maybe; /** get advertisement study plans of feature on playground */ studyPlansV2AdFeature: Array; /** get advertisement study plans on questions page */ @@ -6121,68 +6136,68 @@ export type Query = { /** get study plans for homepage */ studyPlansV2ForHomepage: Array; /** query submission complexity */ - submissionComplexity: Maybe; - submissionDetails: Maybe; - submissionList: Maybe; - submittableLanguageList: Maybe>>; - subscribeUrl: Maybe; - subscriptionPricing: Maybe; - subscriptionReferral: Maybe; - survey: Maybe; + submissionComplexity?: Maybe; + submissionDetails?: Maybe; + submissionList?: Maybe; + submittableLanguageList?: Maybe>>; + subscribeUrl?: Maybe; + subscriptionPricing?: Maybe; + subscriptionReferral?: Maybe; + survey?: Maybe; surveyStatus: SurveyStatusNode; surveyV2: SurveyV2Node; surveyV2WithoutCheckFunc: SurveyV2Node; - syncedCode: Maybe; - tagTopicList: Maybe; + syncedCode?: Maybe; + tagTopicList?: Maybe; topTwoContests: Array>; - topic: Maybe; - topicComments: Maybe; - topicTag: Maybe; + topic?: Maybe; + topicComments?: Maybe; + topicTag?: Maybe; topicTags: Array; topicTagsSuggest: Array; topicUsers: Array>; - upcV2InterestTags: Maybe>; - upcomingContests: Maybe>; - user: Maybe; + upcV2InterestTags?: Maybe>; + upcomingContests?: Maybe>; + user?: Maybe; userAccountFrozenInfo: UserAccountFrozenInfoNode; - userCategoryTopics: Maybe; - userContestRanking: Maybe; - userContestRankingHistory: Maybe>; - userCountryCode: Maybe; + userCategoryTopics?: Maybe; + userContestRanking?: Maybe; + userContestRankingHistory?: Maybe>; + userCountryCode?: Maybe; userManagementCreditCards: Array>; userManagementIpList: ManagementIpListNode; - userManagementIpManagementLogs: Maybe>; - userManagementLogsByManager: Maybe>; + userManagementIpManagementLogs?: Maybe>; + userManagementLogsByManager?: Maybe>; userManagementOperationHistory: ManagementOperationHistoryNode; userManagementPremiumTrialRecordDetail: TrialRecordNode; userManagementPremiumTrialRecords: TrialRecordListNode; userManagementScoreHistory: ManagementScoreListNode; - userManagementSearch: Maybe; + userManagementSearch?: Maybe; userManagementStoreOrders: ManagementStoreOrderListNode; userManagementStripeCharges: ManagementStripeChargeListNode; userManagementUserBanTypes: Array>; - userManagementUserDetail: Maybe; + userManagementUserDetail?: Maybe; userManagementVac: VacRecordListNode; - userOfficialSolutionFeedback: Maybe; + userOfficialSolutionFeedback?: Maybe; /** 获取用户当前 session 的做题进展,新版接口 */ userProfileUserQuestionProgressV2: UserQuestionProgressNodeV2; - userRecentTopics: Maybe>; - userReports: Maybe; - userSolutionTopics: Maybe; - userStatus: Maybe; - userToManage: Maybe; - users: Maybe>>; + userRecentTopics?: Maybe>; + userReports?: Maybe; + userSolutionTopics?: Maybe; + userStatus?: Maybe; + userToManage?: Maybe; + users?: Maybe>>; validTimeTravelTicketCount: Scalars["Int"]["output"]; - video: Maybe; - votes: Maybe; - webPage: Maybe; - websocketUrl: Maybe; + video?: Maybe; + votes?: Maybe; + webPage?: Maybe; + websocketUrl?: Maybe; wordListTypes: Array>; - worldCities: Maybe>; - worldCountries: Maybe>; - worldSubcountries: Maybe>; + worldCities?: Maybe>; + worldCountries?: Maybe>; + worldSubcountries?: Maybe>; /** list of yearly medals which are qualified to acquire */ - yearlyMedalsQualified: Maybe>; + yearlyMedalsQualified?: Maybe>; }; export type QueryAchievementArgs = { @@ -6194,19 +6209,19 @@ export type QueryAdvertisementByLocationArgs = { }; export type QueryAllCommentsArgs = { - endDate: InputMaybe; - ip: InputMaybe; + endDate?: InputMaybe; + ip?: InputMaybe; numPerPage?: InputMaybe; - orderBy: InputMaybe; + orderBy?: InputMaybe; pageNo?: InputMaybe; - reportType: InputMaybe; - reported: InputMaybe; - search: InputMaybe; - startDate: InputMaybe; - status: InputMaybe; - submissionCount: InputMaybe; - usernames: InputMaybe; - wordListType: InputMaybe; + reportType?: InputMaybe; + reported?: InputMaybe; + search?: InputMaybe; + startDate?: InputMaybe; + status?: InputMaybe; + submissionCount?: InputMaybe; + usernames?: InputMaybe; + wordListType?: InputMaybe; }; export type QueryAllContributionsArgs = { @@ -6221,12 +6236,12 @@ export type QueryAllContributionsArgs = { }; export type QueryAllPlaygroundCodesArgs = { - uuid: InputMaybe; + uuid?: InputMaybe; }; export type QueryAllPlaygroundSnippetsArgs = { - langSlug: InputMaybe; - query: InputMaybe; + langSlug?: InputMaybe; + query?: InputMaybe; }; export type QueryAllQuestionsArgs = { @@ -6242,28 +6257,28 @@ export type QueryAllQuestionsRawArgs = { }; export type QueryAllTopicsArgs = { - endDate: InputMaybe; - ip: InputMaybe; + endDate?: InputMaybe; + ip?: InputMaybe; numPerPage?: InputMaybe; - orderBy: InputMaybe; + orderBy?: InputMaybe; pageNo?: InputMaybe; - reportType: InputMaybe; - reported: InputMaybe; - search: InputMaybe; - startDate: InputMaybe; - status: InputMaybe; - submissionCount: InputMaybe; - usernames: InputMaybe; - wordListType: InputMaybe; + reportType?: InputMaybe; + reported?: InputMaybe; + search?: InputMaybe; + startDate?: InputMaybe; + status?: InputMaybe; + submissionCount?: InputMaybe; + usernames?: InputMaybe; + wordListType?: InputMaybe; }; export type QueryAllUsersArgs = { - avatarStatus: InputMaybe; - endDate: InputMaybe; + avatarStatus?: InputMaybe; + endDate?: InputMaybe; isAvatarCheck?: InputMaybe; numPerPage?: InputMaybe; pageNo?: InputMaybe; - startDate: InputMaybe; + startDate?: InputMaybe; }; export type QueryAllVirtualContestScoresPagifiedArgs = { @@ -6272,7 +6287,7 @@ export type QueryAllVirtualContestScoresPagifiedArgs = { }; export type QueryApplicationArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryArticleArgs = { @@ -6281,7 +6296,7 @@ export type QueryArticleArgs = { }; export type QueryCachedTrendingCategoryTopicsArgs = { - first: InputMaybe; + first?: InputMaybe; }; export type QueryCanSeeOtherSubmissionHistoryArgs = { @@ -6289,43 +6304,43 @@ export type QueryCanSeeOtherSubmissionHistoryArgs = { }; export type QueryCardArgs = { - cardSlug: InputMaybe; + cardSlug?: InputMaybe; }; export type QueryCardsArgs = { - categorySlug: InputMaybe; + categorySlug?: InputMaybe; }; export type QueryCategoriesArgs = { - slug: InputMaybe; + slug?: InputMaybe; }; export type QueryCategoryTopicListArgs = { - after: InputMaybe; - before: InputMaybe; - categories: InputMaybe>>; - first: InputMaybe; - last: InputMaybe; - orderBy: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + categories?: InputMaybe>>; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; query?: InputMaybe; - skip: InputMaybe; - tags: InputMaybe>>; + skip?: InputMaybe; + tags?: InputMaybe>>; }; export type QueryChallengesArgs = { - fromDate: InputMaybe; - includeFuture: InputMaybe; - includePast: InputMaybe; - toDate: InputMaybe; + fromDate?: InputMaybe; + includeFuture?: InputMaybe; + includePast?: InputMaybe; + toDate?: InputMaybe; }; export type QueryChapterArgs = { - cardSlug: InputMaybe; - chapterId: InputMaybe; + cardSlug?: InputMaybe; + chapterId?: InputMaybe; }; export type QueryChaptersArgs = { - cardSlug: InputMaybe; + cardSlug?: InputMaybe; }; export type QueryCodeWithMemoryArgs = { @@ -6343,18 +6358,18 @@ export type QueryCodeWithRuntimeArgs = { }; export type QueryCommentArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryCommentContextArgs = { - commentId: InputMaybe; + commentId?: InputMaybe; numPerPage?: InputMaybe; orderBy?: InputMaybe; - topicId: InputMaybe; + topicId?: InputMaybe; }; export type QueryCommentRepliesArgs = { - commentId: InputMaybe; + commentId?: InputMaybe; }; export type QueryCommonKeywordArgs = { @@ -6362,33 +6377,33 @@ export type QueryCommonKeywordArgs = { }; export type QueryCompaniesArgs = { - search: InputMaybe; + search?: InputMaybe; }; export type QueryCompanyTagArgs = { - slug: InputMaybe; + slug?: InputMaybe; }; export type QueryContestArgs = { - titleSlug: InputMaybe; + titleSlug?: InputMaybe; }; export type QueryContestDetailArgs = { - contestSlug: InputMaybe; + contestSlug?: InputMaybe; }; export type QueryContestQuestionArgs = { - contestSlug: InputMaybe; - questionSlug: InputMaybe; + contestSlug?: InputMaybe; + questionSlug?: InputMaybe; }; export type QueryContestQuestionSubmissionListArgs = { contestSlug: Scalars["String"]["input"]; - lang: InputMaybe; - limit: InputMaybe; - offset: InputMaybe; + lang?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; questionSlug: Scalars["String"]["input"]; - status: InputMaybe; + status?: InputMaybe; }; export type QueryContestReportApproveSummaryArgs = { @@ -6406,12 +6421,12 @@ export type QueryContestReportsLccnArgs = { export type QueryContestTopicsArgs = { contestTitleSlug?: InputMaybe; numPerPage?: InputMaybe; - orderBy: InputMaybe; + orderBy?: InputMaybe; pageNo?: InputMaybe; }; export type QueryContributionArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryCreatedPublicFavoriteListArgs = { @@ -6419,35 +6434,35 @@ export type QueryCreatedPublicFavoriteListArgs = { }; export type QueryDailyChallengeMedalArgs = { - month: InputMaybe; - year: InputMaybe; + month?: InputMaybe; + year?: InputMaybe; }; export type QueryDailyCodingChallengeArgs = { - month: InputMaybe; - year: InputMaybe; + month?: InputMaybe; + year?: InputMaybe; }; export type QueryDailyCodingChallengeV2Args = { - month: InputMaybe; - year: InputMaybe; + month?: InputMaybe; + year?: InputMaybe; }; export type QueryDashboardItemArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryDccSubmissionInfoArgs = { - submissionId: InputMaybe; + submissionId?: InputMaybe; }; export type QueryDccSubmissionPollingArgs = { - submissionId: InputMaybe; + submissionId?: InputMaybe; }; export type QueryDccSubmissionPollingV2Args = { - challengeQuestionId: InputMaybe; - submissionId: InputMaybe; + challengeQuestionId?: InputMaybe; + submissionId?: InputMaybe; }; export type QueryDeleteUserRequestsArgs = { @@ -6455,26 +6470,26 @@ export type QueryDeleteUserRequestsArgs = { }; export type QueryDiscussCategoryArgs = { - slugs: InputMaybe>>; + slugs?: InputMaybe>>; }; export type QueryDiscussQuestionTopicTagsArgs = { - numTags: InputMaybe; - questionId: InputMaybe; - selectedTags: InputMaybe>>; - tagType: InputMaybe; + numTags?: InputMaybe; + questionId?: InputMaybe; + selectedTags?: InputMaybe>>; + tagType?: InputMaybe; }; export type QueryEmailEventArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryEmailSendSessionArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryEmailTemplateArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryFavoriteArgs = { @@ -6538,19 +6553,19 @@ export type QueryHasFavoriteSessionResetArgs = { }; export type QueryHtmlArticleArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryInternalContestAwardedUsersArgs = { - contestSlug: InputMaybe; + contestSlug?: InputMaybe; }; export type QueryInterviewAllSessionsArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - skip: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; }; export type QueryInterviewSessionArgs = { @@ -6558,13 +6573,13 @@ export type QueryInterviewSessionArgs = { }; export type QueryInterviewSubmissionsArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; questionId: Scalars["ID"]["input"]; sessionId: Scalars["ID"]["input"]; - skip: InputMaybe; + skip?: InputMaybe; }; export type QueryIsMyCollectedFavoriteArgs = { @@ -6580,11 +6595,11 @@ export type QueryIsSolutionTopicArgs = { }; export type QueryItemArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryItemsArgs = { - chapterSlug: InputMaybe; + chapterSlug?: InputMaybe; }; export type QueryLastAcSubmissionArgs = { @@ -6593,8 +6608,8 @@ export type QueryLastAcSubmissionArgs = { export type QueryLearningContextArgs = { currentQuestionSlug: Scalars["String"]["input"]; - envType: InputMaybe; - id: InputMaybe; + envType?: InputMaybe; + id?: InputMaybe; needQuestion?: InputMaybe; }; @@ -6623,12 +6638,12 @@ export type QueryLibraryQuestionArgs = { }; export type QueryLibraryQuestionsArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; param: LibraryQuestionsInput; - skip: InputMaybe; + skip?: InputMaybe; }; export type QueryLocalRankingArgs = { @@ -6636,7 +6651,7 @@ export type QueryLocalRankingArgs = { }; export type QueryLocationsArgs = { - search: InputMaybe; + search?: InputMaybe; }; export type QueryManagementCompanyQuestionOptionsArgs = { @@ -6684,11 +6699,11 @@ export type QueryMatchedUserArgs = { export type QueryMatchedUsersArgs = { limit?: InputMaybe; namePrefix: Scalars["String"]["input"]; - topicId: InputMaybe; + topicId?: InputMaybe; }; export type QueryMedalArgs = { - slug: InputMaybe; + slug?: InputMaybe; }; export type QueryMyContestsArgs = { @@ -6697,11 +6712,11 @@ export type QueryMyContestsArgs = { }; export type QueryMyCreatedFavoriteListArgs = { - currentQuestionSlug: InputMaybe; + currentQuestionSlug?: InputMaybe; }; export type QueryNextChallengePairsArgs = { - titleSlug: InputMaybe; + titleSlug?: InputMaybe; }; export type QueryNextSolutionArgs = { @@ -6710,20 +6725,20 @@ export type QueryNextSolutionArgs = { }; export type QueryNotificationArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryNotificationsArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; export type QueryOfficialSolutionFeedbacksArgs = { filters: OfficialSolutionFeedbackFilterInput; - numPerPage: InputMaybe; - pageNo: InputMaybe; + numPerPage?: InputMaybe; + pageNo?: InputMaybe; }; export type QueryOmFavoriteListArgs = { @@ -6736,7 +6751,7 @@ export type QueryOmFavoriteLogsArgs = { export type QueryOmFavoriteQuestionListArgs = { favoriteSlug: Scalars["String"]["input"]; - searchKeyword: InputMaybe; + searchKeyword?: InputMaybe; }; export type QueryOrderDetailsArgs = { @@ -6782,29 +6797,29 @@ export type QueryPlanProgressDetailArgs = { }; export type QueryPlaygroundArgs = { - uuid: InputMaybe; + uuid?: InputMaybe; }; export type QueryPlaygroundCodeArgs = { - langSlug: InputMaybe; - uuid: InputMaybe; + langSlug?: InputMaybe; + uuid?: InputMaybe; }; export type QueryPlaygroundSnippetArgs = { - functionName: InputMaybe; - langSlug: InputMaybe; + functionName?: InputMaybe; + langSlug?: InputMaybe; }; export type QueryPlaygroundTemplateArgs = { - templateId: InputMaybe; + templateId?: InputMaybe; }; export type QueryPointListArgs = { - page: InputMaybe; + page?: InputMaybe; }; export type QueryPostArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryPrevSolutionArgs = { @@ -6813,7 +6828,7 @@ export type QueryPrevSolutionArgs = { }; export type QueryPrivateContestRegisteredUserIdsArgs = { - contestSlug: InputMaybe; + contestSlug?: InputMaybe; }; export type QueryProblemsetLearningContextArgs = { @@ -6825,43 +6840,43 @@ export type QueryProblemsetLearningContextArgs = { }; export type QueryQuestionArgs = { - titleSlug: InputMaybe; + titleSlug?: InputMaybe; }; export type QueryQuestionCompanyTagsArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - skip: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; }; export type QueryQuestionDiscussionTopicArgs = { - questionSlug: InputMaybe; + questionSlug?: InputMaybe; }; export type QueryQuestionFeedbackArgs = { - categories: InputMaybe>>; - endDate: InputMaybe; - hasComment: InputMaybe; - numPerPage: InputMaybe; - pageNo: InputMaybe; - questionSlugs: InputMaybe>>; - reasons: InputMaybe>>; - startDate: InputMaybe; + categories?: InputMaybe>>; + endDate?: InputMaybe; + hasComment?: InputMaybe; + numPerPage?: InputMaybe; + pageNo?: InputMaybe; + questionSlugs?: InputMaybe>>; + reasons?: InputMaybe>>; + startDate?: InputMaybe; }; export type QueryQuestionListArgs = { - categorySlug: InputMaybe; - filters: InputMaybe; + categorySlug?: InputMaybe; + filters?: InputMaybe; limit?: InputMaybe; skip?: InputMaybe; }; export type QueryQuestionNumByTagsArgs = { - difficultyTagSlugs: InputMaybe>; - knowledgeTagSlugs: InputMaybe>; - languageTagSlug: InputMaybe; + difficultyTagSlugs?: InputMaybe>; + knowledgeTagSlugs?: InputMaybe>; + languageTagSlug?: InputMaybe; }; export type QueryQuestionSolutionsArgs = { @@ -6869,13 +6884,13 @@ export type QueryQuestionSolutionsArgs = { }; export type QueryQuestionSubmissionListArgs = { - lang: InputMaybe; - lastKey: InputMaybe; - limit: InputMaybe; - offset: InputMaybe; + lang?: InputMaybe; + lastKey?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; questionSlug: Scalars["String"]["input"]; - status: InputMaybe; - withNotes: InputMaybe; + status?: InputMaybe; + withNotes?: InputMaybe; }; export type QueryQuestionTagArgs = { @@ -6891,32 +6906,32 @@ export type QueryQuestionTagsSuggestArgs = { }; export type QueryQuestionTopicTagsArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - skip: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; }; export type QueryQuestionTopicsArgs = { numPerPage?: InputMaybe; - orderBy: InputMaybe; + orderBy?: InputMaybe; pageNo?: InputMaybe; query?: InputMaybe; questionId?: InputMaybe; }; export type QueryQuestionTopicsListArgs = { - after: InputMaybe; - before: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; first?: InputMaybe; - last: InputMaybe; - orderBy: InputMaybe; - query: InputMaybe; - questionId: InputMaybe; - questionSlug: InputMaybe; - skip: InputMaybe; - tags: InputMaybe>>; + last?: InputMaybe; + orderBy?: InputMaybe; + query?: InputMaybe; + questionId?: InputMaybe; + questionSlug?: InputMaybe; + skip?: InputMaybe; + tags?: InputMaybe>>; }; export type QueryRandomPanelQuestionArgs = { @@ -6931,18 +6946,18 @@ export type QueryRandomPanelQuestionArgs = { }; export type QueryRandomQuestionArgs = { - categorySlug: InputMaybe; - filters: InputMaybe; + categorySlug?: InputMaybe; + filters?: InputMaybe; }; export type QueryRecentAcSubmissionListArgs = { - limit: InputMaybe; - username: InputMaybe; + limit?: InputMaybe; + username?: InputMaybe; }; export type QueryRecentSubmissionListArgs = { - limit: InputMaybe; - username: InputMaybe; + limit?: InputMaybe; + username?: InputMaybe; }; export type QueryRecommendSolutionTagsArgs = { @@ -6954,11 +6969,11 @@ export type QueryRelatedSolutionsArgs = { }; export type QueryRewindDataArgs = { - year: InputMaybe; + year?: InputMaybe; }; export type QuerySchoolsArgs = { - search: InputMaybe; + search?: InputMaybe; }; export type QueryScriptTaskResultArgs = { @@ -6966,41 +6981,41 @@ export type QueryScriptTaskResultArgs = { }; export type QueryShowAnnualModalOnQdArgs = { - submissionId: InputMaybe; + submissionId?: InputMaybe; }; export type QuerySkillTagsArgs = { - search: InputMaybe; + search?: InputMaybe; }; export type QuerySolutionLanguageTagsArgs = { - questionSlug: InputMaybe; + questionSlug?: InputMaybe; }; export type QuerySolutionTopicTagsArgs = { - questionSlug: InputMaybe; + questionSlug?: InputMaybe; }; export type QuerySolvedQuestionsInfoArgs = { - filters: InputMaybe; + filters?: InputMaybe; numPerPage?: InputMaybe; pageNo?: InputMaybe; }; export type QuerySpamModerationPostsArgs = { - endDate: InputMaybe; - ip: InputMaybe; + endDate?: InputMaybe; + ip?: InputMaybe; numPerPage?: InputMaybe; - orderBy: InputMaybe; + orderBy?: InputMaybe; pageNo?: InputMaybe; - reportType: InputMaybe; - reported: InputMaybe; - search: InputMaybe; - startDate: InputMaybe; - status: InputMaybe; - submissionCount: InputMaybe; - usernames: InputMaybe; - wordListType: InputMaybe; + reportType?: InputMaybe; + reported?: InputMaybe; + search?: InputMaybe; + startDate?: InputMaybe; + status?: InputMaybe; + submissionCount?: InputMaybe; + usernames?: InputMaybe; + wordListType?: InputMaybe; }; export type QueryStartToPracticeQuestionArgs = { @@ -7013,7 +7028,7 @@ export type QueryStoreOrderOperationLogsArgs = { }; export type QueryStudyPlanMedalPollingArgs = { - submissionId: InputMaybe; + submissionId?: InputMaybe; }; export type QueryStudyPlanV2CompletedStatusArgs = { @@ -7053,7 +7068,7 @@ export type QueryStudyPlanV2UserRankArgs = { export type QueryStudyPlanV2WeeklyTaskRecordsArgs = { month: Scalars["Int"]["input"]; planSlug: Scalars["String"]["input"]; - progressId: InputMaybe; + progressId?: InputMaybe; year: Scalars["Int"]["input"]; }; @@ -7078,14 +7093,14 @@ export type QuerySubmissionDetailsArgs = { }; export type QuerySubmissionListArgs = { - lastKey: InputMaybe; - limit: InputMaybe; - offset: InputMaybe; - questionSlug: InputMaybe; + lastKey?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + questionSlug?: InputMaybe; }; export type QuerySubscriptionPricingArgs = { - code: InputMaybe; + code?: InputMaybe; }; export type QuerySurveyArgs = { @@ -7097,7 +7112,7 @@ export type QuerySurveyStatusArgs = { }; export type QuerySurveyV2Args = { - surveyKwargs: InputMaybe; + surveyKwargs?: InputMaybe; surveySlug: Scalars["String"]["input"]; }; @@ -7111,38 +7126,38 @@ export type QuerySyncedCodeArgs = { }; export type QueryTagTopicListArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - orderBy: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; query?: InputMaybe; - skip: InputMaybe; + skip?: InputMaybe; tag: Scalars["String"]["input"]; - tags: InputMaybe>>; + tags?: InputMaybe>>; }; export type QueryTopicArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryTopicCommentsArgs = { numPerPage?: InputMaybe; - orderBy: InputMaybe; + orderBy?: InputMaybe; pageNo?: InputMaybe; topicId: Scalars["Int"]["input"]; }; export type QueryTopicTagArgs = { - slug: InputMaybe; + slug?: InputMaybe; }; export type QueryTopicTagsArgs = { - categorySlugs: InputMaybe>>; - numTags: InputMaybe; + categorySlugs?: InputMaybe>>; + numTags?: InputMaybe; query?: InputMaybe; - selectedTags: InputMaybe>>; - tagType: InputMaybe; + selectedTags?: InputMaybe>>; + tagType?: InputMaybe; }; export type QueryTopicTagsSuggestArgs = { @@ -7150,26 +7165,26 @@ export type QueryTopicTagsSuggestArgs = { }; export type QueryTopicUsersArgs = { - prefix: InputMaybe; - topicId: InputMaybe; + prefix?: InputMaybe; + topicId?: InputMaybe; }; export type QueryUserCategoryTopicsArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - orderBy: InputMaybe; - skip: InputMaybe; - username: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + skip?: InputMaybe; + username?: InputMaybe; }; export type QueryUserContestRankingArgs = { - username: InputMaybe; + username?: InputMaybe; }; export type QueryUserContestRankingHistoryArgs = { - username: InputMaybe; + username?: InputMaybe; }; export type QueryUserManagementCreditCardsArgs = { @@ -7236,55 +7251,55 @@ export type QueryUserProfileUserQuestionProgressV2Args = { }; export type QueryUserRecentTopicsArgs = { - limit: InputMaybe; - username: InputMaybe; + limit?: InputMaybe; + username?: InputMaybe; }; export type QueryUserReportsArgs = { - endDate: InputMaybe; - handled: InputMaybe; + endDate?: InputMaybe; + handled?: InputMaybe; numPerPage?: InputMaybe; pageNo?: InputMaybe; - startDate: InputMaybe; + startDate?: InputMaybe; }; export type QueryUserSolutionTopicsArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - orderBy: InputMaybe; - skip: InputMaybe; - username: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + skip?: InputMaybe; + username?: InputMaybe; }; export type QueryUserToManageArgs = { - usernameOrEmail: InputMaybe; + usernameOrEmail?: InputMaybe; }; export type QueryUsersArgs = { - usernamePrefix: InputMaybe; + usernamePrefix?: InputMaybe; }; export type QueryVideoArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryVotesArgs = { - topicId: InputMaybe; + topicId?: InputMaybe; }; export type QueryWebPageArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type QueryWorldCitiesArgs = { - country: InputMaybe; - subcountry: InputMaybe; + country?: InputMaybe; + subcountry?: InputMaybe; }; export type QueryWorldSubcountriesArgs = { - country: InputMaybe; + country?: InputMaybe; }; export type QueryYearlyMedalsQualifiedArgs = { @@ -7297,9 +7312,9 @@ export type QuestionActivityNode = { /** The ID of the object. */ id: Scalars["ID"]["output"]; isBaseline: Scalars["Boolean"]["output"]; - payload: Maybe; + payload?: Maybe; question: LibraryQuestionNode; - user: Maybe; + user?: Maybe; }; export type QuestionActivityNodeConnection = { @@ -7314,12 +7329,12 @@ export type QuestionActivityNodeEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type QuestionAdminVoteOptionsNode = { - positionOptions: Maybe>>; - timeOptions: Maybe>>; + positionOptions?: Maybe>>; + timeOptions?: Maybe>>; }; export type QuestionAttachmentInput = { @@ -7354,7 +7369,7 @@ export type QuestionEditorTypeEnum = export type QuestionFeedbackNode = { createDate: Scalars["DateTime"]["output"]; extraInfo: Scalars["String"]["output"]; - hasComment: Maybe; + hasComment?: Maybe; id: Scalars["ID"]["output"]; question: QuestionNode; reasonChoices: Scalars["JSONString"]["output"]; @@ -7367,105 +7382,105 @@ export type QuestionFeedbackReason = { }; export type QuestionLastSolveNode = { - lastAcSession: Maybe; + lastAcSession?: Maybe; question: QuestionNode; totalSolves: Scalars["Int"]["output"]; }; export type QuestionListFilterInput = { - companies: InputMaybe>; - difficulty: InputMaybe; - listId: InputMaybe; - orderBy: InputMaybe; - premiumOnly: InputMaybe; - searchKeywords: InputMaybe; - sortOrder: InputMaybe; - status: InputMaybe; - tags: InputMaybe>; + companies?: InputMaybe>; + difficulty?: InputMaybe; + listId?: InputMaybe; + orderBy?: InputMaybe; + premiumOnly?: InputMaybe; + searchKeywords?: InputMaybe; + sortOrder?: InputMaybe; + status?: InputMaybe; + tags?: InputMaybe>; }; export type QuestionNode = { - acRate: Maybe; - adminUrl: Maybe; - allowDiscuss: Maybe; - article: Maybe; - articleTopicId: Maybe; + acRate?: Maybe; + adminUrl?: Maybe; + allowDiscuss?: Maybe; + article?: Maybe; + articleTopicId?: Maybe; attachments: Array; - boundTopicId: Maybe; + boundTopicId?: Maybe; canSeeQuestion: Scalars["Boolean"]["output"]; - categoryTitle: Maybe; - challengeQuestion: Maybe; + categoryTitle?: Maybe; + challengeQuestion?: Maybe; challengeQuestionsV2: Array; - codeDefinition: Maybe; - codeSnippets: Maybe>>; - companyTagStats: Maybe; - companyTagStatsV2: Maybe; - companyTags: Maybe>; - content: Maybe; - contributors: Maybe>>; - dataSchemas: Maybe>>; - difficulty: Maybe; + codeDefinition?: Maybe; + codeSnippets?: Maybe>>; + companyTagStats?: Maybe; + companyTagStatsV2?: Maybe; + companyTags?: Maybe>; + content?: Maybe; + contributors?: Maybe>>; + dataSchemas?: Maybe>>; + difficulty?: Maybe; /** discussion count for one question, 0 if no question exist */ - discussionCount: Maybe; - dislikes: Maybe; - enableDebugger: Maybe; - enableRunCode: Maybe; - enableSubmit: Maybe; - enableTestMode: Maybe; - envInfo: Maybe; + discussionCount?: Maybe; + dislikes?: Maybe; + enableDebugger?: Maybe; + enableRunCode?: Maybe; + enableSubmit?: Maybe; + enableTestMode?: Maybe; + envInfo?: Maybe; exampleTestcaseList: Array>; - exampleTestcases: Maybe; - freqBar: Maybe; + exampleTestcases?: Maybe; + freqBar?: Maybe; frequency: Scalars["Float"]["output"]; - frontendPreviews: Maybe; + frontendPreviews?: Maybe; hasFrontendPreview: Scalars["Boolean"]["output"]; hasSolution: Scalars["Boolean"]["output"]; hasVideoSolution: Scalars["Boolean"]["output"]; - hide: Maybe; - hideLastTestcases: Maybe; - hints: Maybe>>; - infoVerified: Maybe; - interpretUrl: Maybe; + hide?: Maybe; + hideLastTestcases?: Maybe; + hints?: Maybe>>; + infoVerified?: Maybe; + interpretUrl?: Maybe; isFavor: Scalars["Boolean"]["output"]; - isLiked: Maybe; - isPaidOnly: Maybe; - judgeType: Maybe; - judgerAvailable: Maybe; - langToValidPlayground: Maybe; - libraryUrl: Maybe; - likes: Maybe; - metaData: Maybe; - mysqlSchemas: Maybe>>; - nextChallengePairs: Maybe; - nextChallenges: Maybe>; - note: Maybe; - questionDetailUrl: Maybe; - questionFrontendId: Maybe; - questionId: Maybe; - questionTitle: Maybe; - questionTitleSlug: Maybe; - questionType: Maybe; - randomQuestionUrl: Maybe; - sampleTestCase: Maybe; - sessionId: Maybe; + isLiked?: Maybe; + isPaidOnly?: Maybe; + judgeType?: Maybe; + judgerAvailable?: Maybe; + langToValidPlayground?: Maybe; + libraryUrl?: Maybe; + likes?: Maybe; + metaData?: Maybe; + mysqlSchemas?: Maybe>>; + nextChallengePairs?: Maybe; + nextChallenges?: Maybe>; + note?: Maybe; + questionDetailUrl?: Maybe; + questionFrontendId?: Maybe; + questionId?: Maybe; + questionTitle?: Maybe; + questionTitleSlug?: Maybe; + questionType?: Maybe; + randomQuestionUrl?: Maybe; + sampleTestCase?: Maybe; + sessionId?: Maybe; similarQuestionList: Array>; - similarQuestions: Maybe; - solution: Maybe; + similarQuestions?: Maybe; + solution?: Maybe; /** solution for one question, 0 if no question exist */ - solutionNum: Maybe; - stats: Maybe; - status: Maybe; - submitUrl: Maybe; + solutionNum?: Maybe; + stats?: Maybe; + status?: Maybe; + submitUrl?: Maybe; title: Scalars["String"]["output"]; titleSlug: Scalars["String"]["output"]; - topicTags: Maybe>; - translatedContent: Maybe; - translatedTitle: Maybe; - urlManager: Maybe; + topicTags?: Maybe>; + translatedContent?: Maybe; + translatedTitle?: Maybe; + urlManager?: Maybe; }; export type QuestionNodeNextChallengePairsArgs = { - questionId: InputMaybe; + questionId?: InputMaybe; }; export type QuestionOrderByEnum = @@ -7478,28 +7493,28 @@ export type QuestionOrderByEnum = export type QuestionSatisfactionSurveyNode = { leetcoinAmount: Scalars["Int"]["output"]; showSurvey: Scalars["Boolean"]["output"]; - surveyJson: Maybe; + surveyJson?: Maybe; }; export type QuestionSolutionsFilterInput = { first: Scalars["Int"]["input"]; - languageTags: InputMaybe>>; - orderBy: InputMaybe; - query: InputMaybe; + languageTags?: InputMaybe>>; + orderBy?: InputMaybe; + query?: InputMaybe; questionSlug: Scalars["String"]["input"]; skip: Scalars["Int"]["input"]; - topicTags: InputMaybe>>; + topicTags?: InputMaybe>>; }; export type QuestionSolutionsNode = { - hasDirectResults: Maybe; + hasDirectResults?: Maybe; solutions: Array>; - totalNum: Maybe; + totalNum?: Maybe; }; export type QuestionSolveSessionNode = { question: QuestionNode; - time: Maybe; + time?: Maybe; wrongAttempts: Scalars["Int"]["output"]; }; @@ -7532,40 +7547,40 @@ export type QuitStudyPlan = { }; export type RankingNode = { - currentGlobalRanking: Maybe; - currentRating: Maybe; - dataRegion: Maybe; - ranking: Maybe; - user: Maybe; + currentGlobalRanking?: Maybe; + currentRating?: Maybe; + dataRegion?: Maybe; + ranking?: Maybe; + user?: Maybe; }; export type RateArticle = { - error: Maybe; - ok: Maybe; - scoreResult: Maybe; + error?: Maybe; + ok?: Maybe; + scoreResult?: Maybe; }; export type RatingNode = { average: Scalars["Decimal"]["output"]; count: Scalars["Int"]["output"]; id: Scalars["ID"]["output"]; - userRating: Maybe; + userRating?: Maybe; }; export type RawQuestionNode = { - categoryTitle: Maybe; - difficulty: Maybe; - isPaidOnly: Maybe; - questionFrontendId: Maybe; - questionId: Maybe; - status: Maybe; - title: Maybe; - titleSlug: Maybe; - translatedTitle: Maybe; + categoryTitle?: Maybe; + difficulty?: Maybe; + isPaidOnly?: Maybe; + questionFrontendId?: Maybe; + questionId?: Maybe; + status?: Maybe; + title?: Maybe; + titleSlug?: Maybe; + translatedTitle?: Maybe; }; export type RecordAbExperimentEvent = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; @@ -7574,47 +7589,47 @@ export type RejectContestReports = { }; export type RejectContribution = { - contribution: Maybe; - error: Maybe; - ok: Maybe; + contribution?: Maybe; + error?: Maybe; + ok?: Maybe; }; export type RejectContributionContributionArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type RemoveFavoriteFromMyCollectionV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type RemoveQuestionFromFavorite = { - error: Maybe; - favoriteIdHash: Maybe; - ok: Maybe; - questionId: Maybe; - userName: Maybe; + error?: Maybe; + favoriteIdHash?: Maybe; + ok?: Maybe; + questionId?: Maybe; + userName?: Maybe; }; export type RemoveQuestionFromFavoriteV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type RemoveUsersFromInternalContest = { - ok: Maybe; + ok?: Maybe; }; export type ReorderFavoriteQuestionV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type ReportInfoNode = { content: Scalars["String"]["output"]; id: Scalars["ID"]["output"]; - isHandled: Maybe; - reportType: Maybe; + isHandled?: Maybe; + reportType?: Maybe; reporter: PrivateContestUserNode; }; @@ -7632,24 +7647,24 @@ export type ReportTypeEnum = | "VIOLENT"; export type ReportUser = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; /** An enumeration. */ export type ReportedStatus = "ALL" | "REPORTED_HANDLED" | "REPORTED_UNHANDLED"; export type RequestAnalysisEmail = { - sessionWithReport: Maybe; + sessionWithReport?: Maybe; }; export type RequestUpdateToReportedPost = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type ResetFavoriteSessionV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; @@ -7663,56 +7678,56 @@ export type ResourceTypeEnum = "DUMMY"; export type ResourceTypeNode = { flaggedObjects: FlaggedObjectConnection; name: ResourceTypeEnum; - operations: Maybe>; + operations?: Maybe>; }; export type ResourceTypeNodeFlaggedObjectsArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - order: InputMaybe; - orderBy: InputMaybe; - skip: InputMaybe; - status: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + order?: InputMaybe; + orderBy?: InputMaybe; + skip?: InputMaybe; + status?: InputMaybe; }; export type ReviewFlaggedObjectInput = { - description: InputMaybe; + description?: InputMaybe; /** Use this to locate the object. Will ignore resourceType and resourceId if this is provided. */ - flagResultId: InputMaybe; + flagResultId?: InputMaybe; operation: FlagStatus; - reasonId: InputMaybe; + reasonId?: InputMaybe; /** Use this together with resourceType as an alternative way to locate object. */ - resourceId: InputMaybe; + resourceId?: InputMaybe; /** Use this together with resourceId as an alternative way to locate object. */ - resourceType: InputMaybe; + resourceType?: InputMaybe; }; export type RewardPost = { - error: Maybe; - post: Maybe; + error?: Maybe; + post?: Maybe; }; export type RewindNode = { ageInDays: Scalars["Int"]["output"]; attendedContestCount: Scalars["Int"]["output"]; - badges: Maybe>>; - currentGlobalRank: Maybe; + badges?: Maybe>>; + currentGlobalRank?: Maybe; dccSolvedCount: Scalars["Int"]["output"]; easyProblemsSolved: Scalars["Int"]["output"]; givenVoteDownCount: Scalars["Int"]["output"]; givenVoteUpCount: Scalars["Int"]["output"]; hardProblemsSolved: Scalars["Int"]["output"]; - highestRankedContest: Maybe; + highestRankedContest?: Maybe; highestRankedContestId: Scalars["Int"]["output"]; - highestRankingInContest: Maybe; + highestRankingInContest?: Maybe; id: Scalars["ID"]["output"]; maxStreak: Scalars["Int"]["output"]; mediumProblemsSolved: Scalars["Int"]["output"]; - mostAttemptedQuestion: Maybe; + mostAttemptedQuestion?: Maybe; mostAttemptedQuestionId: Scalars["Int"]["output"]; - mostSolvedTags: Maybe>>; + mostSolvedTags?: Maybe>>; mostUsedLanguage: Scalars["String"]["output"]; mostUsedLanguageId: Scalars["Int"]["output"]; problemSolvePercentile: Scalars["Float"]["output"]; @@ -7720,7 +7735,7 @@ export type RewindNode = { solutionsPublished: Scalars["Int"]["output"]; tags: Scalars["String"]["output"]; totalAcSubmissions: Scalars["Int"]["output"]; - totalQuestionsSolved: Maybe; + totalQuestionsSolved?: Maybe; totalSubmissions: Scalars["Int"]["output"]; userId: Scalars["Int"]["output"]; year: Scalars["Int"]["output"]; @@ -7744,7 +7759,7 @@ export type SampleCodeNode = { }; export type SaveSessionCode = { - session: Maybe; + session?: Maybe; }; export type SchoolNode = { @@ -7849,7 +7864,7 @@ export type ScoreNode = { category: ScoreCategory; date: Scalars["DateTime"]["output"]; description: Scalars["String"]["output"]; - extraInfo: Maybe; + extraInfo?: Maybe; id: Scalars["ID"]["output"]; score: Scalars["Int"]["output"]; }; @@ -7893,11 +7908,11 @@ export type SearchDimensionType = export type SearchMetaContentType = "BODY" | "COMMENT" | "REPLY" | "TITLE"; export type SearchMetaNode = { - commentAuthor: Maybe; - content: Maybe; + commentAuthor?: Maybe; + content?: Maybe; contentType: SearchMetaContentType; highlights: Array>; - replyAuthor: Maybe; + replyAuthor?: Maybe; }; /** An enumeration. */ @@ -7908,38 +7923,38 @@ export type SearchUserType = | "USER_NAME"; export type SendAccountRecoveryEmail = { - message: Maybe; - ok: Maybe; + message?: Maybe; + ok?: Maybe; }; export type SendInternalContestEmail = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type SendVerificationEmail = { - ok: Maybe; + ok?: Maybe; }; /** An enumeration. */ export type SessionStatus = "ACCEPTED" | "EXITED" | "STARTED" | "TIMEOUT"; export type SetBlacklistWords = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type SetItemStartTime = { - cardId: Maybe; - errors: Maybe; - newProgress: Maybe; - ok: Maybe; + cardId?: Maybe; + errors?: Maybe; + newProgress?: Maybe; + ok?: Maybe; }; export type SetNotificationSetting = { - error: Maybe; - notificationType: Maybe; - ok: Maybe; + error?: Maybe; + notificationType?: Maybe; + ok?: Maybe; }; /** whether hide current user rank info on rank boards */ @@ -7954,11 +7969,11 @@ export type ShareEventNode = { }; export type SiteAnnouncementNode = { - blacklistUrls: Maybe; + blacklistUrls?: Maybe; content: Scalars["String"]["output"]; - navbarItem: Maybe; - title: Maybe; - whitelistUrls: Maybe; + navbarItem?: Maybe; + title?: Maybe; + whitelistUrls?: Maybe; }; export type SkillTagNode = { @@ -7967,12 +7982,12 @@ export type SkillTagNode = { export type SocialAccountNode = { accountProvider: Scalars["String"]["output"]; - profileLink: Maybe; + profileLink?: Maybe; }; export type SocialLoginNode = { - id: Maybe; - loginUrl: Maybe; + id?: Maybe; + loginUrl?: Maybe; }; export type SolutionTagNode = { @@ -7991,17 +8006,17 @@ export type SortingEnum = export type SortingOrderEnum = "ASCENDING" | "DESCENDING"; export type SponsorNode = { - darkLogo: Maybe; + darkLogo?: Maybe; description: Scalars["String"]["output"]; - lightLogo: Maybe; - logo: Maybe; + lightLogo?: Maybe; + logo?: Maybe; name: Scalars["String"]["output"]; - watermark: Maybe; + watermark?: Maybe; website: Scalars["String"]["output"]; }; export type StartProgress = { - progress: Maybe; + progress?: Maybe; }; export type StartSession = { @@ -8022,21 +8037,22 @@ export type StoreAddressNode = { province: Scalars["String"]["output"]; storeorderSet: Array; updationDate: Scalars["DateTime"]["output"]; - user: Maybe; + user?: Maybe; }; export type StoreAdminCreateOrder = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type StoreAdminCreateOrderInput = { address: Scalars["String"]["input"]; city: Scalars["String"]["input"]; country: Scalars["String"]["input"]; - details: InputMaybe; - itemSlug: Scalars["String"]["input"]; - note: InputMaybe; + details?: InputMaybe; + itemSlug?: InputMaybe; + itemSlugs?: InputMaybe>; + note?: InputMaybe; phone: Scalars["String"]["input"]; recipient: Scalars["String"]["input"]; state: Scalars["String"]["input"]; @@ -8046,24 +8062,24 @@ export type StoreAdminCreateOrderInput = { export type StoreItemNode = { available: Scalars["Boolean"]["output"]; - buckydropConfig: Maybe; + buckydropConfig?: Maybe; creationDate: Scalars["DateTime"]["output"]; description: Scalars["String"]["output"]; - disabledMsg: Maybe; - displayConfig: Maybe; - fields: Maybe>; + disabledMsg?: Maybe; + displayConfig?: Maybe; + fields?: Maybe>; hideIfPaid: Scalars["Boolean"]["output"]; id: Scalars["ID"]["output"]; - img: Maybe; - imgSlug: Maybe; + img?: Maybe; + imgSlug?: Maybe; itemSlug: Scalars["String"]["output"]; name: Scalars["String"]["output"]; needsProcessing: Scalars["Boolean"]["output"]; needsShipping: Scalars["Boolean"]["output"]; order: Scalars["Int"]["output"]; - promoImg: Maybe; - promoImgSlug: Maybe; - show: Maybe; + promoImg?: Maybe; + promoImgSlug?: Maybe; + show?: Maybe; storeorderSet: Array; updationDate: Scalars["DateTime"]["output"]; value: Scalars["Int"]["output"]; @@ -8071,18 +8087,18 @@ export type StoreItemNode = { }; export type StoreOrderEdit = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type StoreOrderNode = { - address: Maybe; - buckydropPackageCode: Maybe; - buckydropShopOrderId: Maybe; + address?: Maybe; + buckydropPackageCode?: Maybe; + buckydropShopOrderId?: Maybe; createDate: Scalars["DateTime"]["output"]; creationDate: Scalars["DateTime"]["output"]; - details: Maybe; - id: Maybe; + details?: Maybe; + id?: Maybe; items: Array; note: Scalars["String"]["output"]; orderId: Scalars["String"]["output"]; @@ -8090,12 +8106,12 @@ export type StoreOrderNode = { storeorderoperationlogSet: Array; trackingId: Scalars["String"]["output"]; updationDate: Scalars["DateTime"]["output"]; - user: Maybe; + user?: Maybe; }; export type StoreOrderSave = { - error: Maybe; - storeOrder: Maybe; + error?: Maybe; + storeOrder?: Maybe; success: Scalars["Boolean"]["output"]; }; @@ -8136,17 +8152,17 @@ export type StudyPlanBriefNode = { export type StudyPlanCatalogNode = { name: Scalars["String"]["output"]; - recommendedStudyPlans: Maybe>; + recommendedStudyPlans?: Maybe>; slug: Scalars["String"]["output"]; }; export type StudyPlanDetailNode = { allowedLanguages: Array; - award: Maybe; + award?: Maybe; awardDescription: Scalars["String"]["output"]; - colorPalette: Maybe; + colorPalette?: Maybe; cover: Scalars["String"]["output"]; - defaultLanguage: Maybe; + defaultLanguage?: Maybe; description: Scalars["String"]["output"]; hasMedal: Scalars["Boolean"]["output"]; highlight: Scalars["String"]["output"]; @@ -8159,7 +8175,7 @@ export type StudyPlanDetailNode = { relatedStudyPlans: Array; slug: Scalars["String"]["output"]; staticCoverPicture: Scalars["String"]["output"]; - threeDimensionUrl: Maybe; + threeDimensionUrl?: Maybe; }; export type StudyPlanFeatureNode = { @@ -8180,13 +8196,13 @@ export type StudyPlanListNode = { }; export type StudyPlanMedalPollingNode = { - awards: Maybe>>; + awards?: Maybe>>; keepPolling: Scalars["Boolean"]["output"]; }; export type StudyPlanWithProgressNode = { cover: Scalars["String"]["output"]; - finishedQuestionNum: Maybe; + finishedQuestionNum?: Maybe; highlight: Scalars["String"]["output"]; name: Scalars["String"]["output"]; onGoing: Scalars["Boolean"]["output"]; @@ -8197,8 +8213,8 @@ export type StudyPlanWithProgressNode = { export type SubmissionComplexityNode = { isLimited: Scalars["Boolean"]["output"]; - memoryComplexity: Maybe; - timeComplexity: Maybe; + memoryComplexity?: Maybe; + timeComplexity?: Maybe; }; export type SubmissionCountNode = { @@ -8209,56 +8225,56 @@ export type SubmissionCountNode = { export type SubmissionDetailsNode = { code: Scalars["String"]["output"]; - codeOutput: Maybe; - compileError: Maybe; - expectedOutput: Maybe; - flagType: Maybe; - fullCodeOutput: Maybe>>; - id: Maybe; + codeOutput?: Maybe; + compileError?: Maybe; + expectedOutput?: Maybe; + flagType?: Maybe; + fullCodeOutput?: Maybe>>; + id?: Maybe; lang: LanguageNode; - lastTestcase: Maybe; - memory: Maybe; + lastTestcase?: Maybe; + memory?: Maybe; memoryDisplay: Scalars["String"]["output"]; memoryDistribution: Scalars["String"]["output"]; - memoryPercentile: Maybe; + memoryPercentile?: Maybe; notes: Scalars["String"]["output"]; question: QuestionNode; - runtime: Maybe; + runtime?: Maybe; runtimeDisplay: Scalars["String"]["output"]; runtimeDistribution: Scalars["String"]["output"]; - runtimeError: Maybe; - runtimePercentile: Maybe; + runtimeError?: Maybe; + runtimePercentile?: Maybe; statusCode: Scalars["Int"]["output"]; - stdOutput: Maybe; - testBodies: Maybe>>; - testDescriptions: Maybe>>; - testInfo: Maybe>>; + stdOutput?: Maybe; + testBodies?: Maybe>>; + testDescriptions?: Maybe>>; + testInfo?: Maybe>>; timestamp: Scalars["Int"]["output"]; topicTags: Array>; - totalCorrect: Maybe; - totalTestcases: Maybe; + totalCorrect?: Maybe; + totalTestcases?: Maybe; user: UserNode; }; export type SubmissionDumpNode = { - flagType: Maybe; - hasNotes: Maybe; - id: Maybe; - isPending: Maybe; - lang: Maybe; - langName: Maybe; - langVerboseName: Maybe; - memory: Maybe; - notes: Maybe; - runtime: Maybe; - status: Maybe; - statusDisplay: Maybe; - time: Maybe; - timestamp: Maybe; - title: Maybe; - titleSlug: Maybe; - topicTags: Maybe>>; - url: Maybe; + flagType?: Maybe; + hasNotes?: Maybe; + id?: Maybe; + isPending?: Maybe; + lang?: Maybe; + langName?: Maybe; + langVerboseName?: Maybe; + memory?: Maybe; + notes?: Maybe; + runtime?: Maybe; + status?: Maybe; + statusDisplay?: Maybe; + time?: Maybe; + timestamp?: Maybe; + title?: Maybe; + titleSlug?: Maybe; + topicTags?: Maybe>>; + url?: Maybe; }; /** An enumeration. */ @@ -8277,9 +8293,9 @@ export type SubmissionFlagTypeEnum = | "WHITE"; export type SubmissionListNode = { - hasNext: Maybe; - lastKey: Maybe; - submissions: Maybe>>; + hasNext?: Maybe; + lastKey?: Maybe; + submissions?: Maybe>>; }; /** An enumeration. */ @@ -8308,7 +8324,7 @@ export type SubmissionMemoryComplexity = | "A_11"; export type SubmissionNoteComplexity = { - ok: Maybe; + ok?: Maybe; }; /** An enumeration. */ @@ -8333,8 +8349,8 @@ export type SubmissionStatusEnum = | "WA"; export type SubmissionStatusNode = { - id: Maybe; - name: Maybe; + id?: Maybe; + name?: Maybe; }; /** An enumeration. */ @@ -8363,41 +8379,41 @@ export type SubmissionTimeComplexity = | "A_11"; export type SubmissionVoteComplexity = { - ok: Maybe; + ok?: Maybe; }; export type SubmitCancelSurvey = { - error: Maybe; + error?: Maybe; }; export type SubmitQuestionSatisfactionSurvey = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type SubmitQuestionSuggestion = { - msg: Maybe; + msg?: Maybe; }; export type SubmitSubscriptionSurvey = { - error: Maybe; + error?: Maybe; }; export type SubmitSurveyV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type SubscribeTopic = { - error: Maybe; - ok: Maybe; - subscribe: Maybe; - topic: Maybe; + error?: Maybe; + ok?: Maybe; + subscribe?: Maybe; + topic?: Maybe; }; export type SubscriptionPricingNode = { - canPurchaseCredit: Maybe; - couponCode: Maybe; + canPurchaseCredit?: Maybe; + couponCode?: Maybe; discount: Scalars["Float"]["output"]; discountPercent: Scalars["Float"]["output"]; discountedPrice: Scalars["Float"]["output"]; @@ -8413,8 +8429,8 @@ export type SubscriptionReferralNode = { }; export type SubscriptionViewCountIncrement = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type SubscriptionsNode = { @@ -8425,11 +8441,11 @@ export type SubscriptionsNode = { export type SurveyNode = { createDate: Scalars["DateTime"]["output"]; description: Scalars["String"]["output"]; - endDate: Maybe; + endDate?: Maybe; id: Scalars["ID"]["output"]; isActive: Scalars["Boolean"]["output"]; startDate: Scalars["DateTime"]["output"]; - surveyQuestions: Maybe>; + surveyQuestions?: Maybe>; surveyquestionSet: Array; title: Scalars["String"]["output"]; }; @@ -8443,7 +8459,7 @@ export type SurveyQuestionChoiceNode = { }; export type SurveyQuestionNode = { - choices: Maybe>; + choices?: Maybe>; description: Scalars["String"]["output"]; extra: Scalars["JSONString"]["output"]; id: Scalars["ID"]["output"]; @@ -8468,7 +8484,7 @@ export type SurveyQuestionQuestionType = | "A_4"; export type SurveyStatusNode = { - lastCompleted: Maybe; + lastCompleted?: Maybe; }; /** An enumeration. */ @@ -8477,7 +8493,7 @@ export type SurveyType = "MOCK_INTERVIEW"; export type SurveyV2Node = { leetcoinAmount: Scalars["Int"]["output"]; showSurvey: Scalars["Boolean"]["output"]; - surveyJson: Maybe; + surveyJson?: Maybe; }; export type SyncedCodeNode = { @@ -8532,9 +8548,9 @@ export type TagNode = { discussTopicTag: Array; favoriteSet: Array; favorites: Array; - hotScore: Maybe; + hotScore?: Maybe; id: Scalars["ID"]["output"]; - imgUrl: Maybe; + imgUrl?: Maybe; interviewTagsCategories: Array; /** Deprecated in Tag System. Still used by old products. */ isEnabled: Scalars["Boolean"]["output"]; @@ -8546,13 +8562,13 @@ export type TagNode = { isUserSelectable: Scalars["Boolean"]["output"]; keywords: Scalars["JSONString"]["output"]; name: Scalars["String"]["output"]; - order: Maybe; - parentTag: Maybe; + order?: Maybe; + parentTag?: Maybe; questionapplicationSet: Array; slug: Scalars["String"]["output"]; tagCategories: Array; /** Deprecated in Tag System. Still used by old products. */ - tagType: Maybe; + tagType?: Maybe; }; export type TagProblemCountsCategoryNode = { @@ -8568,7 +8584,7 @@ export type TagProblemsCountNode = { }; export type TagSearchHit = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; @@ -8580,38 +8596,38 @@ export type TagTypeNode = { }; export type ToggleContestDynamicLayout = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type ToggleContestRankingDynamicLayout = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type ToggleFavorite = { - card: Maybe; - errors: Maybe; - isCurrentUserAuthenticated: Maybe; - newFavoriteCards: Maybe>>; - ok: Maybe; + card?: Maybe; + errors?: Maybe; + isCurrentUserAuthenticated?: Maybe; + newFavoriteCards?: Maybe>>; + ok?: Maybe; }; export type ToggleFavoriteSolution = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type TogglePinComment = { - comment: Maybe; - error: Maybe; - ok: Maybe; + comment?: Maybe; + error?: Maybe; + ok?: Maybe; }; export type TogglePinTopic = { - error: Maybe; - ok: Maybe; - topic: Maybe; + error?: Maybe; + ok?: Maybe; + topic?: Maybe; }; export type TopicConnection = { @@ -8619,7 +8635,7 @@ export type TopicConnection = { edges: Array>; /** Pagination data for this connection. */ pageInfo: PageInfo; - totalNum: Maybe; + totalNum?: Maybe; }; /** A Relay edge containing a `Topic` and its cursor. */ @@ -8627,29 +8643,29 @@ export type TopicEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type TopicNode = { - authors: Maybe>>; - category: Maybe; + authors?: Maybe>>; + category?: Maybe; challengequestionSet: Array; commentCount: Scalars["Int"]["output"]; contestSet: Array; favoriteCount: Scalars["Int"]["output"]; - hideFromTrending: Maybe; + hideFromTrending?: Maybe; id: Scalars["Int"]["output"]; - index: Maybe; - isFavorite: Maybe; - lastActivity: Maybe; - lastComment: Maybe; + index?: Maybe; + isFavorite?: Maybe; + lastActivity?: Maybe; + lastComment?: Maybe; nodebbTid: Scalars["Int"]["output"]; pinned: Scalars["Boolean"]["output"]; - pinnedAt: Maybe; + pinnedAt?: Maybe; post: PostNode; - searchMeta: Maybe; + searchMeta?: Maybe; solutionTags: Array>; - subscribed: Maybe; + subscribed?: Maybe; tags: Array; title: Scalars["String"]["output"]; topLevelCommentCount: Scalars["Int"]["output"]; @@ -8662,12 +8678,12 @@ export type TopicRelayNode = { commentSet: Array; contestSet: Array; id: Scalars["ID"]["output"]; - lastComment: Maybe; + lastComment?: Maybe; nodebbTid: Scalars["Int"]["output"]; pinned: Scalars["Boolean"]["output"]; - pinnedAt: Maybe; + pinnedAt?: Maybe; post: PostNode; - questionTitle: Maybe; + questionTitle?: Maybe; tags: Array; title: Scalars["String"]["output"]; topLevelCommentCount: Scalars["Int"]["output"]; @@ -8690,7 +8706,7 @@ export type TopicTagConnection = { edges: Array>; /** Pagination data for this connection. */ pageInfo: PageInfo; - totalNum: Maybe; + totalNum?: Maybe; }; /** A Relay edge containing a `TopicTag` and its cursor. */ @@ -8698,7 +8714,7 @@ export type TopicTagEdge = { /** A cursor for use in pagination */ cursor: Scalars["String"]["output"]; /** The item at the end of the edge */ - node: Maybe; + node?: Maybe; }; export type TopicTagNode = { @@ -8707,11 +8723,11 @@ export type TopicTagNode = { discussTopicTag: Array; favoriteSet: Array; favorites: Array; - frequencies: Maybe; - hotScore: Maybe; + frequencies?: Maybe; + hotScore?: Maybe; /** The ID of the object. */ id: Scalars["ID"]["output"]; - imgUrl: Maybe; + imgUrl?: Maybe; interviewTagsCategories: Array; /** Deprecated in Tag System. Still used by old products. */ isEnabled: Scalars["Boolean"]["output"]; @@ -8723,15 +8739,15 @@ export type TopicTagNode = { isUserSelectable: Scalars["Boolean"]["output"]; keywords: Scalars["JSONString"]["output"]; name: Scalars["String"]["output"]; - questionIds: Maybe>>; + questionIds?: Maybe>>; questionapplicationSet: Array; - questions: Maybe>; + questions?: Maybe>; slug: Scalars["String"]["output"]; tagCategories: Array; tagId: Scalars["Int"]["output"]; /** Deprecated in Tag System. Still used by old products. */ - tagType: Maybe; - translatedName: Maybe; + tagType?: Maybe; + translatedName?: Maybe; }; /** An enumeration. */ @@ -8749,11 +8765,11 @@ export type TrialRecordListNode = { export type TrialRecordNode = { applicant: ManagementUserSimpleNode; applyTime: Scalars["DateTime"]["output"]; - attachments: Maybe>; + attachments?: Maybe>; id: Scalars["ID"]["output"]; notes: Scalars["String"]["output"]; - premiumInfos: Maybe>>; - reviewedTime: Maybe; + premiumInfos?: Maybe>>; + reviewedTime?: Maybe; sku: Scalars["String"]["output"]; status: PremiumTrialApplyStatus; trialDays: Scalars["Int"]["output"]; @@ -8784,37 +8800,37 @@ export type UpcResponseType = | "INTERVIEW_PREP_TIME"; export type UpcSubmitResponse = { - ok: Maybe; + ok?: Maybe; }; export type UmApplyForPremiumTrial = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UmBanIp = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UmBanUser = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UmCreateScore = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UmDeleteUserCreditCard = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UmEditIpStatus = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; /** An enumeration. */ @@ -8865,31 +8881,31 @@ export type UmScoreCategoryEnum = | "TOP_IN_CONTEST"; export type UmSendVerificationEmail = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UmSetEmailPrimary = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; /** An enumeration. */ export type UmStoreOrderStatusEnum = "Canceled" | "Processing" | "Shipped"; export type UnlockFavorite = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; - unlockQuestion: Maybe; + unlockQuestion?: Maybe; }; export type UnlockShareEvent = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UnpublishContestAnnouncement = { - ok: Maybe; + ok?: Maybe; }; /** An enumeration. */ @@ -8917,9 +8933,9 @@ export type UpcV2SubmitSurvey = { }; export type UpcV2SubmitSurveyInput = { - codingLevel: InputMaybe; - interests: InputMaybe>>; - purposes: InputMaybe; + codingLevel?: InputMaybe; + interests?: InputMaybe>>; + purposes?: InputMaybe; }; export type UpcV2TagNode = { @@ -8934,173 +8950,173 @@ export type UpcomingBadgeNode = { }; export type UpdateAnnualReportViewStatus = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateBetaParticipation = { - error: Maybe; - ok: Maybe; - userStatus: Maybe; + error?: Maybe; + ok?: Maybe; + userStatus?: Maybe; }; export type UpdateComment = { - comment: Maybe; - error: Maybe; - ok: Maybe; + comment?: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateContribution = { - contribution: Maybe; - error: Maybe; - ok: Maybe; + contribution?: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateContributionContributionArgs = { - id: InputMaybe; + id?: InputMaybe; }; export type UpdateEducation = { - error: Maybe; - ok: Maybe; - record: Maybe; + error?: Maybe; + ok?: Maybe; + record?: Maybe; }; export type UpdateEmailPrimary = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateFavoriteEmojiBackgroundV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type UpdateFavoriteIsPublicV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type UpdateFavoriteNameDescriptionV2 = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type UpdateInvalidUsername = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateNote = { - error: Maybe; - ok: Maybe; - question: Maybe; + error?: Maybe; + ok?: Maybe; + question?: Maybe; }; export type UpdateOccupation = { - error: Maybe; - ok: Maybe; - record: Maybe; + error?: Maybe; + ok?: Maybe; + record?: Maybe; }; export type UpdatePassword = { errors: Array>; - ok: Maybe; + ok?: Maybe; }; export type UpdatePlayground = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdatePlaygroundFolder = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateProblematicPost = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateProfile = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateProfileV3 = { errors: Array>; - ok: Maybe; + ok?: Maybe; }; export type UpdatePublicBadge = { - activeBadge: Maybe; + activeBadge?: Maybe; }; export type UpdateSolution = { - error: Maybe; - ok: Maybe; - topic: Maybe; + error?: Maybe; + ok?: Maybe; + topic?: Maybe; }; export type UpdateSubmissionNote = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateSyncedCode = { - message: Maybe; - ok: Maybe; + message?: Maybe; + ok?: Maybe; }; export type UpdateTeamMember = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateTopic = { - error: Maybe; - ok: Maybe; - topic: Maybe; + error?: Maybe; + ok?: Maybe; + topic?: Maybe; }; export type UpdateTopicWithCategory = { - error: Maybe; - topic: Maybe; + error?: Maybe; + topic?: Maybe; }; export type UpdateUserAvatarStatus = { - error: Maybe; - ok: Maybe; + error?: Maybe; + ok?: Maybe; }; export type UpdateUsername = { - error: Maybe; - ok: Maybe; - userSlug: Maybe; - username: Maybe; - warning: Maybe; + error?: Maybe; + ok?: Maybe; + userSlug?: Maybe; + username?: Maybe; + warning?: Maybe; }; export type UserAccountFrozenInfoNode = { - notEligibleToDeleteAccountReasons: Maybe< + notEligibleToDeleteAccountReasons?: Maybe< Array> >; - planDeleteDate: Maybe; + planDeleteDate?: Maybe; userFrozenStatus: AccountFrozenStatus; }; export type UserBadgeNode = { badge: BadgeBadge; - category: Maybe; + category?: Maybe; creationDate: Scalars["String"]["output"]; displayName: Scalars["String"]["output"]; expired: Scalars["Boolean"]["output"]; - expiredDate: Maybe; - hoverText: Maybe; + expiredDate?: Maybe; + hoverText?: Maybe; icon: Scalars["String"]["output"]; id: Scalars["ID"]["output"]; - medal: Maybe; + medal?: Maybe; name: Scalars["String"]["output"]; shortName: Scalars["String"]["output"]; updationDate: Scalars["DateTime"]["output"]; @@ -9109,8 +9125,8 @@ export type UserBadgeNode = { }; export type UserBanTypeNode = { - slug: Maybe; - typeName: Maybe; + slug?: Maybe; + typeName?: Maybe; }; export type UserCalendarNode = { @@ -9131,12 +9147,12 @@ export type UserContestRankingHistoryNode = { ranking: Scalars["Int"]["output"]; rating: Scalars["Float"]["output"]; totalProblems: Scalars["Int"]["output"]; - trendDirection: Maybe; + trendDirection?: Maybe; }; export type UserContestRankingNode = { attendedContestsCount: Scalars["Int"]["output"]; - badge: Maybe; + badge?: Maybe; globalRanking: Scalars["Int"]["output"]; rating: Scalars["Float"]["output"]; topPercentage: Scalars["Float"]["output"]; @@ -9144,14 +9160,14 @@ export type UserContestRankingNode = { }; export type UserContestStatNode = { - afterContestRating: Maybe; - contest: Maybe; + afterContestRating?: Maybe; + contest?: Maybe; finishTimeInSeconds: Scalars["Int"]["output"]; penaltyCount: Scalars["Int"]["output"]; problemsSolved: Scalars["Int"]["output"]; - ranking: Maybe; - ratingDiff: Maybe; - totalParticipants: Maybe; + ranking?: Maybe; + ratingDiff?: Maybe; + totalParticipants?: Maybe; totalProblems: Scalars["Int"]["output"]; }; @@ -9169,7 +9185,7 @@ export type UserIpNode = { banned: Scalars["Boolean"]["output"]; firstAccessed: Scalars["DateTime"]["output"]; id: Scalars["ID"]["output"]; - ipAddress: Maybe; + ipAddress?: Maybe; lastAccessed: Scalars["DateTime"]["output"]; user: UserNodeAdminOnly; usersCountSharingThisIp: Scalars["Int"]["output"]; @@ -9177,13 +9193,13 @@ export type UserIpNode = { }; export type UserManagementIpListInput = { - endedAt: InputMaybe; - ip: InputMaybe; - limit: Scalars["Int"]["input"]; + endedAt?: InputMaybe; + ip?: InputMaybe; + limit?: Scalars["Int"]["input"]; skip: Scalars["Int"]["input"]; - startedAt: InputMaybe; - status: InputMaybe; - userName: InputMaybe; + startedAt?: InputMaybe; + status?: InputMaybe; + userName?: InputMaybe; }; export type UserManagementLogNode = { @@ -9193,76 +9209,76 @@ export type UserManagementLogNode = { }; export type UserManagementOperationHistoryInput = { - endedAt: InputMaybe; - limit: Scalars["Int"]["input"]; - operations: InputMaybe>>; + endedAt?: InputMaybe; + limit?: Scalars["Int"]["input"]; + operations?: InputMaybe>>; skip: Scalars["Int"]["input"]; - startedAt: InputMaybe; + startedAt?: InputMaybe; userId: Scalars["ID"]["input"]; }; export type UserManagementScoreHistoryInput = { - category: InputMaybe; - endedAt: InputMaybe; - limit: Scalars["Int"]["input"]; - scoreType: InputMaybe; + category?: InputMaybe; + endedAt?: InputMaybe; + limit?: Scalars["Int"]["input"]; + scoreType?: InputMaybe; skip: Scalars["Int"]["input"]; - startedAt: InputMaybe; + startedAt?: InputMaybe; userId: Scalars["ID"]["input"]; }; export type UserManagementStoreOrdersInput = { - endedAt: InputMaybe; - keywords: InputMaybe; - limit: Scalars["Int"]["input"]; + endedAt?: InputMaybe; + keywords?: InputMaybe; + limit?: Scalars["Int"]["input"]; skip: Scalars["Int"]["input"]; - startedAt: InputMaybe; - status: InputMaybe; - userId: InputMaybe; + startedAt?: InputMaybe; + status?: InputMaybe; + userId?: InputMaybe; }; export type UserManagementStripeChargesInput = { - endedAt: InputMaybe; - keywords: InputMaybe; - limit: Scalars["Int"]["input"]; + endedAt?: InputMaybe; + keywords?: InputMaybe; + limit?: Scalars["Int"]["input"]; skip: Scalars["Int"]["input"]; - startedAt: InputMaybe; - status: InputMaybe; + startedAt?: InputMaybe; + status?: InputMaybe; userId: Scalars["ID"]["input"]; }; export type UserNode = { - activeBadge: Maybe; + activeBadge?: Maybe; badges: Array; - contestBadge: Maybe; + contestBadge?: Maybe; contributions: UserContributionNode; - email: Maybe; - emails: Maybe>>; + email?: Maybe; + emails?: Maybe>>; firstName: Scalars["String"]["output"]; - githubUrl: Maybe; - hasChangedUsernameRecently: Maybe; - hasUsablePassword: Maybe; - id: Maybe; + githubUrl?: Maybe; + hasChangedUsernameRecently?: Maybe; + hasUsablePassword?: Maybe; + id?: Maybe; /** Designates whether this user should be treated as active. Unselect this instead of deleting accounts. */ isActive: Scalars["Boolean"]["output"]; - isCurrentUserPremium: Maybe; - isCurrentUserVerified: Maybe; - isDiscussAdmin: Maybe; - isDiscussStaff: Maybe; + isCurrentUserPremium?: Maybe; + isCurrentUserVerified?: Maybe; + isDiscussAdmin?: Maybe; + isDiscussStaff?: Maybe; joinedTimestamp: Scalars["Int"]["output"]; - languageProblemCount: Maybe>; + languageProblemCount?: Maybe>; lastName: Scalars["String"]["output"]; - linkedinUrl: Maybe; - nameColor: Maybe; - phone: Maybe; + linkedinUrl?: Maybe; + nameColor?: Maybe; + phone?: Maybe; problemsSolvedBeatsStats: Array; profile: UserProfileNode; - socialAccounts: Maybe>; + socialAccounts?: Maybe>; submissionCalendar: Scalars["JSONString"]["output"]; submitStats: UserSubmitStatsNode; submitStatsGlobal: UserSubmitStatsNode; tagProblemCounts: TagProblemCountsCategoryNode; - twitterUrl: Maybe; + twitterUrl?: Maybe; upcomingBadges: Array; userCalendar: UserCalendarNode; /** Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. */ @@ -9271,12 +9287,12 @@ export type UserNode = { }; export type UserNodeUserCalendarArgs = { - year: InputMaybe; + year?: InputMaybe; }; export type UserNodeAdminOnly = { achievementSet: Array; - activeBadge: Maybe; + activeBadge?: Maybe; allUsersWithSharedIps: Array; archiveduserSet: Array; articlepageSet: Array; @@ -9287,7 +9303,7 @@ export type UserNodeAdminOnly = { commentSet: Array; companySet: Array; completionSet: Array; - contestBadge: Maybe; + contestBadge?: Maybe; contestreportSet: Array; contestreportlccnSet: Array; contributionSet: Array; @@ -9297,39 +9313,39 @@ export type UserNodeAdminOnly = { dateJoined: Scalars["DateTime"]["output"]; debugSession: Array; educationrecordSet: Array; - email: Maybe; + email?: Maybe; emailaddressSet: Array; - emails: Maybe>>; + emails?: Maybe>>; favoriteSet: Array; firstName: Scalars["String"]["output"]; flagSet: Array; flagresultSet: Array; - githubUrl: Maybe; - hasChangedUsernameRecently: Maybe; - hasUsablePassword: Maybe; - id: Maybe; + githubUrl?: Maybe; + hasChangedUsernameRecently?: Maybe; + hasUsablePassword?: Maybe; + id?: Maybe; /** Designates whether this user should be treated as active. Unselect this instead of deleting accounts. */ isActive: Scalars["Boolean"]["output"]; - isCurrentUserPremium: Maybe; - isCurrentUserVerified: Maybe; - isDiscussAdmin: Maybe; - isDiscussStaff: Maybe; + isCurrentUserPremium?: Maybe; + isCurrentUserVerified?: Maybe; + isDiscussAdmin?: Maybe; + isDiscussStaff?: Maybe; isPremium: Scalars["Boolean"]["output"]; /** Designates whether the user can log into this admin site. */ isStaff: Scalars["Boolean"]["output"]; /** Designates that this user has all permissions without explicitly assigning them. */ isSuperuser: Scalars["Boolean"]["output"]; joinedTimestamp: Scalars["Int"]["output"]; - languageProblemCount: Maybe>; - lastLogin: Maybe; + languageProblemCount?: Maybe>; + lastLogin?: Maybe; lastName: Scalars["String"]["output"]; libraryactivitySet: QuestionActivityNodeConnection; - linkedinUrl: Maybe; - nameColor: Maybe; + linkedinUrl?: Maybe; + nameColor?: Maybe; notificationSet: NotificationNodeConnection; occupationrecordSet: Array; password: Scalars["String"]["output"]; - phone: Maybe; + phone?: Maybe; playgroundSet: Array; playgroundfolderSet: Array; playgroundtemplateSet: Array; @@ -9346,7 +9362,7 @@ export type UserNodeAdminOnly = { reporter: Array; scoreUser: Array; sessionSet: InterviewSessionNodeConnection; - socialAccounts: Maybe>; + socialAccounts?: Maybe>; storeaddressSet: Array; storeorderSet: Array; storeorderoperationlogSet: Array; @@ -9355,7 +9371,7 @@ export type UserNodeAdminOnly = { submitStats: UserSubmitStatsNode; submitStatsGlobal: UserSubmitStatsNode; tagProblemCounts: TagProblemCountsCategoryNode; - twitterUrl: Maybe; + twitterUrl?: Maybe; upcomingBadges: Array; userCalendar: UserCalendarNode; userIps: Array>; @@ -9371,52 +9387,52 @@ export type UserNodeAdminOnly = { }; export type UserNodeAdminOnlyCreatedByArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type UserNodeAdminOnlyLibraryactivitySetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type UserNodeAdminOnlyNotificationSetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type UserNodeAdminOnlyQuestionSetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type UserNodeAdminOnlySessionSetArgs = { - after: InputMaybe; - before: InputMaybe; - first: InputMaybe; - last: InputMaybe; - offset: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + offset?: InputMaybe; }; export type UserNodeAdminOnlyUserCalendarArgs = { - year: InputMaybe; + year?: InputMaybe; }; export type UserNotificationNode = { - lastModified: Maybe; - numUnread: Maybe; + lastModified?: Maybe; + numUnread?: Maybe; }; /** An enumeration. */ @@ -9953,43 +9969,43 @@ export type UserProfileCountry = export type UserProfileNode = { aboutMe: Scalars["String"]["output"]; - acStats: Maybe; - age: Maybe; - birthday: Maybe; + acStats?: Maybe; + age?: Maybe; + birthday?: Maybe; categoryDiscussCount: Scalars["Int"]["output"]; categoryDiscussCountDiff: Scalars["Int"]["output"]; - company: Maybe; - contestCount: Maybe; - country: Maybe; - countryCode: Maybe; - countryName: Maybe; - displayMySubmissionHistory: Maybe; - education: Maybe; - gender: Maybe; - globalRanking: Maybe; - jobTitle: Maybe; - joinStudyPlanLeaderboard: Maybe; + company?: Maybe; + contestCount?: Maybe; + country?: Maybe; + countryCode?: Maybe; + countryName?: Maybe; + displayMySubmissionHistory?: Maybe; + education?: Maybe; + gender?: Maybe; + globalRanking?: Maybe; + jobTitle?: Maybe; + joinStudyPlanLeaderboard?: Maybe; lastModified: Scalars["DateTime"]["output"]; - location: Maybe; - occupation: Maybe; + location?: Maybe; + occupation?: Maybe; postViewCount: Scalars["Int"]["output"]; postViewCountDiff: Scalars["Int"]["output"]; - privacyContact: Maybe; + privacyContact?: Maybe; publicBadgeType: Scalars["Int"]["output"]; ranking: Scalars["Int"]["output"]; realName: Scalars["String"]["output"]; reputation: Scalars["Int"]["output"]; reputationDiff: Scalars["Int"]["output"]; - rewardStats: Maybe>>; - school: Maybe; + rewardStats?: Maybe>>; + school?: Maybe; skillTags: Array>; solutionCount: Scalars["Int"]["output"]; solutionCountDiff: Scalars["Int"]["output"]; starRating: Scalars["Float"]["output"]; - userAvatar: Maybe; + userAvatar?: Maybe; userSlug: Scalars["String"]["output"]; - websites: Maybe>>; - yearsOfExperience: Maybe; + websites?: Maybe>>; + yearsOfExperience?: Maybe; }; /** An enumeration. */ @@ -10050,13 +10066,13 @@ export type UserSubmitStatsNode = { }; export type UserUploadSchoolLogo = { - error: Maybe; + error?: Maybe; ok: Scalars["Boolean"]["output"]; }; export type UserWeeklyTaskRecordListNode = { - planFinishDate: Maybe; - planWeeklyTaskSetDate: Maybe; + planFinishDate?: Maybe; + planWeeklyTaskSetDate?: Maybe; userWeeklyTaskRecords: Array; }; @@ -10076,17 +10092,17 @@ export type VacRecordListNode = { }; export type VacRecordNode = { - chargeAmount: Maybe; - chargeAmountRefunded: Maybe; - chargeTime: Maybe; - completionPercentage: Maybe; + chargeAmount?: Maybe; + chargeAmountRefunded?: Maybe; + chargeTime?: Maybe; + completionPercentage?: Maybe; vacName: Scalars["String"]["output"]; }; export type VacRecordsInput = { - limit: Scalars["Int"]["input"]; + limit?: Scalars["Int"]["input"]; /** vac name to search */ - searchKeyword: InputMaybe; + searchKeyword?: InputMaybe; skip: Scalars["Int"]["input"]; userId: Scalars["ID"]["input"]; }; @@ -10098,15 +10114,15 @@ export type ValueAddedContentNode = { id: Scalars["ID"]["output"]; isActive: Scalars["Boolean"]["output"]; name: Scalars["String"]["output"]; - pricing: Maybe; + pricing?: Maybe; slug: Scalars["String"]["output"]; updationDate: Scalars["DateTime"]["output"]; }; export type VideoNode = { /** Collapsible HTML under video */ - content: Maybe; - editLink: Maybe; + content?: Maybe; + editLink?: Maybe; /** Embedded HTML video */ html: Scalars["String"]["output"]; id: Scalars["ID"]["output"]; @@ -10114,35 +10130,35 @@ export type VideoNode = { }; export type VirtualContestScoreNode = { - contest: Maybe; - finishTime: Maybe; + contest?: Maybe; + finishTime?: Maybe; ranking: Scalars["Int"]["output"]; score: Scalars["Int"]["output"]; - startTime: Maybe; + startTime?: Maybe; totalAcQuestions: Scalars["Int"]["output"]; - totalQuestions: Maybe; - totalScore: Maybe; - totalUsers: Maybe; + totalQuestions?: Maybe; + totalScore?: Maybe; + totalUsers?: Maybe; }; export type VoteNode = { date: Scalars["DateTime"]["output"]; id: Scalars["ID"]["output"]; post: PostNode; - postId: Maybe; - type: Maybe; + postId?: Maybe; + type?: Maybe; user: PrivateContestUserNode; }; export type VotePost = { - error: Maybe; - ok: Maybe; - post: Maybe; - value: Maybe; + error?: Maybe; + ok?: Maybe; + post?: Maybe; + value?: Maybe; }; export type WebPageNode = { - editLink: Maybe; + editLink?: Maybe; html: Scalars["String"]["output"]; id: Scalars["ID"]["output"]; paidOnly: Scalars["Boolean"]["output"]; @@ -10154,21 +10170,21 @@ export type WordListTypeNode = { }; export type ManagementCompanyQuestionsInput = { - keyword: InputMaybe; - keywordType: InputMaybe; + keyword?: InputMaybe; + keywordType?: InputMaybe; limit: Scalars["Int"]["input"]; offset: Scalars["Int"]["input"]; tagId: Scalars["Int"]["input"]; - timeOption: InputMaybe; + timeOption?: InputMaybe; }; export type ManagementCompanyQuestionsV2Input = { companyTagId: Scalars["Int"]["input"]; - keyword: InputMaybe; + keyword?: InputMaybe; limit: Scalars["Int"]["input"]; offset: Scalars["Int"]["input"]; - positionTagSlug: InputMaybe; - timeOption: InputMaybe; + positionTagSlug?: InputMaybe; + timeOption?: InputMaybe; }; export type ManagementIncVoteLogsInput = { diff --git a/workspaces/leetcode-api/src/main.ts b/workspaces/leetcode-api/src/main.ts index 5a01e7eb..90529dc8 100644 --- a/workspaces/leetcode-api/src/main.ts +++ b/workspaces/leetcode-api/src/main.ts @@ -2,12 +2,12 @@ export { fetchActiveDailyCodingChallengeQuestionWithDateValidation, fetchActiveDailyCodingChallengeQuestionWithoutDateValidation, type ActiveDailyCodingChallengeQuestion, -} from "./fetchActiveDailyCodingChallengeQuestion.ts"; +} from "./api/active-daily-coding-challenge-question/main.ts"; export { fetchCommunitySolutionTopic, type CommunitySolutionTopic, -} from "./fetchCommunitySolutionTopic.ts"; +} from "./api/topic/main.ts"; export { fetchGraphQLTypeInformation, @@ -19,12 +19,12 @@ export { CategorySlug, type QuestionList, type QuestionListQuestion, -} from "./fetchQuestionList.ts"; +} from "./api/question-list/main.ts"; export { fetchRecentAcSubmissionList, type RecentAcSubmission, -} from "./fetchRecentAcSubmissionList.ts"; +} from "./api/recent-ac-submission-list/main.ts"; export { PAGE_SIZE as SUBMISSIONS_LIST_DEFAULT_PAGE_SIZE, @@ -33,6 +33,6 @@ export { fetchSubmissionList, type Submission, type SubmissionList, -} from "./fetchSubmissionList.ts"; +} from "./api/submission-list-non-graphql/main.ts"; export type { QuestionDifficulty } from "./zod-types/questionDifficultyZodType.ts"; diff --git a/workspaces/leetcode-api/src/scripts/codegen/graphqlCodegenPlugin.ts b/workspaces/leetcode-api/src/scripts/codegen/graphqlCodegenPlugin.ts new file mode 100644 index 00000000..06d2c3e0 --- /dev/null +++ b/workspaces/leetcode-api/src/scripts/codegen/graphqlCodegenPlugin.ts @@ -0,0 +1,54 @@ +import type { PluginFunction } from "@graphql-codegen/plugin-helpers"; +import graphqlQueryCompress from "graphql-query-compress"; +import invariant from "invariant"; +import nullthrows from "nullthrows"; +import { z } from "zod"; + +import { isObject } from "@code-chronicles/util/isObject"; +import { only } from "@code-chronicles/util/only"; + +const operationNameZodType = z + .object({ value: z.string() }) + .transform(({ value }) => value); + +export const plugin: PluginFunction<{}> = function plugin(_schema, documents) { + // Encode some assumptions as invariants, namely that there is a single query + // operation in the file. + const { document, rawSDL: unminifiedGraphql } = only(documents); + const definition = only(nullthrows(document).definitions); + invariant( + isObject(definition) && + definition.kind === "OperationDefinition" && + definition.operation === "query", + "Expected a query!", + ); + + const minifiedGraphql = graphqlQueryCompress(nullthrows(unminifiedGraphql)); + const operationName = operationNameZodType.parse(definition.name); + + // TODO: strip out the operation name from the minified GraphQL + + return { + prepend: [ + ` + import type { Simplify } from "type-fest"; + + import { getGraphQLClient } from "../../getGraphQLClient.ts"; + import type * as Types from "../../graphqlTypes.generated.ts"; + `, + ], + append: [ + ` + export type QueryVariables = Simplify<${operationName}QueryVariables>; + export type Query = Simplify<${operationName}Query>; + + export const QUERY = ${JSON.stringify(minifiedGraphql)}; + + export function fetchGraphQL(variables: QueryVariables): Promise { + return getGraphQLClient().request(QUERY, variables); + } + `, + ], + content: "", + }; +}; diff --git a/yarn.lock b/yarn.lock index fd3e71ac..f7807d2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1231,11 +1231,14 @@ __metadata: dependencies: "@code-chronicles/eslint-config": "workspace:*" "@code-chronicles/util": "workspace:*" + "@graphql-codegen/add": "npm:5.0.3" "@graphql-codegen/cli": "npm:5.0.2" "@graphql-codegen/near-operation-file-preset": "npm:3.0.0" "@types/node": "npm:22.7.4" + cross-env: "npm:7.0.3" eslint: "npm:9.12.0" graphql: "npm:16.9.0" + graphql-query-compress: "npm:1.2.4" graphql-request: "npm:7.1.0" invariant: "npm:2.2.4" jest: "npm:29.7.0" @@ -1243,6 +1246,7 @@ __metadata: prettier: "npm:3.3.3" ts-jest: "npm:29.2.5" tsx: "npm:4.19.1" + type-fest: "npm:4.26.1" typescript: "npm:5.6.2" zod: "npm:3.23.8" languageName: unknown @@ -1684,27 +1688,27 @@ __metadata: languageName: node linkType: hard -"@graphql-codegen/add@npm:^3.2.1": - version: 3.2.3 - resolution: "@graphql-codegen/add@npm:3.2.3" +"@graphql-codegen/add@npm:5.0.3, @graphql-codegen/add@npm:^5.0.3": + version: 5.0.3 + resolution: "@graphql-codegen/add@npm:5.0.3" dependencies: - "@graphql-codegen/plugin-helpers": "npm:^3.1.1" - tslib: "npm:~2.4.0" + "@graphql-codegen/plugin-helpers": "npm:^5.0.3" + tslib: "npm:~2.6.0" peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/4aa9a5b591505c7174465dee58276ce3b84f34aefcb0b1f2d6744ff4c9cb541a2b66ee9851503f40afd227c4d7a5a90cf19e904733c1a3b07f32e8fdcd56121b + checksum: 10c0/2ddb8b57a0b445f109b1d8e5611e838ff590dc3c6c210ba1c31e3967e6a58097bceaef79b501eace700cd6210dca0d1ef3d28519ed7b5a4f3ce6cfc8f1508c90 languageName: node linkType: hard -"@graphql-codegen/add@npm:^5.0.3": - version: 5.0.3 - resolution: "@graphql-codegen/add@npm:5.0.3" +"@graphql-codegen/add@npm:^3.2.1": + version: 3.2.3 + resolution: "@graphql-codegen/add@npm:3.2.3" dependencies: - "@graphql-codegen/plugin-helpers": "npm:^5.0.3" - tslib: "npm:~2.6.0" + "@graphql-codegen/plugin-helpers": "npm:^3.1.1" + tslib: "npm:~2.4.0" peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/2ddb8b57a0b445f109b1d8e5611e838ff590dc3c6c210ba1c31e3967e6a58097bceaef79b501eace700cd6210dca0d1ef3d28519ed7b5a4f3ce6cfc8f1508c90 + checksum: 10c0/4aa9a5b591505c7174465dee58276ce3b84f34aefcb0b1f2d6744ff4c9cb541a2b66ee9851503f40afd227c4d7a5a90cf19e904733c1a3b07f32e8fdcd56121b languageName: node linkType: hard @@ -6436,6 +6440,15 @@ __metadata: languageName: node linkType: hard +"graphql-query-compress@npm:1.2.4": + version: 1.2.4 + resolution: "graphql-query-compress@npm:1.2.4" + dependencies: + tokenizr: "npm:1.5.7" + checksum: 10c0/6a4f6d329020224d0f53150ce20bb7af211ab101a746d9fe51b1bbc01a855309b91342288e5bc3298a6f1acf76c3a353cd3865681bd95bfef812eca78b10699c + languageName: node + linkType: hard + "graphql-request@npm:7.1.0": version: 7.1.0 resolution: "graphql-request@npm:7.1.0" @@ -10568,6 +10581,13 @@ __metadata: languageName: node linkType: hard +"tokenizr@npm:1.5.7": + version: 1.5.7 + resolution: "tokenizr@npm:1.5.7" + checksum: 10c0/15711ee3414be27137990e55c7ed5aeaf80375081101a10b2ca56f419785a2c28f2e9bf6b3871934962daed1e08e892f5384feab95c9720ff60089a232ecb71c + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3"