add openapi-typescript
This commit is contained in:
parent
a85f856284
commit
a1b37de674
4 changed files with 519 additions and 36 deletions
3
app/src/api/README.md
Normal file
3
app/src/api/README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Update schema
|
||||
|
||||
`pnpm dlx openapi-typescript http://localhost:8000/openapi.json -o ./schema.d.ts`
|
||||
275
app/src/api/schema.ts
Normal file
275
app/src/api/schema.ts
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
/**
|
||||
* This file was auto-generated by openapi-typescript.
|
||||
* Do not make direct changes to the file.
|
||||
*/
|
||||
|
||||
export interface paths {
|
||||
"/api/user-info/": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
/** Get-User-Info */
|
||||
get: operations["get_user_info_api_user_info__get"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/auth/login": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
/** Login Init */
|
||||
get: operations["login_init_auth_login_get"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/auth/login-callback": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
/** Login Callback */
|
||||
get: operations["login_callback_auth_login_callback_get"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/locks/": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
/** List Locks */
|
||||
get: operations["list_locks_api_locks__get"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
}
|
||||
export type webhooks = Record<string, never>;
|
||||
export interface components {
|
||||
schemas: {
|
||||
/** HTTPValidationError */
|
||||
HTTPValidationError: {
|
||||
/** Detail */
|
||||
detail?: components["schemas"]["ValidationError"][];
|
||||
};
|
||||
/**
|
||||
* HttpProblemDetail
|
||||
* @description API Error modeled after [RFC9475](https://www.rfc-editor.org/rfc/rfc9457.html).
|
||||
*/
|
||||
HttpProblemDetail: {
|
||||
/** Status */
|
||||
status: number;
|
||||
type: components["schemas"]["HttpProblemType"];
|
||||
/** Title */
|
||||
title: string;
|
||||
/** Detail */
|
||||
detail: string;
|
||||
/** Instance */
|
||||
instance: string | null;
|
||||
};
|
||||
/**
|
||||
* HttpProblemType
|
||||
* @description Statically known HTTP problem types using the [type URI scheme](https://datatracker.ietf.org/doc/rfc4151/)
|
||||
* @enum {string}
|
||||
*/
|
||||
HttpProblemType: "type:noc@hamburg.ccc.de,2026:UNAUTHORIZED" | "type:noc@hamburg.ccc.de,2026:DOOR_NOT_FOUND";
|
||||
/** Lock */
|
||||
Lock: {
|
||||
/** Name */
|
||||
name: string;
|
||||
status: components["schemas"]["LockStatus"];
|
||||
};
|
||||
/** LockStatus */
|
||||
LockStatus: {
|
||||
/** Is Unreachable */
|
||||
is_unreachable: boolean;
|
||||
/** Is Low Battery */
|
||||
is_low_battery: boolean;
|
||||
/** Is Error Jammed */
|
||||
is_error_jammed: boolean;
|
||||
/**
|
||||
* Lock Target Level
|
||||
* @enum {string}
|
||||
*/
|
||||
lock_target_level: "locked" | "unlocked" | "open";
|
||||
/**
|
||||
* Lock State
|
||||
* @enum {string}
|
||||
*/
|
||||
lock_state: "unknown" | "locked" | "unlocked";
|
||||
/**
|
||||
* Activity State
|
||||
* @enum {string}
|
||||
*/
|
||||
activity_state: "unknown" | "locking" | "unlocking" | "stable";
|
||||
};
|
||||
/** UserInfo */
|
||||
UserInfo: {
|
||||
/** Username */
|
||||
username: string;
|
||||
};
|
||||
/** UserStatus */
|
||||
UserStatus: {
|
||||
/** Is Logged In */
|
||||
is_logged_in: boolean;
|
||||
/** Guaranteed Session Until */
|
||||
guaranteed_session_until: string | null;
|
||||
user_info: components["schemas"]["UserInfo"] | null;
|
||||
};
|
||||
/** ValidationError */
|
||||
ValidationError: {
|
||||
/** Location */
|
||||
loc: (string | number)[];
|
||||
/** Message */
|
||||
msg: string;
|
||||
/** Error Type */
|
||||
type: string;
|
||||
/** Input */
|
||||
input?: unknown;
|
||||
/** Context */
|
||||
ctx?: Record<string, never>;
|
||||
};
|
||||
};
|
||||
responses: never;
|
||||
parameters: never;
|
||||
requestBodies: never;
|
||||
headers: never;
|
||||
pathItems: never;
|
||||
}
|
||||
export type $defs = Record<string, never>;
|
||||
export interface operations {
|
||||
get_user_info_api_user_info__get: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["UserStatus"];
|
||||
};
|
||||
};
|
||||
/** @description Unauthorized */
|
||||
401: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HttpProblemDetail"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
login_init_auth_login_get: {
|
||||
parameters: {
|
||||
query?: {
|
||||
next?: string | null;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
302: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content?: never;
|
||||
};
|
||||
/** @description Validation Error */
|
||||
422: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HTTPValidationError"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
login_callback_auth_login_callback_get: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
302: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content?: never;
|
||||
};
|
||||
};
|
||||
};
|
||||
list_locks_api_locks__get: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Successful Response */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["Lock"][];
|
||||
};
|
||||
};
|
||||
/** @description Unauthorized */
|
||||
401: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["HttpProblemDetail"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue