frontend/src/api/generated/api.schemas.ts
Rodrigo Verdiani bac8847e40
All checks were successful
ci/woodpecker/push/pipeline Pipeline was successful
ci/woodpecker/pr/pipeline Pipeline was successful
feature(security): implement token refresh logic and handle session expiration
2025-10-31 13:39:57 -03:00

256 lines
5.1 KiB
TypeScript

/**
* 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[];
};