diff options
Diffstat (limited to 'frontend/app/.server/api/schema.d.ts')
| -rw-r--r-- | frontend/app/.server/api/schema.d.ts | 858 |
1 files changed, 447 insertions, 411 deletions
diff --git a/frontend/app/.server/api/schema.d.ts b/frontend/app/.server/api/schema.d.ts index 1afed69..0736e43 100644 --- a/frontend/app/.server/api/schema.d.ts +++ b/frontend/app/.server/api/schema.d.ts @@ -4,421 +4,457 @@ */ export interface paths { - "/login": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** User login */ - post: operations["postLogin"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/token": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get a short-lived access token */ - get: operations["getToken"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/games": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** List games */ - get: operations["getGames"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/games/{game_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get a game */ - get: operations["getGame"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; + "/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** User login */ + post: operations["postLogin"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a short-lived access token */ + get: operations["getToken"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/games": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List games */ + get: operations["getGames"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/games/{game_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a game */ + get: operations["getGame"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; } export type webhooks = Record<string, never>; export interface components { - schemas: { - Error: { - /** @example Invalid request */ - message: string; - }; - User: { - /** @example 123 */ - user_id: number; - /** @example john */ - username: string; - /** @example John Doe */ - display_name: string; - /** @example /images/john.jpg */ - icon_path?: string; - /** @example false */ - is_admin: boolean; - }; - Game: { - /** @example 1 */ - game_id: number; - /** - * @example 1v1 - * @enum {string} - */ - game_type: "1v1" | "multiplayer"; - /** - * @example closed - * @enum {string} - */ - state: "closed" | "waiting" | "starting" | "gaming" | "finished"; - /** @example Game 1 */ - display_name: string; - /** @example 360 */ - duration_seconds: number; - /** @example 946684800 */ - started_at?: number; - problem: components["schemas"]["Problem"]; - players: components["schemas"]["User"][]; - exec_steps: components["schemas"]["ExecStep"][]; - }; - ExecStep: { - /** @example 1 */ - testcase_id: number | null; - /** @example Test case 1 */ - label: string; - }; - Problem: { - /** @example 1 */ - problem_id: number; - /** @example Problem 1 */ - title: string; - /** @example This is a problem */ - description: string; - }; - GamePlayerMessage: components["schemas"]["GamePlayerMessageS2C"] | components["schemas"]["GamePlayerMessageC2S"]; - GamePlayerMessageS2C: components["schemas"]["GamePlayerMessageS2CStart"] | components["schemas"]["GamePlayerMessageS2CExecResult"] | components["schemas"]["GamePlayerMessageS2CSubmitResult"]; - GamePlayerMessageS2CStart: { - /** @constant */ - type: "player:s2c:start"; - data: components["schemas"]["GamePlayerMessageS2CStartPayload"]; - }; - GamePlayerMessageS2CStartPayload: { - /** @example 946684800 */ - start_at: number; - }; - GamePlayerMessageS2CExecResult: { - /** @constant */ - type: "player:s2c:execresult"; - data: components["schemas"]["GamePlayerMessageS2CExecResultPayload"]; - }; - GamePlayerMessageS2CExecResultPayload: { - /** @example 1 */ - testcase_id: number | null; - /** - * @example success - * @enum {string} - */ - status: "success" | "wrong_answer" | "timeout" | "runtime_error" | "internal_error" | "compile_error"; - /** @example Hello, world! */ - stdout: string; - /** @example */ - stderr: string; - }; - GamePlayerMessageS2CSubmitResult: { - /** @constant */ - type: "player:s2c:submitresult"; - data: components["schemas"]["GamePlayerMessageS2CSubmitResultPayload"]; - }; - GamePlayerMessageS2CSubmitResultPayload: { - /** - * @example success - * @enum {string} - */ - status: "success" | "wrong_answer" | "timeout" | "runtime_error" | "internal_error" | "compile_error"; - /** @example 100 */ - score: number | null; - }; - GamePlayerMessageC2S: components["schemas"]["GamePlayerMessageC2SCode"] | components["schemas"]["GamePlayerMessageC2SSubmit"]; - GamePlayerMessageC2SCode: { - /** @constant */ - type: "player:c2s:code"; - data: components["schemas"]["GamePlayerMessageC2SCodePayload"]; - }; - GamePlayerMessageC2SCodePayload: { - /** @example print('Hello, world!') */ - code: string; - }; - GamePlayerMessageC2SSubmit: { - /** @constant */ - type: "player:c2s:submit"; - data: components["schemas"]["GamePlayerMessageC2SSubmitPayload"]; - }; - GamePlayerMessageC2SSubmitPayload: { - /** @example print('Hello, world!') */ - code: string; - }; - GameWatcherMessage: components["schemas"]["GameWatcherMessageS2C"]; - GameWatcherMessageS2C: components["schemas"]["GameWatcherMessageS2CStart"] | components["schemas"]["GameWatcherMessageS2CCode"] | components["schemas"]["GameWatcherMessageS2CSubmit"] | components["schemas"]["GameWatcherMessageS2CExecResult"] | components["schemas"]["GameWatcherMessageS2CSubmitResult"]; - GameWatcherMessageS2CStart: { - /** @constant */ - type: "watcher:s2c:start"; - data: components["schemas"]["GameWatcherMessageS2CStartPayload"]; - }; - GameWatcherMessageS2CStartPayload: { - /** @example 946684800 */ - start_at: number; - }; - GameWatcherMessageS2CCode: { - /** @constant */ - type: "watcher:s2c:code"; - data: components["schemas"]["GameWatcherMessageS2CCodePayload"]; - }; - GameWatcherMessageS2CCodePayload: { - /** @example 1 */ - player_id: number; - /** @example print('Hello, world!') */ - code: string; - }; - GameWatcherMessageS2CSubmit: { - /** @constant */ - type: "watcher:s2c:submit"; - data: components["schemas"]["GameWatcherMessageS2CSubmitPayload"]; - }; - GameWatcherMessageS2CSubmitPayload: { - /** @example 1 */ - player_id: number; - }; - GameWatcherMessageS2CExecResult: { - /** @constant */ - type: "watcher:s2c:execresult"; - data: components["schemas"]["GameWatcherMessageS2CExecResultPayload"]; - }; - GameWatcherMessageS2CExecResultPayload: { - /** @example 1 */ - player_id: number; - /** @example 1 */ - testcase_id: number | null; - /** - * @example success - * @enum {string} - */ - status: "success" | "wrong_answer" | "timeout" | "runtime_error" | "internal_error" | "compile_error"; - /** @example Hello, world! */ - stdout: string; - /** @example */ - stderr: string; - }; - GameWatcherMessageS2CSubmitResult: { - /** @constant */ - type: "watcher:s2c:submitresult"; - data: components["schemas"]["GameWatcherMessageS2CSubmitResultPayload"]; - }; - GameWatcherMessageS2CSubmitResultPayload: { - /** @example 1 */ - player_id: number; - /** - * @example success - * @enum {string} - */ - status: "success" | "wrong_answer" | "timeout" | "runtime_error" | "internal_error" | "compile_error"; - /** @example 100 */ - score: number | null; - }; - }; - responses: { - /** @description Bad request */ - BadRequest: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - /** @description Unauthorized */ - Unauthorized: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - /** @description Forbidden */ - Forbidden: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - /** @description Not found */ - NotFound: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - parameters: { - header_authorization: string; - path_game_id: number; - }; - requestBodies: never; - headers: never; - pathItems: never; + schemas: { + Error: { + /** @example Invalid request */ + message: string; + }; + User: { + /** @example 123 */ + user_id: number; + /** @example john */ + username: string; + /** @example John Doe */ + display_name: string; + /** @example /images/john.jpg */ + icon_path?: string; + /** @example false */ + is_admin: boolean; + }; + Game: { + /** @example 1 */ + game_id: number; + /** + * @example 1v1 + * @enum {string} + */ + game_type: "1v1" | "multiplayer"; + /** + * @example closed + * @enum {string} + */ + state: "closed" | "waiting" | "starting" | "gaming" | "finished"; + /** @example Game 1 */ + display_name: string; + /** @example 360 */ + duration_seconds: number; + /** @example 946684800 */ + started_at?: number; + problem: components["schemas"]["Problem"]; + players: components["schemas"]["User"][]; + exec_steps: components["schemas"]["ExecStep"][]; + }; + ExecStep: { + /** @example 1 */ + testcase_id: number | null; + /** @example Test case 1 */ + label: string; + }; + Problem: { + /** @example 1 */ + problem_id: number; + /** @example Problem 1 */ + title: string; + /** @example This is a problem */ + description: string; + }; + GamePlayerMessage: + | components["schemas"]["GamePlayerMessageS2C"] + | components["schemas"]["GamePlayerMessageC2S"]; + GamePlayerMessageS2C: + | components["schemas"]["GamePlayerMessageS2CStart"] + | components["schemas"]["GamePlayerMessageS2CExecResult"] + | components["schemas"]["GamePlayerMessageS2CSubmitResult"]; + GamePlayerMessageS2CStart: { + /** @constant */ + type: "player:s2c:start"; + data: components["schemas"]["GamePlayerMessageS2CStartPayload"]; + }; + GamePlayerMessageS2CStartPayload: { + /** @example 946684800 */ + start_at: number; + }; + GamePlayerMessageS2CExecResult: { + /** @constant */ + type: "player:s2c:execresult"; + data: components["schemas"]["GamePlayerMessageS2CExecResultPayload"]; + }; + GamePlayerMessageS2CExecResultPayload: { + /** @example 1 */ + testcase_id: number | null; + /** + * @example success + * @enum {string} + */ + status: + | "success" + | "wrong_answer" + | "timeout" + | "runtime_error" + | "internal_error" + | "compile_error"; + /** @example Hello, world! */ + stdout: string; + /** @example */ + stderr: string; + }; + GamePlayerMessageS2CSubmitResult: { + /** @constant */ + type: "player:s2c:submitresult"; + data: components["schemas"]["GamePlayerMessageS2CSubmitResultPayload"]; + }; + GamePlayerMessageS2CSubmitResultPayload: { + /** + * @example success + * @enum {string} + */ + status: + | "success" + | "wrong_answer" + | "timeout" + | "runtime_error" + | "internal_error" + | "compile_error"; + /** @example 100 */ + score: number | null; + }; + GamePlayerMessageC2S: + | components["schemas"]["GamePlayerMessageC2SCode"] + | components["schemas"]["GamePlayerMessageC2SSubmit"]; + GamePlayerMessageC2SCode: { + /** @constant */ + type: "player:c2s:code"; + data: components["schemas"]["GamePlayerMessageC2SCodePayload"]; + }; + GamePlayerMessageC2SCodePayload: { + /** @example print('Hello, world!') */ + code: string; + }; + GamePlayerMessageC2SSubmit: { + /** @constant */ + type: "player:c2s:submit"; + data: components["schemas"]["GamePlayerMessageC2SSubmitPayload"]; + }; + GamePlayerMessageC2SSubmitPayload: { + /** @example print('Hello, world!') */ + code: string; + }; + GameWatcherMessage: components["schemas"]["GameWatcherMessageS2C"]; + GameWatcherMessageS2C: + | components["schemas"]["GameWatcherMessageS2CStart"] + | components["schemas"]["GameWatcherMessageS2CCode"] + | components["schemas"]["GameWatcherMessageS2CSubmit"] + | components["schemas"]["GameWatcherMessageS2CExecResult"] + | components["schemas"]["GameWatcherMessageS2CSubmitResult"]; + GameWatcherMessageS2CStart: { + /** @constant */ + type: "watcher:s2c:start"; + data: components["schemas"]["GameWatcherMessageS2CStartPayload"]; + }; + GameWatcherMessageS2CStartPayload: { + /** @example 946684800 */ + start_at: number; + }; + GameWatcherMessageS2CCode: { + /** @constant */ + type: "watcher:s2c:code"; + data: components["schemas"]["GameWatcherMessageS2CCodePayload"]; + }; + GameWatcherMessageS2CCodePayload: { + /** @example 1 */ + player_id: number; + /** @example print('Hello, world!') */ + code: string; + }; + GameWatcherMessageS2CSubmit: { + /** @constant */ + type: "watcher:s2c:submit"; + data: components["schemas"]["GameWatcherMessageS2CSubmitPayload"]; + }; + GameWatcherMessageS2CSubmitPayload: { + /** @example 1 */ + player_id: number; + }; + GameWatcherMessageS2CExecResult: { + /** @constant */ + type: "watcher:s2c:execresult"; + data: components["schemas"]["GameWatcherMessageS2CExecResultPayload"]; + }; + GameWatcherMessageS2CExecResultPayload: { + /** @example 1 */ + player_id: number; + /** @example 1 */ + testcase_id: number | null; + /** + * @example success + * @enum {string} + */ + status: + | "success" + | "wrong_answer" + | "timeout" + | "runtime_error" + | "internal_error" + | "compile_error"; + /** @example Hello, world! */ + stdout: string; + /** @example */ + stderr: string; + }; + GameWatcherMessageS2CSubmitResult: { + /** @constant */ + type: "watcher:s2c:submitresult"; + data: components["schemas"]["GameWatcherMessageS2CSubmitResultPayload"]; + }; + GameWatcherMessageS2CSubmitResultPayload: { + /** @example 1 */ + player_id: number; + /** + * @example success + * @enum {string} + */ + status: + | "success" + | "wrong_answer" + | "timeout" + | "runtime_error" + | "internal_error" + | "compile_error"; + /** @example 100 */ + score: number | null; + }; + }; + responses: { + /** @description Bad request */ + BadRequest: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Unauthorized */ + Unauthorized: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Forbidden */ + Forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Not found */ + NotFound: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + parameters: { + header_authorization: string; + path_game_id: number; + }; + requestBodies: never; + headers: never; + pathItems: never; } export type $defs = Record<string, never>; export interface operations { - postLogin: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": { - /** @example john */ - username: string; - /** @example password123 */ - password: string; - }; - }; - }; - responses: { - /** @description Successfully authenticated */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example xxxxx.xxxxx.xxxxx */ - token: string; - }; - }; - }; - 401: components["responses"]["Unauthorized"]; - }; - }; - getToken: { - parameters: { - query?: never; - header: { - Authorization: components["parameters"]["header_authorization"]; - }; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successfully authenticated */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example xxxxx.xxxxx.xxxxx */ - token: string; - }; - }; - }; - 401: components["responses"]["Unauthorized"]; - }; - }; - getGames: { - parameters: { - query?: never; - header: { - Authorization: components["parameters"]["header_authorization"]; - }; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description List of games */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - games: components["schemas"]["Game"][]; - }; - }; - }; - 401: components["responses"]["Unauthorized"]; - 403: components["responses"]["Forbidden"]; - }; - }; - getGame: { - parameters: { - query?: never; - header: { - Authorization: components["parameters"]["header_authorization"]; - }; - path: { - game_id: components["parameters"]["path_game_id"]; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description A game */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - game: components["schemas"]["Game"]; - }; - }; - }; - 401: components["responses"]["Unauthorized"]; - 403: components["responses"]["Forbidden"]; - 404: components["responses"]["NotFound"]; - }; - }; + postLogin: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @example john */ + username: string; + /** @example password123 */ + password: string; + }; + }; + }; + responses: { + /** @description Successfully authenticated */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example xxxxx.xxxxx.xxxxx */ + token: string; + }; + }; + }; + 401: components["responses"]["Unauthorized"]; + }; + }; + getToken: { + parameters: { + query?: never; + header: { + Authorization: components["parameters"]["header_authorization"]; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully authenticated */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example xxxxx.xxxxx.xxxxx */ + token: string; + }; + }; + }; + 401: components["responses"]["Unauthorized"]; + }; + }; + getGames: { + parameters: { + query?: never; + header: { + Authorization: components["parameters"]["header_authorization"]; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of games */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + games: components["schemas"]["Game"][]; + }; + }; + }; + 401: components["responses"]["Unauthorized"]; + 403: components["responses"]["Forbidden"]; + }; + }; + getGame: { + parameters: { + query?: never; + header: { + Authorization: components["parameters"]["header_authorization"]; + }; + path: { + game_id: components["parameters"]["path_game_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A game */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + game: components["schemas"]["Game"]; + }; + }; + }; + 401: components["responses"]["Unauthorized"]; + 403: components["responses"]["Forbidden"]; + 404: components["responses"]["NotFound"]; + }; + }; } |
