diff options
| author | Joel Klinghed <the_jk@spawned.biz> | 2025-07-12 22:51:40 +0200 |
|---|---|---|
| committer | Joel Klinghed <the_jk@spawned.biz> | 2025-07-12 22:51:40 +0200 |
| commit | 145be2b3c92e254904d4040850e3c1e9b6a66f32 (patch) | |
| tree | b7dccee6e8fdbf3d7aafdcf40bfe99c1d237f1a0 /client | |
| parent | a7dcb397f7aa4f4ec5ad0f5b572b331f9d0f8270 (diff) | |
fixup! client: Add openapi-typescript and generated schema from openapi spec of server
Diffstat (limited to 'client')
| -rw-r--r-- | client/package.json | 2 | ||||
| -rw-r--r-- | client/src/lib/api/schema.d.ts | 1422 |
2 files changed, 1423 insertions, 1 deletions
diff --git a/client/package.json b/client/package.json index 21be173..b9f228b 100644 --- a/client/package.json +++ b/client/package.json @@ -12,7 +12,7 @@ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "format": "prettier --write .", "lint": "prettier --check . && eslint .", - "openapi": "openapi-typescript http://127.0.0.1:8000/openapi/openapi.json -o api/schema.d.ts" + "openapi": "openapi-typescript http://127.0.0.1:8000/openapi/openapi.json -o src/lib/api/schema.d.ts" }, "devDependencies": { "@eslint/compat": "^1.3.1", diff --git a/client/src/lib/api/schema.d.ts b/client/src/lib/api/schema.d.ts new file mode 100644 index 0000000..f69f227 --- /dev/null +++ b/client/src/lib/api/schema.d.ts @@ -0,0 +1,1422 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/healthcheck": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["healthcheck"]; + 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; + post: operations["login"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/logout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["logout"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/{projectid}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["project"]; + put?: never; + post: operations["project_update"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/{projectid}/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["project_new"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/{projectid}/reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["reviews"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/{projectid}/translations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["translation_reviews"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/{projectid}/user/{userid}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["project_user_update"]; + delete: operations["project_user_del"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/{projectid}/user/{userid}/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["project_user_add"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["projects"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/review/{projectid}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["review_id"]; + put?: never; + post?: never; + delete: operations["review_id_del"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/review/{projectid}/{branch}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["review"]; + put?: never; + post?: never; + delete: operations["review_del"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["status"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/translation/{projectid}/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["translation_review_new"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/translation/{translation_reviewid}/strings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["translation_review_strings"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["user_keys"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/keys/add": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["user_key_add"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/keys/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["user_key_get"]; + put?: never; + post?: never; + delete: operations["user_key_del"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["users"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record<string, never>; +export interface components { + schemas: { + LocalizationPlaceholder: { + /** @example %1$d */ + content: string; + /** @example 42 */ + example: string; + /** @example NAME */ + id: string; + }; + LocalizationString: { + /** @example Generic greating */ + description: string; + /** @example strings/strings.grd */ + file: string; + /** @example IDS_GENERIC_WELCOME */ + id: string; + /** @example This should be a positive greating */ + meaning: string; + placeholder_offset: number[]; + placeholders: components["schemas"]["LocalizationPlaceholder"][]; + /** @example Hello! */ + source: string; + translations: components["schemas"]["TranslationString"][]; + }; + LocalizationStrings: { + /** + * Format: int32 + * @example 10 + */ + limit: number; + /** @example true */ + more: boolean; + /** + * Format: int32 + * @example 0 + */ + offset: number; + strings: components["schemas"]["LocalizationString"][]; + /** + * Format: int32 + * @example 42 + */ + total_count: number; + }; + Login: { + password: string; + username: string; + }; + Project: { + /** @example Example project */ + description: string; + /** @example fake */ + id: string; + /** @example main */ + main_branch: string; + /** @example ssh://git.example.org/srv/git/ */ + remote: string; + /** @example b3BlbNNz...AQIDBA== */ + remote_key_abbrev: string; + /** @example FAKE: Features All Kids Erase */ + title: string; + users: components["schemas"]["ProjectUserEntry"][]; + }; + ProjectData: { + /** @example Example project */ + description?: string | null; + /** @example main */ + main_branch?: string | null; + /** @example ssh://git.example.org/srv/git/ */ + remote?: string | null; + /** @example b3BlbNNz...AQIDBA== */ + remote_key?: string | null; + /** @example FAKE: Features All Kids Erase */ + title?: string | null; + }; + ProjectEntry: { + /** @example fake */ + id: string; + /** @example FAKE: Features All Kids Erase */ + title: string; + }; + ProjectUserEntry: { + default_role: components["schemas"]["UserReviewRole"]; + /** @example false */ + maintainer: boolean; + user: components["schemas"]["User"]; + }; + ProjectUserEntryData: { + default_role?: null | components["schemas"]["UserReviewRole"]; + /** @example false */ + maintainer?: boolean | null; + }; + Projects: { + /** + * Format: int32 + * @example 10 + */ + limit: number; + /** @example false */ + more: boolean; + /** + * Format: int32 + * @example 0 + */ + offset: number; + projects: components["schemas"]["ProjectEntry"][]; + /** + * Format: int32 + * @example 1 + */ + total_count: number; + }; + Review: { + /** @example false */ + archived: boolean; + /** @example r/user/TASK-123456 */ + branch: string; + /** @example We're adding more features because features are what we want. */ + description: string; + /** + * Format: int64 + * @example 1000 + */ + id: number; + owner: components["schemas"]["User"]; + /** + * Format: float + * @example 37.5 + */ + progress: number; + state: components["schemas"]["ReviewState"]; + /** @example FAKE-512: Add more features */ + title: string; + users: components["schemas"]["ReviewUserEntry"][]; + }; + ReviewEntry: { + /** @example r/user/TASK-123456 */ + branch: string; + /** + * Format: int64 + * @example 1000 + */ + id: number; + owner: components["schemas"]["User"]; + /** + * Format: float + * @example 37.5 + */ + progress: number; + state: components["schemas"]["ReviewState"]; + /** @example FAKE-512: Add more features */ + title: string; + }; + /** @enum {string} */ + ReviewState: "Draft" | "Open" | "Dropped" | "Closed"; + ReviewUserEntry: { + role: components["schemas"]["UserReviewRole"]; + user: components["schemas"]["User"]; + }; + Reviews: { + /** + * Format: int32 + * @example 10 + */ + limit: number; + /** @example true */ + more: boolean; + /** + * Format: int32 + * @example 0 + */ + offset: number; + reviews: components["schemas"]["ReviewEntry"][]; + /** + * Format: int32 + * @example 42 + */ + total_count: number; + }; + StatusResponse: { + ok: boolean; + }; + TranslationReview: { + /** @example false */ + archived: boolean; + /** @example d7c502b9c6b833060576a0c4da0287933d603011 */ + base: string; + /** @example New translations */ + description: string; + /** @example 2cecdec660a30bf3964cee645d9cee03640ef8dc */ + head: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + owner: components["schemas"]["User"]; + /** + * Format: float + * @example 37.5 + */ + progress: number; + state: components["schemas"]["ReviewState"]; + /** @example FAKE-512: Update translations */ + title: string; + users: components["schemas"]["ReviewUserEntry"][]; + }; + TranslationReviewData: { + /** @example d7c502b9c6b833060576a0c4da0287933d603011 */ + base?: string | null; + /** @example New translations */ + description: string; + /** @example FAKE-512: Update translations */ + title: string; + }; + TranslationReviewEntry: { + /** @example d7c502b9c6b833060576a0c4da0287933d603011 */ + base: string; + /** @example 2cecdec660a30bf3964cee645d9cee03640ef8dc */ + head: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + owner: components["schemas"]["User"]; + /** + * Format: float + * @example 37.5 + */ + progress: number; + state: components["schemas"]["ReviewState"]; + /** @example FAKE-512: Update translations */ + title: string; + }; + TranslationReviews: { + /** + * Format: int32 + * @example 10 + */ + limit: number; + /** @example true */ + more: boolean; + /** + * Format: int32 + * @example 0 + */ + offset: number; + reviews: components["schemas"]["TranslationReviewEntry"][]; + /** + * Format: int32 + * @example 42 + */ + total_count: number; + }; + /** @enum {string} */ + TranslationState: "Unreviewed" | "Unchanged" | "Approved" | "Revert" | "Fix"; + TranslationString: { + comment: string; + /** @example sv */ + language: string; + placeholder_offset: number[]; + reviewer?: null | components["schemas"]["User"]; + state: components["schemas"]["TranslationState"]; + /** @example Hej! */ + translation: string; + }; + User: { + /** @example true */ + active: boolean; + /** @example jsmith */ + id: string; + /** @example John Smith */ + name: string; + }; + UserKey: { + /** @example user@host 1970-01-01 */ + comment: string; + /** @example AAAAfoobar== */ + data: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example ssh-rsa */ + kind: string; + }; + UserKeyData: { + /** @example user@host 1970-01-01 */ + comment?: string | null; + /** @example AAAAfoobar== */ + data: string; + /** @example ssh-rsa */ + kind: string; + }; + UserKeys: { + keys: components["schemas"]["UserKey"][]; + /** + * Format: int32 + * @example 10 + */ + limit: number; + /** @example false */ + more: boolean; + /** + * Format: int32 + * @example 0 + */ + offset: number; + /** + * Format: int32 + * @example 2 + */ + total_count: number; + }; + /** @enum {string} */ + UserReviewRole: "Reviewer" | "Watcher" | "None"; + Users: { + /** + * Format: int32 + * @example 10 + */ + limit: number; + /** @example true */ + more: boolean; + /** + * Format: int32 + * @example 0 + */ + offset: number; + /** + * Format: int32 + * @example 42 + */ + total_count: number; + users: components["schemas"]["User"][]; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record<string, never>; +export interface operations { + healthcheck: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description All good */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + login: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": components["schemas"]["Login"]; + }; + }; + responses: { + /** @description Login successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + /** @example { + * "ok": true + * } */ + "application/json": components["schemas"]["StatusResponse"]; + }; + }; + /** @description Login failed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + /** @example { + * "error": "Unauthorized", + * "ok": false + * } */ + "application/json": components["schemas"]["StatusResponse"]; + }; + }; + }; + }; + logout: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Logout successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + /** @example { + * "ok": true + * } */ + "application/json": components["schemas"]["StatusResponse"]; + }; + }; + }; + }; + project: { + parameters: { + query?: never; + header?: never; + path: { + projectid: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get project */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Project"]; + }; + }; + /** @description No such project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + project_update: { + parameters: { + query?: never; + header?: never; + path: { + projectid: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProjectData"]; + }; + }; + responses: { + /** @description Project updated */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not maintainer of project */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description No such project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + project_new: { + parameters: { + query?: never; + header?: never; + path: { + projectid: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProjectData"]; + }; + }; + responses: { + /** @description Project created */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Project"]; + }; + }; + /** @description Project with id already exists */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + reviews: { + parameters: { + query?: { + limit?: number; + offset?: number; + }; + header?: never; + path: { + projectid: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get all reviews for project */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Reviews"]; + }; + }; + /** @description No such project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + translation_reviews: { + parameters: { + query?: { + limit?: number; + offset?: number; + }; + header?: never; + path: { + projectid: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get all translation reviews for project */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TranslationReviews"]; + }; + }; + /** @description No such project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + project_user_update: { + parameters: { + query?: never; + header?: never; + path: { + projectid: string; + userid: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProjectUserEntryData"]; + }; + }; + responses: { + /** @description User updated in project */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not maintainer of project */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description No such project, no such user or user not in project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + project_user_del: { + parameters: { + query?: never; + header?: never; + path: { + projectid: string; + userid: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User removed from project */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not maintainer of project */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description No such project, no such user or user not in project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + project_user_add: { + parameters: { + query?: never; + header?: never; + path: { + projectid: string; + userid: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProjectUserEntryData"]; + }; + }; + responses: { + /** @description User added to project */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not maintainer of project */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description No such project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User already in project */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + projects: { + parameters: { + query?: { + limit?: number; + offset?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get all projects */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Projects"]; + }; + }; + }; + }; + review_id: { + parameters: { + query: { + reviewid: number; + }; + header?: never; + path: { + projectid: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get review */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Review"]; + }; + }; + /** @description No such review */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + review_id_del: { + parameters: { + query: { + reviewid: number; + }; + header?: never; + path: { + projectid: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Remove deleted */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Review is open or closed */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not owner of review or maintainer of project */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description No such review */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + review: { + parameters: { + query?: never; + header?: never; + path: { + branch: string; + projectid: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get review */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Review"]; + }; + }; + /** @description No such review */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + review_del: { + parameters: { + query?: never; + header?: never; + path: { + branch: string; + projectid: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Review deleted */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Review is open or closed */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not owner of review or maintainer of project */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description No such review */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + status: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Current status */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + /** @example { + * "ok": true + * } */ + "application/json": components["schemas"]["StatusResponse"]; + }; + }; + /** @description Not authorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + /** @example { + * "error": "Unauthorized", + * "ok": false + * } */ + "application/json": components["schemas"]["StatusResponse"]; + }; + }; + }; + }; + translation_review_new: { + parameters: { + query?: never; + header?: never; + path: { + projectid: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TranslationReviewData"]; + }; + }; + responses: { + /** @description Translation review created */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TranslationReview"]; + }; + }; + }; + }; + translation_review_strings: { + parameters: { + query?: { + limit?: number; + offset?: number; + }; + header?: never; + path: { + translation_reviewid: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get all strings for a translation review */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LocalizationStrings"]; + }; + }; + /** @description No such translation review */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + user_keys: { + parameters: { + query?: { + limit?: number; + offset?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get all keys for user */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserKeys"]; + }; + }; + }; + }; + user_key_add: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserKeyData"]; + }; + }; + responses: { + /** @description Key added to current user */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserKey"]; + }; + }; + /** @description Key too large or invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + user_key_get: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User key */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserKey"]; + }; + }; + /** @description No such key */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + user_key_del: { + parameters: { + query?: never; + header?: never; + path: { + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Key removed from current user */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description No such key for current user */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + users: { + parameters: { + query?: { + limit?: number; + offset?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get all users */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Users"]; + }; + }; + }; + }; +} |
