/** * Generated by orval v7.15.0 🍺 * Do not edit manually. * OpenAPI definition * OpenAPI spec version: v0 */ export interface UpdateMangaDataCommand { mangaId?: number; } export interface DefaultResponseDTOVoid { timestamp?: string; data?: unknown; message?: string; } export interface ImportMangaDexRequestDTO { id: string; } export interface DefaultResponseDTOImportMangaDexResponseDTO { timestamp?: string; data?: ImportMangaDexResponseDTO; message?: string; } export interface ImportMangaDexResponseDTO { id: number; } export interface RegistrationRequestDTO { name?: string; email?: string; password?: string; } export interface RefreshTokenRequestDTO { refreshToken: string; } export type AuthenticationResponseDTORole = typeof AuthenticationResponseDTORole[keyof typeof AuthenticationResponseDTORole]; // eslint-disable-next-line @typescript-eslint/no-redeclare export const AuthenticationResponseDTORole = { USER: 'USER', } as const; export interface AuthenticationResponseDTO { id: number; accessToken: string; refreshToken: string; email: string; name: string; role: AuthenticationResponseDTORole; } export interface DefaultResponseDTOAuthenticationResponseDTO { timestamp?: string; data?: AuthenticationResponseDTO; message?: string; } export interface AuthenticationRequestDTO { email: string; password: string; } export interface DefaultResponseDTOPageMangaListDTO { timestamp?: string; data?: PageMangaListDTO; message?: string; } export interface MangaListDTO { id: number; /** @minLength 1 */ title: string; coverImageKey?: string; status?: string; publishedFrom?: string; publishedTo?: string; providerCount?: number; genres: string[]; authors: string[]; score: number; favorite: boolean; } export interface PageMangaListDTO { totalPages?: number; totalElements?: number; size?: number; content?: MangaListDTO[]; number?: number; pageable?: PageableObject; first?: boolean; last?: boolean; sort?: SortObject; numberOfElements?: number; empty?: boolean; } export interface PageableObject { offset?: number; pageNumber?: number; pageSize?: number; paged?: boolean; sort?: SortObject; unpaged?: boolean; } export interface SortObject { empty?: boolean; sorted?: boolean; unsorted?: boolean; } export interface DefaultResponseDTOListMangaChapterDTO { timestamp?: string; data?: MangaChapterDTO[]; message?: string; } export interface MangaChapterDTO { id: number; /** @minLength 1 */ title: string; downloaded: boolean; isRead: boolean; } export interface DefaultResponseDTOMangaDTO { timestamp?: string; data?: MangaDTO; message?: string; } export interface MangaDTO { id: number; /** @minLength 1 */ title: string; coverImageKey?: string; status?: string; publishedFrom?: string; publishedTo?: string; synopsis?: string; providerCount?: number; alternativeTitles: string[]; genres: string[]; authors: string[]; score: number; providers: MangaProviderDTO[]; chapterCount: number; } export interface MangaProviderDTO { id: number; /** @minLength 1 */ providerName: string; chaptersAvailable: number; chaptersDownloaded: number; supportsChapterFetch: boolean; } export interface DefaultResponseDTOMangaChapterImagesDTO { timestamp?: string; data?: MangaChapterImagesDTO; message?: string; } export interface MangaChapterImagesDTO { id: number; /** @minLength 1 */ mangaTitle: string; chapterImageKeys: string[]; } export interface DefaultResponseDTOListImportReviewDTO { timestamp?: string; data?: ImportReviewDTO[]; message?: string; } export interface ImportReviewDTO { id: number; /** @minLength 1 */ title: string; /** @minLength 1 */ providerName: string; externalUrl?: string; /** @minLength 1 */ reason: string; createdAt: string; } export interface DefaultResponseDTOListGenreDTO { timestamp?: string; data?: GenreDTO[]; message?: string; } export interface GenreDTO { id: number; /** @minLength 1 */ name: string; } export type DownloadChapterArchiveParams = { archiveFileType: DownloadChapterArchiveArchiveFileType; }; export type DownloadChapterArchiveArchiveFileType = typeof DownloadChapterArchiveArchiveFileType[keyof typeof DownloadChapterArchiveArchiveFileType]; // eslint-disable-next-line @typescript-eslint/no-redeclare export const DownloadChapterArchiveArchiveFileType = { CBZ: 'CBZ', CBR: 'CBR', } as const; export type ImportMultipleFilesBody = { /** @minLength 1 */ malId: string; /** List of files to upload */ files: Blob[]; }; export type ResolveImportReviewParams = { importReviewId: number; malId: string; }; export type GetMangasParams = { searchQuery?: string; genreIds?: number[]; statuses?: string[]; userFavorites?: boolean; score?: number; /** * Zero-based page index (0..N) * @minimum 0 */ page?: number; /** * The size of the page to be returned * @minimum 1 */ size?: number; /** * Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. */ sort?: string[]; };