frontend/api/mangamochi.ts

1124 lines
40 KiB
TypeScript

/**
* Generated by orval v7.14.0 🍺
* Do not edit manually.
* OpenAPI definition
* OpenAPI spec version: v0
*/
import {
useMutation,
useQuery
} from '@tanstack/react-query';
import type {
DataTag,
DefinedInitialDataOptions,
DefinedUseQueryResult,
MutationFunction,
QueryClient,
QueryFunction,
QueryKey,
UndefinedInitialDataOptions,
UseMutationOptions,
UseMutationResult,
UseQueryOptions,
UseQueryResult
} from '@tanstack/react-query';
import { customInstance } from './api';
export interface AuthenticationRequestDTO {
username?: string;
password?: 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;
}
export interface PageMangaListDTO {
totalPages?: number;
totalElements?: number;
pageable?: PageableObject;
size?: number;
content?: MangaListDTO[];
number?: number;
sort?: SortObject;
first?: boolean;
last?: boolean;
numberOfElements?: number;
empty?: boolean;
}
export interface PageableObject {
paged?: boolean;
pageNumber?: number;
pageSize?: number;
offset?: number;
sort?: SortObject;
unpaged?: boolean;
}
export interface SortObject {
sorted?: boolean;
empty?: boolean;
unsorted?: boolean;
}
export interface MangaChapterDTO {
id: number;
/** @minLength 1 */
title: string;
downloaded: boolean;
isRead: boolean;
}
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[];
}
export interface MangaProviderDTO {
id: number;
/** @minLength 1 */
providerName: string;
chaptersAvailable: number;
chaptersDownloaded: number;
}
export interface MangaChapterImagesDTO {
id: number;
/** @minLength 1 */
mangaTitle: string;
chapterImageKeys: 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 RegisterUser200 = { [key: string]: unknown };
export type CreateAuthenticationToken200 = { [key: string]: unknown };
export type GetMangasParams = {
searchQuery?: string;
genreIds?: number[];
statuses?: string[];
/**
* 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[];
};
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
/**
* Fetch a list of manga chapters for a specific manga/provider combination.
* @summary Fetch the available chapters for a specific manga/provider combination
*/
export const fetchMangaChapters = (
mangaProviderId: number,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<void>(
{url: `http://192.168.1.142:8080/mangas/${encodeURIComponent(String(mangaProviderId))}/fetch-chapters`, method: 'POST', signal
},
options);
}
export const getFetchMangaChaptersMutationOptions = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof fetchMangaChapters>>, TError,{mangaProviderId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
): UseMutationOptions<Awaited<ReturnType<typeof fetchMangaChapters>>, TError,{mangaProviderId: number}, TContext> => {
const mutationKey = ['fetchMangaChapters'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof fetchMangaChapters>>, {mangaProviderId: number}> = (props) => {
const {mangaProviderId} = props ?? {};
return fetchMangaChapters(mangaProviderId,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type FetchMangaChaptersMutationResult = NonNullable<Awaited<ReturnType<typeof fetchMangaChapters>>>
export type FetchMangaChaptersMutationError = unknown
/**
* @summary Fetch the available chapters for a specific manga/provider combination
*/
export const useFetchMangaChapters = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof fetchMangaChapters>>, TError,{mangaProviderId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof fetchMangaChapters>>,
TError,
{mangaProviderId: number},
TContext
> => {
const mutationOptions = getFetchMangaChaptersMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
/**
* Mark a chapter as read by its ID.
* @summary Mark a chapter as read
*/
export const markAsRead = (
chapterId: number,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<void>(
{url: `http://192.168.1.142:8080/mangas/${encodeURIComponent(String(chapterId))}/mark-as-read`, method: 'POST', signal
},
options);
}
export const getMarkAsReadMutationOptions = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof markAsRead>>, TError,{chapterId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
): UseMutationOptions<Awaited<ReturnType<typeof markAsRead>>, TError,{chapterId: number}, TContext> => {
const mutationKey = ['markAsRead'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof markAsRead>>, {chapterId: number}> = (props) => {
const {chapterId} = props ?? {};
return markAsRead(chapterId,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type MarkAsReadMutationResult = NonNullable<Awaited<ReturnType<typeof markAsRead>>>
export type MarkAsReadMutationError = unknown
/**
* @summary Mark a chapter as read
*/
export const useMarkAsRead = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof markAsRead>>, TError,{chapterId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof markAsRead>>,
TError,
{chapterId: number},
TContext
> => {
const mutationOptions = getMarkAsReadMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
/**
* @summary Update manga info
*/
export const updateMangaInfo = (
mangaId: number,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<void>(
{url: `http://192.168.1.142:8080/mangas/manga/${encodeURIComponent(String(mangaId))}/info`, method: 'POST', signal
},
options);
}
export const getUpdateMangaInfoMutationOptions = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateMangaInfo>>, TError,{mangaId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
): UseMutationOptions<Awaited<ReturnType<typeof updateMangaInfo>>, TError,{mangaId: number}, TContext> => {
const mutationKey = ['updateMangaInfo'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof updateMangaInfo>>, {mangaId: number}> = (props) => {
const {mangaId} = props ?? {};
return updateMangaInfo(mangaId,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type UpdateMangaInfoMutationResult = NonNullable<Awaited<ReturnType<typeof updateMangaInfo>>>
export type UpdateMangaInfoMutationError = unknown
/**
* @summary Update manga info
*/
export const useUpdateMangaInfo = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateMangaInfo>>, TError,{mangaId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof updateMangaInfo>>,
TError,
{mangaId: number},
TContext
> => {
const mutationOptions = getUpdateMangaInfoMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
/**
* @summary Download all chapters for a manga provider
*/
export const downloadAllChapters = (
mangaProviderId: number,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<void>(
{url: `http://192.168.1.142:8080/mangas/chapter/${encodeURIComponent(String(mangaProviderId))}/download-all`, method: 'POST', signal
},
options);
}
export const getDownloadAllChaptersMutationOptions = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof downloadAllChapters>>, TError,{mangaProviderId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
): UseMutationOptions<Awaited<ReturnType<typeof downloadAllChapters>>, TError,{mangaProviderId: number}, TContext> => {
const mutationKey = ['downloadAllChapters'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof downloadAllChapters>>, {mangaProviderId: number}> = (props) => {
const {mangaProviderId} = props ?? {};
return downloadAllChapters(mangaProviderId,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type DownloadAllChaptersMutationResult = NonNullable<Awaited<ReturnType<typeof downloadAllChapters>>>
export type DownloadAllChaptersMutationError = unknown
/**
* @summary Download all chapters for a manga provider
*/
export const useDownloadAllChapters = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof downloadAllChapters>>, TError,{mangaProviderId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof downloadAllChapters>>,
TError,
{mangaProviderId: number},
TContext
> => {
const mutationOptions = getDownloadAllChaptersMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
/**
* @summary Fetch chapter
*/
export const fetchChapter = (
chapterId: number,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<void>(
{url: `http://192.168.1.142:8080/mangas/chapter/${encodeURIComponent(String(chapterId))}/fetch`, method: 'POST', signal
},
options);
}
export const getFetchChapterMutationOptions = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof fetchChapter>>, TError,{chapterId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
): UseMutationOptions<Awaited<ReturnType<typeof fetchChapter>>, TError,{chapterId: number}, TContext> => {
const mutationKey = ['fetchChapter'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof fetchChapter>>, {chapterId: number}> = (props) => {
const {chapterId} = props ?? {};
return fetchChapter(chapterId,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type FetchChapterMutationResult = NonNullable<Awaited<ReturnType<typeof fetchChapter>>>
export type FetchChapterMutationError = unknown
/**
* @summary Fetch chapter
*/
export const useFetchChapter = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof fetchChapter>>, TError,{chapterId: number}, TContext>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof fetchChapter>>,
TError,
{chapterId: number},
TContext
> => {
const mutationOptions = getFetchChapterMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
/**
* @summary Download chapter archive
*/
export const downloadChapterArchive = (
chapterId: number,
params: DownloadChapterArchiveParams,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<Blob>(
{url: `http://192.168.1.142:8080/mangas/chapter/${encodeURIComponent(String(chapterId))}/download-archive`, method: 'POST',
params,
responseType: 'blob', signal
},
options);
}
export const getDownloadChapterArchiveMutationOptions = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof downloadChapterArchive>>, TError,{chapterId: number;params: DownloadChapterArchiveParams}, TContext>, request?: SecondParameter<typeof customInstance>}
): UseMutationOptions<Awaited<ReturnType<typeof downloadChapterArchive>>, TError,{chapterId: number;params: DownloadChapterArchiveParams}, TContext> => {
const mutationKey = ['downloadChapterArchive'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof downloadChapterArchive>>, {chapterId: number;params: DownloadChapterArchiveParams}> = (props) => {
const {chapterId,params} = props ?? {};
return downloadChapterArchive(chapterId,params,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type DownloadChapterArchiveMutationResult = NonNullable<Awaited<ReturnType<typeof downloadChapterArchive>>>
export type DownloadChapterArchiveMutationError = unknown
/**
* @summary Download chapter archive
*/
export const useDownloadChapterArchive = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof downloadChapterArchive>>, TError,{chapterId: number;params: DownloadChapterArchiveParams}, TContext>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof downloadChapterArchive>>,
TError,
{chapterId: number;params: DownloadChapterArchiveParams},
TContext
> => {
const mutationOptions = getDownloadChapterArchiveMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
export const registerUser = (
authenticationRequestDTO: AuthenticationRequestDTO,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<RegisterUser200>(
{url: `http://192.168.1.142:8080/auth/register`, method: 'POST',
headers: {'Content-Type': 'application/json', },
data: authenticationRequestDTO, signal
},
options);
}
export const getRegisterUserMutationOptions = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof registerUser>>, TError,{data: AuthenticationRequestDTO}, TContext>, request?: SecondParameter<typeof customInstance>}
): UseMutationOptions<Awaited<ReturnType<typeof registerUser>>, TError,{data: AuthenticationRequestDTO}, TContext> => {
const mutationKey = ['registerUser'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof registerUser>>, {data: AuthenticationRequestDTO}> = (props) => {
const {data} = props ?? {};
return registerUser(data,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type RegisterUserMutationResult = NonNullable<Awaited<ReturnType<typeof registerUser>>>
export type RegisterUserMutationBody = AuthenticationRequestDTO
export type RegisterUserMutationError = unknown
export const useRegisterUser = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof registerUser>>, TError,{data: AuthenticationRequestDTO}, TContext>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof registerUser>>,
TError,
{data: AuthenticationRequestDTO},
TContext
> => {
const mutationOptions = getRegisterUserMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
export const createAuthenticationToken = (
authenticationRequestDTO: AuthenticationRequestDTO,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<CreateAuthenticationToken200>(
{url: `http://192.168.1.142:8080/auth/login`, method: 'POST',
headers: {'Content-Type': 'application/json', },
data: authenticationRequestDTO, signal
},
options);
}
export const getCreateAuthenticationTokenMutationOptions = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createAuthenticationToken>>, TError,{data: AuthenticationRequestDTO}, TContext>, request?: SecondParameter<typeof customInstance>}
): UseMutationOptions<Awaited<ReturnType<typeof createAuthenticationToken>>, TError,{data: AuthenticationRequestDTO}, TContext> => {
const mutationKey = ['createAuthenticationToken'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof createAuthenticationToken>>, {data: AuthenticationRequestDTO}> = (props) => {
const {data} = props ?? {};
return createAuthenticationToken(data,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type CreateAuthenticationTokenMutationResult = NonNullable<Awaited<ReturnType<typeof createAuthenticationToken>>>
export type CreateAuthenticationTokenMutationBody = AuthenticationRequestDTO
export type CreateAuthenticationTokenMutationError = unknown
export const useCreateAuthenticationToken = <TError = unknown,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createAuthenticationToken>>, TError,{data: AuthenticationRequestDTO}, TContext>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof createAuthenticationToken>>,
TError,
{data: AuthenticationRequestDTO},
TContext
> => {
const mutationOptions = getCreateAuthenticationTokenMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
/**
* Retrieve a list of mangas with their details.
* @summary Get a list of mangas
*/
export const getMangas = (
params?: GetMangasParams,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<PageMangaListDTO>(
{url: `http://192.168.1.142:8080/mangas`, method: 'GET',
params, signal
},
options);
}
export const getGetMangasQueryKey = (params?: GetMangasParams,) => {
return [
`http://192.168.1.142:8080/mangas`, ...(params ? [params]: [])
] as const;
}
export const getGetMangasQueryOptions = <TData = Awaited<ReturnType<typeof getMangas>>, TError = unknown>(params?: GetMangasParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangas>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
) => {
const {query: queryOptions, request: requestOptions} = options ?? {};
const queryKey = queryOptions?.queryKey ?? getGetMangasQueryKey(params);
const queryFn: QueryFunction<Awaited<ReturnType<typeof getMangas>>> = ({ signal }) => getMangas(params, requestOptions, signal);
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getMangas>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
}
export type GetMangasQueryResult = NonNullable<Awaited<ReturnType<typeof getMangas>>>
export type GetMangasQueryError = unknown
export function useGetMangas<TData = Awaited<ReturnType<typeof getMangas>>, TError = unknown>(
params: undefined | GetMangasParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangas>>, TError, TData>> & Pick<
DefinedInitialDataOptions<
Awaited<ReturnType<typeof getMangas>>,
TError,
Awaited<ReturnType<typeof getMangas>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetMangas<TData = Awaited<ReturnType<typeof getMangas>>, TError = unknown>(
params?: GetMangasParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangas>>, TError, TData>> & Pick<
UndefinedInitialDataOptions<
Awaited<ReturnType<typeof getMangas>>,
TError,
Awaited<ReturnType<typeof getMangas>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetMangas<TData = Awaited<ReturnType<typeof getMangas>>, TError = unknown>(
params?: GetMangasParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangas>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
/**
* @summary Get a list of mangas
*/
export function useGetMangas<TData = Awaited<ReturnType<typeof getMangas>>, TError = unknown>(
params?: GetMangasParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangas>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
const queryOptions = getGetMangasQueryOptions(params,options)
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
query.queryKey = queryOptions.queryKey ;
return query;
}
/**
* Retrieve a list of manga chapters for a specific manga/provider combination.
* @summary Get the available chapters for a specific manga/provider combination
*/
export const getMangaChapters = (
mangaProviderId: number,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<MangaChapterDTO[]>(
{url: `http://192.168.1.142:8080/mangas/${encodeURIComponent(String(mangaProviderId))}/chapters`, method: 'GET', signal
},
options);
}
export const getGetMangaChaptersQueryKey = (mangaProviderId?: number,) => {
return [
`http://192.168.1.142:8080/mangas/${mangaProviderId}/chapters`
] as const;
}
export const getGetMangaChaptersQueryOptions = <TData = Awaited<ReturnType<typeof getMangaChapters>>, TError = unknown>(mangaProviderId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapters>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
) => {
const {query: queryOptions, request: requestOptions} = options ?? {};
const queryKey = queryOptions?.queryKey ?? getGetMangaChaptersQueryKey(mangaProviderId);
const queryFn: QueryFunction<Awaited<ReturnType<typeof getMangaChapters>>> = ({ signal }) => getMangaChapters(mangaProviderId, requestOptions, signal);
return { queryKey, queryFn, enabled: !!(mangaProviderId), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getMangaChapters>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
}
export type GetMangaChaptersQueryResult = NonNullable<Awaited<ReturnType<typeof getMangaChapters>>>
export type GetMangaChaptersQueryError = unknown
export function useGetMangaChapters<TData = Awaited<ReturnType<typeof getMangaChapters>>, TError = unknown>(
mangaProviderId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapters>>, TError, TData>> & Pick<
DefinedInitialDataOptions<
Awaited<ReturnType<typeof getMangaChapters>>,
TError,
Awaited<ReturnType<typeof getMangaChapters>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetMangaChapters<TData = Awaited<ReturnType<typeof getMangaChapters>>, TError = unknown>(
mangaProviderId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapters>>, TError, TData>> & Pick<
UndefinedInitialDataOptions<
Awaited<ReturnType<typeof getMangaChapters>>,
TError,
Awaited<ReturnType<typeof getMangaChapters>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetMangaChapters<TData = Awaited<ReturnType<typeof getMangaChapters>>, TError = unknown>(
mangaProviderId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapters>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
/**
* @summary Get the available chapters for a specific manga/provider combination
*/
export function useGetMangaChapters<TData = Awaited<ReturnType<typeof getMangaChapters>>, TError = unknown>(
mangaProviderId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapters>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
const queryOptions = getGetMangaChaptersQueryOptions(mangaProviderId,options)
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
query.queryKey = queryOptions.queryKey ;
return query;
}
/**
* @summary Get the details of a manga
*/
export const getManga = (
mangaId: number,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<MangaDTO>(
{url: `http://192.168.1.142:8080/mangas/${encodeURIComponent(String(mangaId))}`, method: 'GET', signal
},
options);
}
export const getGetMangaQueryKey = (mangaId?: number,) => {
return [
`http://192.168.1.142:8080/mangas/${mangaId}`
] as const;
}
export const getGetMangaQueryOptions = <TData = Awaited<ReturnType<typeof getManga>>, TError = unknown>(mangaId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getManga>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
) => {
const {query: queryOptions, request: requestOptions} = options ?? {};
const queryKey = queryOptions?.queryKey ?? getGetMangaQueryKey(mangaId);
const queryFn: QueryFunction<Awaited<ReturnType<typeof getManga>>> = ({ signal }) => getManga(mangaId, requestOptions, signal);
return { queryKey, queryFn, enabled: !!(mangaId), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getManga>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
}
export type GetMangaQueryResult = NonNullable<Awaited<ReturnType<typeof getManga>>>
export type GetMangaQueryError = unknown
export function useGetManga<TData = Awaited<ReturnType<typeof getManga>>, TError = unknown>(
mangaId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getManga>>, TError, TData>> & Pick<
DefinedInitialDataOptions<
Awaited<ReturnType<typeof getManga>>,
TError,
Awaited<ReturnType<typeof getManga>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetManga<TData = Awaited<ReturnType<typeof getManga>>, TError = unknown>(
mangaId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getManga>>, TError, TData>> & Pick<
UndefinedInitialDataOptions<
Awaited<ReturnType<typeof getManga>>,
TError,
Awaited<ReturnType<typeof getManga>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetManga<TData = Awaited<ReturnType<typeof getManga>>, TError = unknown>(
mangaId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getManga>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
/**
* @summary Get the details of a manga
*/
export function useGetManga<TData = Awaited<ReturnType<typeof getManga>>, TError = unknown>(
mangaId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getManga>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
const queryOptions = getGetMangaQueryOptions(mangaId,options)
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
query.queryKey = queryOptions.queryKey ;
return query;
}
/**
* Retrieve a list of manga chapters for a specific manga/provider combination.
* @summary Get the available chapters for a specific manga/provider combination
*/
export const getMangaChapterImages = (
chapterId: number,
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<MangaChapterImagesDTO>(
{url: `http://192.168.1.142:8080/mangas/${encodeURIComponent(String(chapterId))}/images`, method: 'GET', signal
},
options);
}
export const getGetMangaChapterImagesQueryKey = (chapterId?: number,) => {
return [
`http://192.168.1.142:8080/mangas/${chapterId}/images`
] as const;
}
export const getGetMangaChapterImagesQueryOptions = <TData = Awaited<ReturnType<typeof getMangaChapterImages>>, TError = unknown>(chapterId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapterImages>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
) => {
const {query: queryOptions, request: requestOptions} = options ?? {};
const queryKey = queryOptions?.queryKey ?? getGetMangaChapterImagesQueryKey(chapterId);
const queryFn: QueryFunction<Awaited<ReturnType<typeof getMangaChapterImages>>> = ({ signal }) => getMangaChapterImages(chapterId, requestOptions, signal);
return { queryKey, queryFn, enabled: !!(chapterId), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getMangaChapterImages>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
}
export type GetMangaChapterImagesQueryResult = NonNullable<Awaited<ReturnType<typeof getMangaChapterImages>>>
export type GetMangaChapterImagesQueryError = unknown
export function useGetMangaChapterImages<TData = Awaited<ReturnType<typeof getMangaChapterImages>>, TError = unknown>(
chapterId: number, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapterImages>>, TError, TData>> & Pick<
DefinedInitialDataOptions<
Awaited<ReturnType<typeof getMangaChapterImages>>,
TError,
Awaited<ReturnType<typeof getMangaChapterImages>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetMangaChapterImages<TData = Awaited<ReturnType<typeof getMangaChapterImages>>, TError = unknown>(
chapterId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapterImages>>, TError, TData>> & Pick<
UndefinedInitialDataOptions<
Awaited<ReturnType<typeof getMangaChapterImages>>,
TError,
Awaited<ReturnType<typeof getMangaChapterImages>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetMangaChapterImages<TData = Awaited<ReturnType<typeof getMangaChapterImages>>, TError = unknown>(
chapterId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapterImages>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
/**
* @summary Get the available chapters for a specific manga/provider combination
*/
export function useGetMangaChapterImages<TData = Awaited<ReturnType<typeof getMangaChapterImages>>, TError = unknown>(
chapterId: number, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMangaChapterImages>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
const queryOptions = getGetMangaChapterImagesQueryOptions(chapterId,options)
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
query.queryKey = queryOptions.queryKey ;
return query;
}
/**
* Retrieve a list of genres.
* @summary Get a list of genres
*/
export const getGenres = (
options?: SecondParameter<typeof customInstance>,signal?: AbortSignal
) => {
return customInstance<GenreDTO[]>(
{url: `http://192.168.1.142:8080/genres`, method: 'GET', signal
},
options);
}
export const getGetGenresQueryKey = () => {
return [
`http://192.168.1.142:8080/genres`
] as const;
}
export const getGetGenresQueryOptions = <TData = Awaited<ReturnType<typeof getGenres>>, TError = unknown>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGenres>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
) => {
const {query: queryOptions, request: requestOptions} = options ?? {};
const queryKey = queryOptions?.queryKey ?? getGetGenresQueryKey();
const queryFn: QueryFunction<Awaited<ReturnType<typeof getGenres>>> = ({ signal }) => getGenres(requestOptions, signal);
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getGenres>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
}
export type GetGenresQueryResult = NonNullable<Awaited<ReturnType<typeof getGenres>>>
export type GetGenresQueryError = unknown
export function useGetGenres<TData = Awaited<ReturnType<typeof getGenres>>, TError = unknown>(
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGenres>>, TError, TData>> & Pick<
DefinedInitialDataOptions<
Awaited<ReturnType<typeof getGenres>>,
TError,
Awaited<ReturnType<typeof getGenres>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetGenres<TData = Awaited<ReturnType<typeof getGenres>>, TError = unknown>(
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGenres>>, TError, TData>> & Pick<
UndefinedInitialDataOptions<
Awaited<ReturnType<typeof getGenres>>,
TError,
Awaited<ReturnType<typeof getGenres>>
> , 'initialData'
>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetGenres<TData = Awaited<ReturnType<typeof getGenres>>, TError = unknown>(
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGenres>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
/**
* @summary Get a list of genres
*/
export function useGetGenres<TData = Awaited<ReturnType<typeof getGenres>>, TError = unknown>(
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGenres>>, TError, TData>>, request?: SecondParameter<typeof customInstance>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
const queryOptions = getGetGenresQueryOptions(options)
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
query.queryKey = queryOptions.queryKey ;
return query;
}