From a3e49dc9186c959b99691c3eaa63410f00b889c1 Mon Sep 17 00:00:00 2001 From: patrick Date: Mon, 9 Mar 2026 14:19:50 -0400 Subject: [PATCH] regenerate OpenAPI schema with new KOSync models --- frontend/src/lib/schema/openapi/schema.d.ts | 930 ++++++++++++++++++-- 1 file changed, 857 insertions(+), 73 deletions(-) diff --git a/frontend/src/lib/schema/openapi/schema.d.ts b/frontend/src/lib/schema/openapi/schema.d.ts index a21b97c..91564a2 100644 --- a/frontend/src/lib/schema/openapi/schema.d.ts +++ b/frontend/src/lib/schema/openapi/schema.d.ts @@ -334,6 +334,245 @@ export interface paths { patch?: never; trace?: never; }; + "/opds/acquisition": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** GetAcquisitionFeed */ + get: operations["OpdsAcquisitionGetAcquisitionFeed"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/opds/download/{book_id}/{file_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** GetFile */ + get: operations["OpdsDownloadBookIdFileIdGetFile"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/opds/library/{library_id}/{collection_type}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** GetLibraryCollectionFeed */ + get: operations["OpdsLibraryLibraryIdCollectionTypeGetLibraryCollectionFeed"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/opds/library/{library_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** GetLibraryFeed */ + get: operations["OpdsLibraryLibraryIdGetLibraryFeed"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/opds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** GetRootFeed */ + get: operations["OpdsGetRootFeed"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/opds/opensearch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Opensearch */ + get: operations["OpdsOpensearchOpensearch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/opds/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** SearchBooks */ + get: operations["OpdsSearchSearchBooks"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/devices": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** GetDevices */ + get: operations["DevicesGetDevices"]; + put?: never; + /** CreateDevice */ + post: operations["DevicesCreateDevice"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/devices/{device_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** DeleteDevice */ + delete: operations["DevicesDeviceIdDeleteDevice"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/devices/{device_id}/regenerate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** RegenerateDeviceApiKey */ + get: operations["DevicesDeviceIdRegenerateRegenerateDeviceApiKey"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/auth": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Authorize */ + get: operations["UsersAuthAuthorize"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/syncs/progress/{document_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** GetProgress */ + get: operations["SyncsProgressDocumentIdGetProgress"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/register": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Register */ + get: operations["UsersRegisterRegister"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/syncs/progress": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** UploadProgress */ + put: operations["SyncsProgressUploadProgress"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/": { parameters: { query?: never; @@ -419,18 +658,13 @@ export interface components { }; /** BookProgressCreate */ BookProgressCreate: { - progress: number; - epub_loc?: string | null; - pdf_loc?: number | null; + percentage: number; + epub_cfi?: string | null; + epub_xpointer?: string | null; + pdf_page?: number | null; completed?: boolean | null; - }; - /** BookProgressRead */ - BookProgressRead: { - progress: number; - epub_loc?: string | null; - pdf_loc?: number | null; - /** @default false */ - completed: boolean | null; + device_type?: string | null; + device_id?: string | null; }; /** BookRead */ BookRead: { @@ -454,7 +688,7 @@ export interface components { series?: components["schemas"]["BookSeriesRead"] | null; series_position?: string | null; files: components["schemas"]["FileMetadataRead"][]; - progress?: components["schemas"]["BookProgressRead"] | null; + progress?: unknown | null; }; /** BookSeriesRead */ BookSeriesRead: { @@ -474,6 +708,33 @@ export interface components { content_type: string; readonly filename: string; }; + /** KosyncDeviceCreate */ + KosyncDeviceCreate: { + name: string; + }; + /** KosyncDeviceRead */ + KosyncDeviceRead: { + id: number; + user_id: number; + api_key: string; + name: string; + }; + /** KosyncProgressRead */ + KosyncProgressRead: { + document: string; + progress?: string | null; + percentage?: number | null; + device?: string | null; + device_id?: string | null; + }; + /** KosyncProgressUpdate */ + KosyncProgressUpdate: { + document: string; + progress?: string | null; + percentage: number; + device?: string | null; + device_id?: string | null; + }; /** LibraryCreate */ LibraryCreate: { name: string; @@ -483,6 +744,7 @@ export interface components { description?: string | null; /** @default false */ read_only: boolean; + readonly slug: string; }; /** LibraryRead */ LibraryRead: { @@ -501,6 +763,55 @@ export interface components { refresh_token?: string | null; expires_in?: number | null; }; + /** OffsetPagination[AuthorRead] */ + "OffsetPagination_chitai.schemas.author.AuthorRead_": { + items: components["schemas"]["AuthorRead"][]; + limit: number; + offset: number; + total: number; + }; + /** OffsetPagination[BookRead] */ + "OffsetPagination_chitai.schemas.book.BookRead_": { + items: components["schemas"]["BookRead"][]; + limit: number; + offset: number; + total: number; + }; + /** OffsetPagination[KosyncDeviceRead] */ + "OffsetPagination_chitai.schemas.kosync.KosyncDeviceRead_": { + items: components["schemas"]["KosyncDeviceRead"][]; + limit: number; + offset: number; + total: number; + }; + /** OffsetPagination[LibraryRead] */ + "OffsetPagination_chitai.schemas.library.LibraryRead_": { + items: components["schemas"]["LibraryRead"][]; + limit: number; + offset: number; + total: number; + }; + /** OffsetPagination[PublisherRead] */ + "OffsetPagination_chitai.schemas.publisher.PublisherRead_": { + items: components["schemas"]["PublisherRead"][]; + limit: number; + offset: number; + total: number; + }; + /** OffsetPagination[ShelfRead] */ + "OffsetPagination_chitai.schemas.shelf.ShelfRead_": { + items: components["schemas"]["ShelfRead"][]; + limit: number; + offset: number; + total: number; + }; + /** OffsetPagination[TagRead] */ + "OffsetPagination_chitai.schemas.tag.TagRead_": { + items: components["schemas"]["TagRead"][]; + limit: number; + offset: number; + total: number; + }; /** PublisherRead */ PublisherRead: { id: number; @@ -661,15 +972,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - items?: components["schemas"]["BookRead"][]; - /** @description Maximal number of items to send. */ - limit?: number; - /** @description Offset from the beginning of the query. */ - offset?: number; - /** @description Total number of items. */ - total?: number; - }; + "application/json": components["schemas"]["OffsetPagination_chitai.schemas.book.BookRead_"]; }; }; /** @description Bad request syntax or unsupported method */ @@ -788,15 +1091,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - items?: components["schemas"]["BookRead"][]; - /** @description Maximal number of items to send. */ - limit?: number; - /** @description Offset from the beginning of the query. */ - offset?: number; - /** @description Total number of items. */ - total?: number; - }; + "application/json": components["schemas"]["OffsetPagination_chitai.schemas.book.BookRead_"]; }; }; /** @description Bad request syntax or unsupported method */ @@ -1121,15 +1416,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - items?: components["schemas"]["LibraryRead"][]; - /** @description Maximal number of items to send. */ - limit?: number; - /** @description Offset from the beginning of the query. */ - offset?: number; - /** @description Total number of items. */ - total?: number; - }; + "application/json": components["schemas"]["OffsetPagination_chitai.schemas.library.LibraryRead_"]; }; }; /** @description Bad request syntax or unsupported method */ @@ -1386,15 +1673,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - items?: components["schemas"]["ShelfRead"][]; - /** @description Maximal number of items to send. */ - limit?: number; - /** @description Offset from the beginning of the query. */ - offset?: number; - /** @description Total number of items. */ - total?: number; - }; + "application/json": components["schemas"]["OffsetPagination_chitai.schemas.shelf.ShelfRead_"]; }; }; /** @description Bad request syntax or unsupported method */ @@ -1512,15 +1791,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - items?: components["schemas"]["AuthorRead"][]; - /** @description Maximal number of items to send. */ - limit?: number; - /** @description Offset from the beginning of the query. */ - offset?: number; - /** @description Total number of items. */ - total?: number; - }; + "application/json": components["schemas"]["OffsetPagination_chitai.schemas.author.AuthorRead_"]; }; }; /** @description Bad request syntax or unsupported method */ @@ -1564,15 +1835,7 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": { - items?: components["schemas"]["PublisherRead"][]; - /** @description Maximal number of items to send. */ - limit?: number; - /** @description Offset from the beginning of the query. */ - offset?: number; - /** @description Total number of items. */ - total?: number; - }; + "application/json": components["schemas"]["OffsetPagination_chitai.schemas.publisher.PublisherRead_"]; }; }; /** @description Bad request syntax or unsupported method */ @@ -1612,21 +1875,542 @@ export interface operations { responses: { /** @description Request fulfilled, document follows */ 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OffsetPagination_chitai.schemas.tag.TagRead_"]; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { headers: { [name: string]: unknown; }; content: { "application/json": { - items?: components["schemas"]["TagRead"][]; - /** @description Maximal number of items to send. */ - limit?: number; - /** @description Offset from the beginning of the query. */ - offset?: number; - /** @description Total number of items. */ - total?: number; + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; }; }; }; + }; + }; + OpdsAcquisitionGetAcquisitionFeed: { + parameters: { + query: { + feed_id: string; + feed_title: string; + libraries?: number[] | null; + authors?: number[] | null; + publishers?: number[] | null; + tags?: number[] | null; + shelves?: number[] | null; + progress?: string[] | null; + ids?: string[] | null; + searchString?: string | null; + searchIgnoreCase?: boolean | null; + currentPage?: number; + pageSize?: number; + orderBy?: string | null; + sortOrder?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + OpdsDownloadBookIdFileIdGetFile: { + parameters: { + query?: never; + header?: never; + path: { + book_id: number; + file_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description File Download */ + 200: { + headers: { + /** @description File size in bytes */ + "content-length"?: string; + /** @description Last modified data-time in RFC 2822 format */ + "last-modified"?: string; + /** @description Entity tag */ + etag?: string; + [name: string]: unknown; + }; + content: { + "": string; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + OpdsLibraryLibraryIdCollectionTypeGetLibraryCollectionFeed: { + parameters: { + query?: { + ids?: string[] | null; + searchString?: string | null; + searchIgnoreCase?: boolean | null; + currentPage?: number; + pageSize?: number; + orderBy?: string | null; + sortOrder?: string | null; + }; + header?: never; + path: { + collection_type: string; + library_id: number | null; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + OpdsLibraryLibraryIdGetLibraryFeed: { + parameters: { + query?: never; + header?: never; + path: { + library_id: number | null; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + OpdsGetRootFeed: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + }; + }; + OpdsOpensearchOpensearch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + }; + }; + OpdsSearchSearchBooks: { + parameters: { + query?: { + libraries?: number[] | null; + authors?: number[] | null; + publishers?: number[] | null; + tags?: number[] | null; + shelves?: number[] | null; + progress?: string[] | null; + ids?: string[] | null; + searchString?: string | null; + searchIgnoreCase?: boolean | null; + currentPage?: number; + pageSize?: number; + orderBy?: string | null; + sortOrder?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + DevicesGetDevices: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OffsetPagination_chitai.schemas.kosync.KosyncDeviceRead_"]; + }; + }; + }; + }; + DevicesCreateDevice: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["KosyncDeviceCreate"]; + }; + }; + responses: { + /** @description Document created, URL follows */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KosyncDeviceRead"]; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + DevicesDeviceIdDeleteDevice: { + parameters: { + query?: never; + header?: never; + path: { + device_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, nothing follows */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + DevicesDeviceIdRegenerateRegenerateDeviceApiKey: { + parameters: { + query?: never; + header?: never; + path: { + device_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KosyncDeviceRead"]; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + UsersAuthAuthorize: { + parameters: { + query?: never; + header: { + "X-AUTH-USER": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: string; + }; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + SyncsProgressDocumentIdGetProgress: { + parameters: { + query?: never; + header?: never; + path: { + document_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["KosyncProgressRead"]; + }; + }; + /** @description Bad request syntax or unsupported method */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status_code: number; + detail: string; + extra?: null | { + [key: string]: unknown; + } | unknown[]; + }; + }; + }; + }; + }; + UsersRegisterRegister: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncsProgressUploadProgress: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["KosyncProgressUpdate"]; + }; + }; + responses: { + /** @description Request fulfilled, document follows */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; /** @description Bad request syntax or unsupported method */ 400: { headers: {