3051 lines
105 KiB
TypeScript
3051 lines
105 KiB
TypeScript
/**
|
|
* Generated by orval v8.5.3 🍺
|
|
* Do not edit manually.
|
|
* AnthoLume API v1
|
|
* REST API for AnthoLume document management system
|
|
* OpenAPI spec version: 1.0.0
|
|
*/
|
|
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 type {
|
|
ActivityResponse,
|
|
CreateActivityRequest,
|
|
CreateActivityResponse,
|
|
CreateDocumentBody,
|
|
DirectoryListResponse,
|
|
DocumentResponse,
|
|
DocumentsResponse,
|
|
EditDocumentBody,
|
|
ErrorResponse,
|
|
GetActivityParams,
|
|
GetAdmin200,
|
|
GetDocumentsParams,
|
|
GetImportDirectoryParams,
|
|
GetLogsParams,
|
|
GetProgressListParams,
|
|
GetSearchParams,
|
|
GraphDataResponse,
|
|
HomeResponse,
|
|
ImportResultsResponse,
|
|
InfoResponse,
|
|
LoginRequest,
|
|
LoginResponse,
|
|
LogsResponse,
|
|
MessageResponse,
|
|
PostAdminActionBody,
|
|
PostImportBody,
|
|
PostSearchBody,
|
|
ProgressListResponse,
|
|
ProgressResponse,
|
|
SearchResponse,
|
|
SettingsResponse,
|
|
StreaksResponse,
|
|
UpdateProgressRequest,
|
|
UpdateProgressResponse,
|
|
UpdateSettingsRequest,
|
|
UpdateUserBody,
|
|
UploadDocumentCoverBody,
|
|
UserStatisticsResponse,
|
|
UsersResponse
|
|
} from './model';
|
|
|
|
import { apiFetch } from '../utils/apiFetch';
|
|
|
|
|
|
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
|
|
|
|
|
|
|
/**
|
|
* @summary List documents
|
|
*/
|
|
export const getGetDocumentsUrl = (params?: GetDocumentsParams,) => {
|
|
const normalizedParams = new URLSearchParams();
|
|
|
|
Object.entries(params || {}).forEach(([key, value]) => {
|
|
|
|
if (value !== undefined) {
|
|
normalizedParams.append(key, value === null ? 'null' : value.toString())
|
|
}
|
|
});
|
|
|
|
const stringifiedParams = normalizedParams.toString();
|
|
|
|
return stringifiedParams.length > 0 ? `/api/v1/documents?${stringifiedParams}` : `/api/v1/documents`
|
|
}
|
|
|
|
export const getDocuments = async (params?: GetDocumentsParams, options?: RequestInit): Promise<DocumentsResponse> => {
|
|
|
|
return apiFetch<DocumentsResponse>(getGetDocumentsUrl(params),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetDocumentsQueryKey = (params?: GetDocumentsParams,) => {
|
|
return [
|
|
`/api/v1/documents`, ...(params ? [params] : [])
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetDocumentsQueryOptions = <TData = Awaited<ReturnType<typeof getDocuments>>, TError = ErrorResponse>(params?: GetDocumentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocuments>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetDocumentsQueryKey(params);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getDocuments>>> = ({ signal }) => getDocuments(params, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getDocuments>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetDocumentsQueryResult = NonNullable<Awaited<ReturnType<typeof getDocuments>>>
|
|
export type GetDocumentsQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetDocuments<TData = Awaited<ReturnType<typeof getDocuments>>, TError = ErrorResponse>(
|
|
params: undefined | GetDocumentsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocuments>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getDocuments>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getDocuments>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetDocuments<TData = Awaited<ReturnType<typeof getDocuments>>, TError = ErrorResponse>(
|
|
params?: GetDocumentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocuments>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getDocuments>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getDocuments>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetDocuments<TData = Awaited<ReturnType<typeof getDocuments>>, TError = ErrorResponse>(
|
|
params?: GetDocumentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocuments>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary List documents
|
|
*/
|
|
|
|
export function useGetDocuments<TData = Awaited<ReturnType<typeof getDocuments>>, TError = ErrorResponse>(
|
|
params?: GetDocumentsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocuments>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetDocumentsQueryOptions(params,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Upload a new document
|
|
*/
|
|
export const getCreateDocumentUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/documents`
|
|
}
|
|
|
|
export const createDocument = async (createDocumentBody: CreateDocumentBody, options?: RequestInit): Promise<DocumentResponse> => {
|
|
const formData = new FormData();
|
|
formData.append(`document_file`, createDocumentBody.document_file);
|
|
|
|
return apiFetch<DocumentResponse>(getCreateDocumentUrl(),
|
|
{
|
|
...options,
|
|
method: 'POST'
|
|
,
|
|
body:
|
|
formData,
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getCreateDocumentMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createDocument>>, TError,{data: CreateDocumentBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof createDocument>>, TError,{data: CreateDocumentBody}, TContext> => {
|
|
|
|
const mutationKey = ['createDocument'];
|
|
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 createDocument>>, {data: CreateDocumentBody}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return createDocument(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type CreateDocumentMutationResult = NonNullable<Awaited<ReturnType<typeof createDocument>>>
|
|
export type CreateDocumentMutationBody = CreateDocumentBody
|
|
export type CreateDocumentMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Upload a new document
|
|
*/
|
|
export const useCreateDocument = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createDocument>>, TError,{data: CreateDocumentBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof createDocument>>,
|
|
TError,
|
|
{data: CreateDocumentBody},
|
|
TContext
|
|
> => {
|
|
return useMutation(getCreateDocumentMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Get a single document
|
|
*/
|
|
export const getGetDocumentUrl = (id: string,) => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/documents/${id}`
|
|
}
|
|
|
|
export const getDocument = async (id: string, options?: RequestInit): Promise<DocumentResponse> => {
|
|
|
|
return apiFetch<DocumentResponse>(getGetDocumentUrl(id),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetDocumentQueryKey = (id: string,) => {
|
|
return [
|
|
`/api/v1/documents/${id}`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetDocumentQueryOptions = <TData = Awaited<ReturnType<typeof getDocument>>, TError = ErrorResponse>(id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocument>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetDocumentQueryKey(id);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getDocument>>> = ({ signal }) => getDocument(id, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getDocument>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetDocumentQueryResult = NonNullable<Awaited<ReturnType<typeof getDocument>>>
|
|
export type GetDocumentQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetDocument<TData = Awaited<ReturnType<typeof getDocument>>, TError = ErrorResponse>(
|
|
id: string, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocument>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getDocument>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getDocument>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetDocument<TData = Awaited<ReturnType<typeof getDocument>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocument>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getDocument>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getDocument>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetDocument<TData = Awaited<ReturnType<typeof getDocument>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocument>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get a single document
|
|
*/
|
|
|
|
export function useGetDocument<TData = Awaited<ReturnType<typeof getDocument>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocument>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetDocumentQueryOptions(id,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Update document editable fields
|
|
*/
|
|
export const getEditDocumentUrl = (id: string,) => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/documents/${id}`
|
|
}
|
|
|
|
export const editDocument = async (id: string,
|
|
editDocumentBody: EditDocumentBody, options?: RequestInit): Promise<DocumentResponse> => {
|
|
|
|
return apiFetch<DocumentResponse>(getEditDocumentUrl(id),
|
|
{
|
|
...options,
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
body: JSON.stringify(
|
|
editDocumentBody,)
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getEditDocumentMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof editDocument>>, TError,{id: string;data: EditDocumentBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof editDocument>>, TError,{id: string;data: EditDocumentBody}, TContext> => {
|
|
|
|
const mutationKey = ['editDocument'];
|
|
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 editDocument>>, {id: string;data: EditDocumentBody}> = (props) => {
|
|
const {id,data} = props ?? {};
|
|
|
|
return editDocument(id,data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type EditDocumentMutationResult = NonNullable<Awaited<ReturnType<typeof editDocument>>>
|
|
export type EditDocumentMutationBody = EditDocumentBody
|
|
export type EditDocumentMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Update document editable fields
|
|
*/
|
|
export const useEditDocument = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof editDocument>>, TError,{id: string;data: EditDocumentBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof editDocument>>,
|
|
TError,
|
|
{id: string;data: EditDocumentBody},
|
|
TContext
|
|
> => {
|
|
return useMutation(getEditDocumentMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Get document cover image
|
|
*/
|
|
export const getGetDocumentCoverUrl = (id: string,) => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/documents/${id}/cover`
|
|
}
|
|
|
|
export const getDocumentCover = async (id: string, options?: RequestInit): Promise<Blob> => {
|
|
|
|
return apiFetch<Blob>(getGetDocumentCoverUrl(id),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetDocumentCoverQueryKey = (id: string,) => {
|
|
return [
|
|
`/api/v1/documents/${id}/cover`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetDocumentCoverQueryOptions = <TData = Awaited<ReturnType<typeof getDocumentCover>>, TError = ErrorResponse>(id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentCover>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetDocumentCoverQueryKey(id);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getDocumentCover>>> = ({ signal }) => getDocumentCover(id, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getDocumentCover>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetDocumentCoverQueryResult = NonNullable<Awaited<ReturnType<typeof getDocumentCover>>>
|
|
export type GetDocumentCoverQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetDocumentCover<TData = Awaited<ReturnType<typeof getDocumentCover>>, TError = ErrorResponse>(
|
|
id: string, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentCover>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getDocumentCover>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getDocumentCover>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetDocumentCover<TData = Awaited<ReturnType<typeof getDocumentCover>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentCover>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getDocumentCover>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getDocumentCover>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetDocumentCover<TData = Awaited<ReturnType<typeof getDocumentCover>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentCover>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get document cover image
|
|
*/
|
|
|
|
export function useGetDocumentCover<TData = Awaited<ReturnType<typeof getDocumentCover>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentCover>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetDocumentCoverQueryOptions(id,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Upload document cover image
|
|
*/
|
|
export const getUploadDocumentCoverUrl = (id: string,) => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/documents/${id}/cover`
|
|
}
|
|
|
|
export const uploadDocumentCover = async (id: string,
|
|
uploadDocumentCoverBody: UploadDocumentCoverBody, options?: RequestInit): Promise<DocumentResponse> => {
|
|
const formData = new FormData();
|
|
formData.append(`cover_file`, uploadDocumentCoverBody.cover_file);
|
|
|
|
return apiFetch<DocumentResponse>(getUploadDocumentCoverUrl(id),
|
|
{
|
|
...options,
|
|
method: 'POST'
|
|
,
|
|
body:
|
|
formData,
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getUploadDocumentCoverMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof uploadDocumentCover>>, TError,{id: string;data: UploadDocumentCoverBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof uploadDocumentCover>>, TError,{id: string;data: UploadDocumentCoverBody}, TContext> => {
|
|
|
|
const mutationKey = ['uploadDocumentCover'];
|
|
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 uploadDocumentCover>>, {id: string;data: UploadDocumentCoverBody}> = (props) => {
|
|
const {id,data} = props ?? {};
|
|
|
|
return uploadDocumentCover(id,data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type UploadDocumentCoverMutationResult = NonNullable<Awaited<ReturnType<typeof uploadDocumentCover>>>
|
|
export type UploadDocumentCoverMutationBody = UploadDocumentCoverBody
|
|
export type UploadDocumentCoverMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Upload document cover image
|
|
*/
|
|
export const useUploadDocumentCover = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof uploadDocumentCover>>, TError,{id: string;data: UploadDocumentCoverBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof uploadDocumentCover>>,
|
|
TError,
|
|
{id: string;data: UploadDocumentCoverBody},
|
|
TContext
|
|
> => {
|
|
return useMutation(getUploadDocumentCoverMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Download document file
|
|
*/
|
|
export const getGetDocumentFileUrl = (id: string,) => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/documents/${id}/file`
|
|
}
|
|
|
|
export const getDocumentFile = async (id: string, options?: RequestInit): Promise<Blob> => {
|
|
|
|
return apiFetch<Blob>(getGetDocumentFileUrl(id),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetDocumentFileQueryKey = (id: string,) => {
|
|
return [
|
|
`/api/v1/documents/${id}/file`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetDocumentFileQueryOptions = <TData = Awaited<ReturnType<typeof getDocumentFile>>, TError = ErrorResponse>(id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentFile>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetDocumentFileQueryKey(id);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getDocumentFile>>> = ({ signal }) => getDocumentFile(id, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getDocumentFile>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetDocumentFileQueryResult = NonNullable<Awaited<ReturnType<typeof getDocumentFile>>>
|
|
export type GetDocumentFileQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetDocumentFile<TData = Awaited<ReturnType<typeof getDocumentFile>>, TError = ErrorResponse>(
|
|
id: string, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentFile>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getDocumentFile>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getDocumentFile>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetDocumentFile<TData = Awaited<ReturnType<typeof getDocumentFile>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentFile>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getDocumentFile>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getDocumentFile>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetDocumentFile<TData = Awaited<ReturnType<typeof getDocumentFile>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentFile>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Download document file
|
|
*/
|
|
|
|
export function useGetDocumentFile<TData = Awaited<ReturnType<typeof getDocumentFile>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getDocumentFile>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetDocumentFileQueryOptions(id,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary List progress records
|
|
*/
|
|
export const getGetProgressListUrl = (params?: GetProgressListParams,) => {
|
|
const normalizedParams = new URLSearchParams();
|
|
|
|
Object.entries(params || {}).forEach(([key, value]) => {
|
|
|
|
if (value !== undefined) {
|
|
normalizedParams.append(key, value === null ? 'null' : value.toString())
|
|
}
|
|
});
|
|
|
|
const stringifiedParams = normalizedParams.toString();
|
|
|
|
return stringifiedParams.length > 0 ? `/api/v1/progress?${stringifiedParams}` : `/api/v1/progress`
|
|
}
|
|
|
|
export const getProgressList = async (params?: GetProgressListParams, options?: RequestInit): Promise<ProgressListResponse> => {
|
|
|
|
return apiFetch<ProgressListResponse>(getGetProgressListUrl(params),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetProgressListQueryKey = (params?: GetProgressListParams,) => {
|
|
return [
|
|
`/api/v1/progress`, ...(params ? [params] : [])
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetProgressListQueryOptions = <TData = Awaited<ReturnType<typeof getProgressList>>, TError = ErrorResponse>(params?: GetProgressListParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgressList>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetProgressListQueryKey(params);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getProgressList>>> = ({ signal }) => getProgressList(params, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getProgressList>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetProgressListQueryResult = NonNullable<Awaited<ReturnType<typeof getProgressList>>>
|
|
export type GetProgressListQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetProgressList<TData = Awaited<ReturnType<typeof getProgressList>>, TError = ErrorResponse>(
|
|
params: undefined | GetProgressListParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgressList>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getProgressList>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getProgressList>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetProgressList<TData = Awaited<ReturnType<typeof getProgressList>>, TError = ErrorResponse>(
|
|
params?: GetProgressListParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgressList>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getProgressList>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getProgressList>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetProgressList<TData = Awaited<ReturnType<typeof getProgressList>>, TError = ErrorResponse>(
|
|
params?: GetProgressListParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgressList>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary List progress records
|
|
*/
|
|
|
|
export function useGetProgressList<TData = Awaited<ReturnType<typeof getProgressList>>, TError = ErrorResponse>(
|
|
params?: GetProgressListParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgressList>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetProgressListQueryOptions(params,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Update document progress
|
|
*/
|
|
export const getUpdateProgressUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/progress`
|
|
}
|
|
|
|
export const updateProgress = async (updateProgressRequest: UpdateProgressRequest, options?: RequestInit): Promise<UpdateProgressResponse> => {
|
|
|
|
return apiFetch<UpdateProgressResponse>(getUpdateProgressUrl(),
|
|
{
|
|
...options,
|
|
method: 'PUT',
|
|
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
body: JSON.stringify(
|
|
updateProgressRequest,)
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getUpdateProgressMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateProgress>>, TError,{data: UpdateProgressRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof updateProgress>>, TError,{data: UpdateProgressRequest}, TContext> => {
|
|
|
|
const mutationKey = ['updateProgress'];
|
|
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 updateProgress>>, {data: UpdateProgressRequest}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return updateProgress(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type UpdateProgressMutationResult = NonNullable<Awaited<ReturnType<typeof updateProgress>>>
|
|
export type UpdateProgressMutationBody = UpdateProgressRequest
|
|
export type UpdateProgressMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Update document progress
|
|
*/
|
|
export const useUpdateProgress = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateProgress>>, TError,{data: UpdateProgressRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof updateProgress>>,
|
|
TError,
|
|
{data: UpdateProgressRequest},
|
|
TContext
|
|
> => {
|
|
return useMutation(getUpdateProgressMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Get document progress
|
|
*/
|
|
export const getGetProgressUrl = (id: string,) => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/progress/${id}`
|
|
}
|
|
|
|
export const getProgress = async (id: string, options?: RequestInit): Promise<ProgressResponse> => {
|
|
|
|
return apiFetch<ProgressResponse>(getGetProgressUrl(id),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetProgressQueryKey = (id: string,) => {
|
|
return [
|
|
`/api/v1/progress/${id}`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetProgressQueryOptions = <TData = Awaited<ReturnType<typeof getProgress>>, TError = ErrorResponse>(id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgress>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetProgressQueryKey(id);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getProgress>>> = ({ signal }) => getProgress(id, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getProgress>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetProgressQueryResult = NonNullable<Awaited<ReturnType<typeof getProgress>>>
|
|
export type GetProgressQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetProgress<TData = Awaited<ReturnType<typeof getProgress>>, TError = ErrorResponse>(
|
|
id: string, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgress>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getProgress>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getProgress>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetProgress<TData = Awaited<ReturnType<typeof getProgress>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgress>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getProgress>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getProgress>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetProgress<TData = Awaited<ReturnType<typeof getProgress>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgress>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get document progress
|
|
*/
|
|
|
|
export function useGetProgress<TData = Awaited<ReturnType<typeof getProgress>>, TError = ErrorResponse>(
|
|
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getProgress>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetProgressQueryOptions(id,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Get activity data
|
|
*/
|
|
export const getGetActivityUrl = (params?: GetActivityParams,) => {
|
|
const normalizedParams = new URLSearchParams();
|
|
|
|
Object.entries(params || {}).forEach(([key, value]) => {
|
|
|
|
if (value !== undefined) {
|
|
normalizedParams.append(key, value === null ? 'null' : value.toString())
|
|
}
|
|
});
|
|
|
|
const stringifiedParams = normalizedParams.toString();
|
|
|
|
return stringifiedParams.length > 0 ? `/api/v1/activity?${stringifiedParams}` : `/api/v1/activity`
|
|
}
|
|
|
|
export const getActivity = async (params?: GetActivityParams, options?: RequestInit): Promise<ActivityResponse> => {
|
|
|
|
return apiFetch<ActivityResponse>(getGetActivityUrl(params),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetActivityQueryKey = (params?: GetActivityParams,) => {
|
|
return [
|
|
`/api/v1/activity`, ...(params ? [params] : [])
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetActivityQueryOptions = <TData = Awaited<ReturnType<typeof getActivity>>, TError = ErrorResponse>(params?: GetActivityParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getActivity>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetActivityQueryKey(params);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getActivity>>> = ({ signal }) => getActivity(params, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getActivity>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetActivityQueryResult = NonNullable<Awaited<ReturnType<typeof getActivity>>>
|
|
export type GetActivityQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetActivity<TData = Awaited<ReturnType<typeof getActivity>>, TError = ErrorResponse>(
|
|
params: undefined | GetActivityParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getActivity>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getActivity>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getActivity>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetActivity<TData = Awaited<ReturnType<typeof getActivity>>, TError = ErrorResponse>(
|
|
params?: GetActivityParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getActivity>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getActivity>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getActivity>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetActivity<TData = Awaited<ReturnType<typeof getActivity>>, TError = ErrorResponse>(
|
|
params?: GetActivityParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getActivity>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get activity data
|
|
*/
|
|
|
|
export function useGetActivity<TData = Awaited<ReturnType<typeof getActivity>>, TError = ErrorResponse>(
|
|
params?: GetActivityParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getActivity>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetActivityQueryOptions(params,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Create activity records
|
|
*/
|
|
export const getCreateActivityUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/activity`
|
|
}
|
|
|
|
export const createActivity = async (createActivityRequest: CreateActivityRequest, options?: RequestInit): Promise<CreateActivityResponse> => {
|
|
|
|
return apiFetch<CreateActivityResponse>(getCreateActivityUrl(),
|
|
{
|
|
...options,
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
body: JSON.stringify(
|
|
createActivityRequest,)
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getCreateActivityMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createActivity>>, TError,{data: CreateActivityRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof createActivity>>, TError,{data: CreateActivityRequest}, TContext> => {
|
|
|
|
const mutationKey = ['createActivity'];
|
|
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 createActivity>>, {data: CreateActivityRequest}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return createActivity(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type CreateActivityMutationResult = NonNullable<Awaited<ReturnType<typeof createActivity>>>
|
|
export type CreateActivityMutationBody = CreateActivityRequest
|
|
export type CreateActivityMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Create activity records
|
|
*/
|
|
export const useCreateActivity = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createActivity>>, TError,{data: CreateActivityRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof createActivity>>,
|
|
TError,
|
|
{data: CreateActivityRequest},
|
|
TContext
|
|
> => {
|
|
return useMutation(getCreateActivityMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Get user settings
|
|
*/
|
|
export const getGetSettingsUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/settings`
|
|
}
|
|
|
|
export const getSettings = async ( options?: RequestInit): Promise<SettingsResponse> => {
|
|
|
|
return apiFetch<SettingsResponse>(getGetSettingsUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetSettingsQueryKey = () => {
|
|
return [
|
|
`/api/v1/settings`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetSettingsQueryOptions = <TData = Awaited<ReturnType<typeof getSettings>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSettings>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetSettingsQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getSettings>>> = ({ signal }) => getSettings({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getSettings>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetSettingsQueryResult = NonNullable<Awaited<ReturnType<typeof getSettings>>>
|
|
export type GetSettingsQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetSettings<TData = Awaited<ReturnType<typeof getSettings>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSettings>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getSettings>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getSettings>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetSettings<TData = Awaited<ReturnType<typeof getSettings>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSettings>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getSettings>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getSettings>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetSettings<TData = Awaited<ReturnType<typeof getSettings>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSettings>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get user settings
|
|
*/
|
|
|
|
export function useGetSettings<TData = Awaited<ReturnType<typeof getSettings>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSettings>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetSettingsQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Update user settings
|
|
*/
|
|
export const getUpdateSettingsUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/settings`
|
|
}
|
|
|
|
export const updateSettings = async (updateSettingsRequest: UpdateSettingsRequest, options?: RequestInit): Promise<SettingsResponse> => {
|
|
|
|
return apiFetch<SettingsResponse>(getUpdateSettingsUrl(),
|
|
{
|
|
...options,
|
|
method: 'PUT',
|
|
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
body: JSON.stringify(
|
|
updateSettingsRequest,)
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getUpdateSettingsMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateSettings>>, TError,{data: UpdateSettingsRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof updateSettings>>, TError,{data: UpdateSettingsRequest}, TContext> => {
|
|
|
|
const mutationKey = ['updateSettings'];
|
|
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 updateSettings>>, {data: UpdateSettingsRequest}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return updateSettings(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type UpdateSettingsMutationResult = NonNullable<Awaited<ReturnType<typeof updateSettings>>>
|
|
export type UpdateSettingsMutationBody = UpdateSettingsRequest
|
|
export type UpdateSettingsMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Update user settings
|
|
*/
|
|
export const useUpdateSettings = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateSettings>>, TError,{data: UpdateSettingsRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof updateSettings>>,
|
|
TError,
|
|
{data: UpdateSettingsRequest},
|
|
TContext
|
|
> => {
|
|
return useMutation(getUpdateSettingsMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary User login
|
|
*/
|
|
export const getLoginUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/auth/login`
|
|
}
|
|
|
|
export const login = async (loginRequest: LoginRequest, options?: RequestInit): Promise<LoginResponse> => {
|
|
|
|
return apiFetch<LoginResponse>(getLoginUrl(),
|
|
{
|
|
...options,
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
body: JSON.stringify(
|
|
loginRequest,)
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getLoginMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof login>>, TError,{data: LoginRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof login>>, TError,{data: LoginRequest}, TContext> => {
|
|
|
|
const mutationKey = ['login'];
|
|
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 login>>, {data: LoginRequest}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return login(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type LoginMutationResult = NonNullable<Awaited<ReturnType<typeof login>>>
|
|
export type LoginMutationBody = LoginRequest
|
|
export type LoginMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary User login
|
|
*/
|
|
export const useLogin = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof login>>, TError,{data: LoginRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof login>>,
|
|
TError,
|
|
{data: LoginRequest},
|
|
TContext
|
|
> => {
|
|
return useMutation(getLoginMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary User registration
|
|
*/
|
|
export const getRegisterUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/auth/register`
|
|
}
|
|
|
|
export const register = async (loginRequest: LoginRequest, options?: RequestInit): Promise<LoginResponse> => {
|
|
|
|
return apiFetch<LoginResponse>(getRegisterUrl(),
|
|
{
|
|
...options,
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json', ...options?.headers },
|
|
body: JSON.stringify(
|
|
loginRequest,)
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getRegisterMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof register>>, TError,{data: LoginRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof register>>, TError,{data: LoginRequest}, TContext> => {
|
|
|
|
const mutationKey = ['register'];
|
|
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 register>>, {data: LoginRequest}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return register(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type RegisterMutationResult = NonNullable<Awaited<ReturnType<typeof register>>>
|
|
export type RegisterMutationBody = LoginRequest
|
|
export type RegisterMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary User registration
|
|
*/
|
|
export const useRegister = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof register>>, TError,{data: LoginRequest}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof register>>,
|
|
TError,
|
|
{data: LoginRequest},
|
|
TContext
|
|
> => {
|
|
return useMutation(getRegisterMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary User logout
|
|
*/
|
|
export const getLogoutUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/auth/logout`
|
|
}
|
|
|
|
export const logout = async ( options?: RequestInit): Promise<void> => {
|
|
|
|
return apiFetch<void>(getLogoutUrl(),
|
|
{
|
|
...options,
|
|
method: 'POST'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getLogoutMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof logout>>, TError,void, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof logout>>, TError,void, TContext> => {
|
|
|
|
const mutationKey = ['logout'];
|
|
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 logout>>, void> = () => {
|
|
|
|
|
|
return logout(requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type LogoutMutationResult = NonNullable<Awaited<ReturnType<typeof logout>>>
|
|
|
|
export type LogoutMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary User logout
|
|
*/
|
|
export const useLogout = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof logout>>, TError,void, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof logout>>,
|
|
TError,
|
|
void,
|
|
TContext
|
|
> => {
|
|
return useMutation(getLogoutMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Get current user info
|
|
*/
|
|
export const getGetMeUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/auth/me`
|
|
}
|
|
|
|
export const getMe = async ( options?: RequestInit): Promise<LoginResponse> => {
|
|
|
|
return apiFetch<LoginResponse>(getGetMeUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetMeQueryKey = () => {
|
|
return [
|
|
`/api/v1/auth/me`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetMeQueryOptions = <TData = Awaited<ReturnType<typeof getMe>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetMeQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getMe>>> = ({ signal }) => getMe({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetMeQueryResult = NonNullable<Awaited<ReturnType<typeof getMe>>>
|
|
export type GetMeQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetMe<TData = Awaited<ReturnType<typeof getMe>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getMe>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getMe>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetMe<TData = Awaited<ReturnType<typeof getMe>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getMe>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getMe>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetMe<TData = Awaited<ReturnType<typeof getMe>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get current user info
|
|
*/
|
|
|
|
export function useGetMe<TData = Awaited<ReturnType<typeof getMe>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getMe>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetMeQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Get server information
|
|
*/
|
|
export const getGetInfoUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/info`
|
|
}
|
|
|
|
export const getInfo = async ( options?: RequestInit): Promise<InfoResponse> => {
|
|
|
|
return apiFetch<InfoResponse>(getGetInfoUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetInfoQueryKey = () => {
|
|
return [
|
|
`/api/v1/info`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetInfoQueryOptions = <TData = Awaited<ReturnType<typeof getInfo>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getInfo>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetInfoQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getInfo>>> = ({ signal }) => getInfo({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getInfo>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetInfoQueryResult = NonNullable<Awaited<ReturnType<typeof getInfo>>>
|
|
export type GetInfoQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetInfo<TData = Awaited<ReturnType<typeof getInfo>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getInfo>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getInfo>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getInfo>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetInfo<TData = Awaited<ReturnType<typeof getInfo>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getInfo>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getInfo>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getInfo>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetInfo<TData = Awaited<ReturnType<typeof getInfo>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getInfo>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get server information
|
|
*/
|
|
|
|
export function useGetInfo<TData = Awaited<ReturnType<typeof getInfo>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getInfo>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetInfoQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Get home page data
|
|
*/
|
|
export const getGetHomeUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/home`
|
|
}
|
|
|
|
export const getHome = async ( options?: RequestInit): Promise<HomeResponse> => {
|
|
|
|
return apiFetch<HomeResponse>(getGetHomeUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetHomeQueryKey = () => {
|
|
return [
|
|
`/api/v1/home`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetHomeQueryOptions = <TData = Awaited<ReturnType<typeof getHome>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getHome>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetHomeQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getHome>>> = ({ signal }) => getHome({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getHome>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetHomeQueryResult = NonNullable<Awaited<ReturnType<typeof getHome>>>
|
|
export type GetHomeQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetHome<TData = Awaited<ReturnType<typeof getHome>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getHome>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getHome>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getHome>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetHome<TData = Awaited<ReturnType<typeof getHome>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getHome>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getHome>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getHome>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetHome<TData = Awaited<ReturnType<typeof getHome>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getHome>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get home page data
|
|
*/
|
|
|
|
export function useGetHome<TData = Awaited<ReturnType<typeof getHome>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getHome>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetHomeQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Get user streaks
|
|
*/
|
|
export const getGetStreaksUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/home/streaks`
|
|
}
|
|
|
|
export const getStreaks = async ( options?: RequestInit): Promise<StreaksResponse> => {
|
|
|
|
return apiFetch<StreaksResponse>(getGetStreaksUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetStreaksQueryKey = () => {
|
|
return [
|
|
`/api/v1/home/streaks`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetStreaksQueryOptions = <TData = Awaited<ReturnType<typeof getStreaks>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getStreaks>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetStreaksQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getStreaks>>> = ({ signal }) => getStreaks({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getStreaks>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetStreaksQueryResult = NonNullable<Awaited<ReturnType<typeof getStreaks>>>
|
|
export type GetStreaksQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetStreaks<TData = Awaited<ReturnType<typeof getStreaks>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getStreaks>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getStreaks>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getStreaks>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetStreaks<TData = Awaited<ReturnType<typeof getStreaks>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getStreaks>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getStreaks>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getStreaks>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetStreaks<TData = Awaited<ReturnType<typeof getStreaks>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getStreaks>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get user streaks
|
|
*/
|
|
|
|
export function useGetStreaks<TData = Awaited<ReturnType<typeof getStreaks>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getStreaks>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetStreaksQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Get daily read stats graph data
|
|
*/
|
|
export const getGetGraphDataUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/home/graph`
|
|
}
|
|
|
|
export const getGraphData = async ( options?: RequestInit): Promise<GraphDataResponse> => {
|
|
|
|
return apiFetch<GraphDataResponse>(getGetGraphDataUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetGraphDataQueryKey = () => {
|
|
return [
|
|
`/api/v1/home/graph`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetGraphDataQueryOptions = <TData = Awaited<ReturnType<typeof getGraphData>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGraphData>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetGraphDataQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getGraphData>>> = ({ signal }) => getGraphData({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getGraphData>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetGraphDataQueryResult = NonNullable<Awaited<ReturnType<typeof getGraphData>>>
|
|
export type GetGraphDataQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetGraphData<TData = Awaited<ReturnType<typeof getGraphData>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGraphData>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getGraphData>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getGraphData>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetGraphData<TData = Awaited<ReturnType<typeof getGraphData>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGraphData>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getGraphData>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getGraphData>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetGraphData<TData = Awaited<ReturnType<typeof getGraphData>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGraphData>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get daily read stats graph data
|
|
*/
|
|
|
|
export function useGetGraphData<TData = Awaited<ReturnType<typeof getGraphData>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getGraphData>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetGraphDataQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Get user statistics (leaderboards)
|
|
*/
|
|
export const getGetUserStatisticsUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/home/statistics`
|
|
}
|
|
|
|
export const getUserStatistics = async ( options?: RequestInit): Promise<UserStatisticsResponse> => {
|
|
|
|
return apiFetch<UserStatisticsResponse>(getGetUserStatisticsUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetUserStatisticsQueryKey = () => {
|
|
return [
|
|
`/api/v1/home/statistics`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetUserStatisticsQueryOptions = <TData = Awaited<ReturnType<typeof getUserStatistics>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUserStatistics>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetUserStatisticsQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getUserStatistics>>> = ({ signal }) => getUserStatistics({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getUserStatistics>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetUserStatisticsQueryResult = NonNullable<Awaited<ReturnType<typeof getUserStatistics>>>
|
|
export type GetUserStatisticsQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetUserStatistics<TData = Awaited<ReturnType<typeof getUserStatistics>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUserStatistics>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getUserStatistics>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getUserStatistics>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetUserStatistics<TData = Awaited<ReturnType<typeof getUserStatistics>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUserStatistics>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getUserStatistics>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getUserStatistics>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetUserStatistics<TData = Awaited<ReturnType<typeof getUserStatistics>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUserStatistics>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get user statistics (leaderboards)
|
|
*/
|
|
|
|
export function useGetUserStatistics<TData = Awaited<ReturnType<typeof getUserStatistics>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUserStatistics>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetUserStatisticsQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Search external book sources
|
|
*/
|
|
export const getGetSearchUrl = (params: GetSearchParams,) => {
|
|
const normalizedParams = new URLSearchParams();
|
|
|
|
Object.entries(params || {}).forEach(([key, value]) => {
|
|
|
|
if (value !== undefined) {
|
|
normalizedParams.append(key, value === null ? 'null' : value.toString())
|
|
}
|
|
});
|
|
|
|
const stringifiedParams = normalizedParams.toString();
|
|
|
|
return stringifiedParams.length > 0 ? `/api/v1/search?${stringifiedParams}` : `/api/v1/search`
|
|
}
|
|
|
|
export const getSearch = async (params: GetSearchParams, options?: RequestInit): Promise<SearchResponse> => {
|
|
|
|
return apiFetch<SearchResponse>(getGetSearchUrl(params),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetSearchQueryKey = (params?: GetSearchParams,) => {
|
|
return [
|
|
`/api/v1/search`, ...(params ? [params] : [])
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetSearchQueryOptions = <TData = Awaited<ReturnType<typeof getSearch>>, TError = ErrorResponse>(params: GetSearchParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSearch>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetSearchQueryKey(params);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getSearch>>> = ({ signal }) => getSearch(params, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getSearch>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetSearchQueryResult = NonNullable<Awaited<ReturnType<typeof getSearch>>>
|
|
export type GetSearchQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetSearch<TData = Awaited<ReturnType<typeof getSearch>>, TError = ErrorResponse>(
|
|
params: GetSearchParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSearch>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getSearch>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getSearch>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetSearch<TData = Awaited<ReturnType<typeof getSearch>>, TError = ErrorResponse>(
|
|
params: GetSearchParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSearch>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getSearch>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getSearch>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetSearch<TData = Awaited<ReturnType<typeof getSearch>>, TError = ErrorResponse>(
|
|
params: GetSearchParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSearch>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Search external book sources
|
|
*/
|
|
|
|
export function useGetSearch<TData = Awaited<ReturnType<typeof getSearch>>, TError = ErrorResponse>(
|
|
params: GetSearchParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getSearch>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetSearchQueryOptions(params,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Download search result
|
|
*/
|
|
export const getPostSearchUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/search`
|
|
}
|
|
|
|
export const postSearch = async (postSearchBody: PostSearchBody, options?: RequestInit): Promise<void> => {
|
|
const formUrlEncoded = new URLSearchParams();
|
|
formUrlEncoded.append(`source`, postSearchBody.source);
|
|
formUrlEncoded.append(`title`, postSearchBody.title);
|
|
formUrlEncoded.append(`author`, postSearchBody.author);
|
|
formUrlEncoded.append(`id`, postSearchBody.id);
|
|
|
|
return apiFetch<void>(getPostSearchUrl(),
|
|
{
|
|
...options,
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded', ...options?.headers },
|
|
body:
|
|
formUrlEncoded,
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getPostSearchMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof postSearch>>, TError,{data: PostSearchBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof postSearch>>, TError,{data: PostSearchBody}, TContext> => {
|
|
|
|
const mutationKey = ['postSearch'];
|
|
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 postSearch>>, {data: PostSearchBody}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return postSearch(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type PostSearchMutationResult = NonNullable<Awaited<ReturnType<typeof postSearch>>>
|
|
export type PostSearchMutationBody = PostSearchBody
|
|
export type PostSearchMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Download search result
|
|
*/
|
|
export const usePostSearch = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof postSearch>>, TError,{data: PostSearchBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof postSearch>>,
|
|
TError,
|
|
{data: PostSearchBody},
|
|
TContext
|
|
> => {
|
|
return useMutation(getPostSearchMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Get admin page data
|
|
*/
|
|
export const getGetAdminUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/admin`
|
|
}
|
|
|
|
export const getAdmin = async ( options?: RequestInit): Promise<GetAdmin200> => {
|
|
|
|
return apiFetch<GetAdmin200>(getGetAdminUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetAdminQueryKey = () => {
|
|
return [
|
|
`/api/v1/admin`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetAdminQueryOptions = <TData = Awaited<ReturnType<typeof getAdmin>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getAdmin>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetAdminQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getAdmin>>> = ({ signal }) => getAdmin({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getAdmin>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetAdminQueryResult = NonNullable<Awaited<ReturnType<typeof getAdmin>>>
|
|
export type GetAdminQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetAdmin<TData = Awaited<ReturnType<typeof getAdmin>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getAdmin>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getAdmin>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getAdmin>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetAdmin<TData = Awaited<ReturnType<typeof getAdmin>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getAdmin>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getAdmin>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getAdmin>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetAdmin<TData = Awaited<ReturnType<typeof getAdmin>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getAdmin>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get admin page data
|
|
*/
|
|
|
|
export function useGetAdmin<TData = Awaited<ReturnType<typeof getAdmin>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getAdmin>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetAdminQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Perform admin action (backup, restore, etc.)
|
|
*/
|
|
export const getPostAdminActionUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/admin`
|
|
}
|
|
|
|
export const postAdminAction = async (postAdminActionBody: PostAdminActionBody, options?: RequestInit): Promise<MessageResponse | Blob> => {
|
|
const formData = new FormData();
|
|
formData.append(`action`, postAdminActionBody.action);
|
|
if(postAdminActionBody.backup_types !== undefined) {
|
|
postAdminActionBody.backup_types.forEach(value => formData.append(`backup_types`, value));
|
|
}
|
|
if(postAdminActionBody.restore_file !== undefined) {
|
|
formData.append(`restore_file`, postAdminActionBody.restore_file);
|
|
}
|
|
|
|
return apiFetch<MessageResponse | Blob>(getPostAdminActionUrl(),
|
|
{
|
|
...options,
|
|
method: 'POST'
|
|
,
|
|
body:
|
|
formData,
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getPostAdminActionMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof postAdminAction>>, TError,{data: PostAdminActionBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof postAdminAction>>, TError,{data: PostAdminActionBody}, TContext> => {
|
|
|
|
const mutationKey = ['postAdminAction'];
|
|
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 postAdminAction>>, {data: PostAdminActionBody}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return postAdminAction(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type PostAdminActionMutationResult = NonNullable<Awaited<ReturnType<typeof postAdminAction>>>
|
|
export type PostAdminActionMutationBody = PostAdminActionBody
|
|
export type PostAdminActionMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Perform admin action (backup, restore, etc.)
|
|
*/
|
|
export const usePostAdminAction = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof postAdminAction>>, TError,{data: PostAdminActionBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof postAdminAction>>,
|
|
TError,
|
|
{data: PostAdminActionBody},
|
|
TContext
|
|
> => {
|
|
return useMutation(getPostAdminActionMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Get all users
|
|
*/
|
|
export const getGetUsersUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/admin/users`
|
|
}
|
|
|
|
export const getUsers = async ( options?: RequestInit): Promise<UsersResponse> => {
|
|
|
|
return apiFetch<UsersResponse>(getGetUsersUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetUsersQueryKey = () => {
|
|
return [
|
|
`/api/v1/admin/users`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetUsersQueryOptions = <TData = Awaited<ReturnType<typeof getUsers>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUsers>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetUsersQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getUsers>>> = ({ signal }) => getUsers({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getUsers>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetUsersQueryResult = NonNullable<Awaited<ReturnType<typeof getUsers>>>
|
|
export type GetUsersQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetUsers<TData = Awaited<ReturnType<typeof getUsers>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUsers>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getUsers>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getUsers>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetUsers<TData = Awaited<ReturnType<typeof getUsers>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUsers>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getUsers>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getUsers>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetUsers<TData = Awaited<ReturnType<typeof getUsers>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUsers>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get all users
|
|
*/
|
|
|
|
export function useGetUsers<TData = Awaited<ReturnType<typeof getUsers>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getUsers>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetUsersQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Create, update, or delete user
|
|
*/
|
|
export const getUpdateUserUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/admin/users`
|
|
}
|
|
|
|
export const updateUser = async (updateUserBody: UpdateUserBody, options?: RequestInit): Promise<UsersResponse> => {
|
|
const formUrlEncoded = new URLSearchParams();
|
|
formUrlEncoded.append(`operation`, updateUserBody.operation);
|
|
formUrlEncoded.append(`user`, updateUserBody.user);
|
|
if(updateUserBody.password !== undefined) {
|
|
formUrlEncoded.append(`password`, updateUserBody.password);
|
|
}
|
|
if(updateUserBody.is_admin !== undefined) {
|
|
formUrlEncoded.append(`is_admin`, updateUserBody.is_admin.toString())
|
|
}
|
|
|
|
return apiFetch<UsersResponse>(getUpdateUserUrl(),
|
|
{
|
|
...options,
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded', ...options?.headers },
|
|
body:
|
|
formUrlEncoded,
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getUpdateUserMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateUser>>, TError,{data: UpdateUserBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof updateUser>>, TError,{data: UpdateUserBody}, TContext> => {
|
|
|
|
const mutationKey = ['updateUser'];
|
|
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 updateUser>>, {data: UpdateUserBody}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return updateUser(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type UpdateUserMutationResult = NonNullable<Awaited<ReturnType<typeof updateUser>>>
|
|
export type UpdateUserMutationBody = UpdateUserBody
|
|
export type UpdateUserMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Create, update, or delete user
|
|
*/
|
|
export const useUpdateUser = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateUser>>, TError,{data: UpdateUserBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof updateUser>>,
|
|
TError,
|
|
{data: UpdateUserBody},
|
|
TContext
|
|
> => {
|
|
return useMutation(getUpdateUserMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Get import directory list
|
|
*/
|
|
export const getGetImportDirectoryUrl = (params?: GetImportDirectoryParams,) => {
|
|
const normalizedParams = new URLSearchParams();
|
|
|
|
Object.entries(params || {}).forEach(([key, value]) => {
|
|
|
|
if (value !== undefined) {
|
|
normalizedParams.append(key, value === null ? 'null' : value.toString())
|
|
}
|
|
});
|
|
|
|
const stringifiedParams = normalizedParams.toString();
|
|
|
|
return stringifiedParams.length > 0 ? `/api/v1/admin/import?${stringifiedParams}` : `/api/v1/admin/import`
|
|
}
|
|
|
|
export const getImportDirectory = async (params?: GetImportDirectoryParams, options?: RequestInit): Promise<DirectoryListResponse> => {
|
|
|
|
return apiFetch<DirectoryListResponse>(getGetImportDirectoryUrl(params),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetImportDirectoryQueryKey = (params?: GetImportDirectoryParams,) => {
|
|
return [
|
|
`/api/v1/admin/import`, ...(params ? [params] : [])
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetImportDirectoryQueryOptions = <TData = Awaited<ReturnType<typeof getImportDirectory>>, TError = ErrorResponse>(params?: GetImportDirectoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportDirectory>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetImportDirectoryQueryKey(params);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getImportDirectory>>> = ({ signal }) => getImportDirectory(params, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getImportDirectory>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetImportDirectoryQueryResult = NonNullable<Awaited<ReturnType<typeof getImportDirectory>>>
|
|
export type GetImportDirectoryQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetImportDirectory<TData = Awaited<ReturnType<typeof getImportDirectory>>, TError = ErrorResponse>(
|
|
params: undefined | GetImportDirectoryParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportDirectory>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getImportDirectory>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getImportDirectory>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetImportDirectory<TData = Awaited<ReturnType<typeof getImportDirectory>>, TError = ErrorResponse>(
|
|
params?: GetImportDirectoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportDirectory>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getImportDirectory>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getImportDirectory>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetImportDirectory<TData = Awaited<ReturnType<typeof getImportDirectory>>, TError = ErrorResponse>(
|
|
params?: GetImportDirectoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportDirectory>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get import directory list
|
|
*/
|
|
|
|
export function useGetImportDirectory<TData = Awaited<ReturnType<typeof getImportDirectory>>, TError = ErrorResponse>(
|
|
params?: GetImportDirectoryParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportDirectory>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetImportDirectoryQueryOptions(params,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Perform import
|
|
*/
|
|
export const getPostImportUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/admin/import`
|
|
}
|
|
|
|
export const postImport = async (postImportBody: PostImportBody, options?: RequestInit): Promise<ImportResultsResponse> => {
|
|
const formUrlEncoded = new URLSearchParams();
|
|
formUrlEncoded.append(`directory`, postImportBody.directory);
|
|
formUrlEncoded.append(`type`, postImportBody.type);
|
|
|
|
return apiFetch<ImportResultsResponse>(getPostImportUrl(),
|
|
{
|
|
...options,
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded', ...options?.headers },
|
|
body:
|
|
formUrlEncoded,
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
export const getPostImportMutationOptions = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof postImport>>, TError,{data: PostImportBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
): UseMutationOptions<Awaited<ReturnType<typeof postImport>>, TError,{data: PostImportBody}, TContext> => {
|
|
|
|
const mutationKey = ['postImport'];
|
|
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 postImport>>, {data: PostImportBody}> = (props) => {
|
|
const {data} = props ?? {};
|
|
|
|
return postImport(data,requestOptions)
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { mutationFn, ...mutationOptions }}
|
|
|
|
export type PostImportMutationResult = NonNullable<Awaited<ReturnType<typeof postImport>>>
|
|
export type PostImportMutationBody = PostImportBody
|
|
export type PostImportMutationError = ErrorResponse
|
|
|
|
/**
|
|
* @summary Perform import
|
|
*/
|
|
export const usePostImport = <TError = ErrorResponse,
|
|
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof postImport>>, TError,{data: PostImportBody}, TContext>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient): UseMutationResult<
|
|
Awaited<ReturnType<typeof postImport>>,
|
|
TError,
|
|
{data: PostImportBody},
|
|
TContext
|
|
> => {
|
|
return useMutation(getPostImportMutationOptions(options), queryClient);
|
|
}
|
|
|
|
/**
|
|
* @summary Get import results
|
|
*/
|
|
export const getGetImportResultsUrl = () => {
|
|
|
|
|
|
|
|
|
|
return `/api/v1/admin/import-results`
|
|
}
|
|
|
|
export const getImportResults = async ( options?: RequestInit): Promise<ImportResultsResponse> => {
|
|
|
|
return apiFetch<ImportResultsResponse>(getGetImportResultsUrl(),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetImportResultsQueryKey = () => {
|
|
return [
|
|
`/api/v1/admin/import-results`
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetImportResultsQueryOptions = <TData = Awaited<ReturnType<typeof getImportResults>>, TError = ErrorResponse>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportResults>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetImportResultsQueryKey();
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getImportResults>>> = ({ signal }) => getImportResults({ signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getImportResults>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetImportResultsQueryResult = NonNullable<Awaited<ReturnType<typeof getImportResults>>>
|
|
export type GetImportResultsQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetImportResults<TData = Awaited<ReturnType<typeof getImportResults>>, TError = ErrorResponse>(
|
|
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportResults>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getImportResults>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getImportResults>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetImportResults<TData = Awaited<ReturnType<typeof getImportResults>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportResults>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getImportResults>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getImportResults>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetImportResults<TData = Awaited<ReturnType<typeof getImportResults>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportResults>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get import results
|
|
*/
|
|
|
|
export function useGetImportResults<TData = Awaited<ReturnType<typeof getImportResults>>, TError = ErrorResponse>(
|
|
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getImportResults>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetImportResultsQueryOptions(options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* @summary Get logs with optional filter
|
|
*/
|
|
export const getGetLogsUrl = (params?: GetLogsParams,) => {
|
|
const normalizedParams = new URLSearchParams();
|
|
|
|
Object.entries(params || {}).forEach(([key, value]) => {
|
|
|
|
if (value !== undefined) {
|
|
normalizedParams.append(key, value === null ? 'null' : value.toString())
|
|
}
|
|
});
|
|
|
|
const stringifiedParams = normalizedParams.toString();
|
|
|
|
return stringifiedParams.length > 0 ? `/api/v1/admin/logs?${stringifiedParams}` : `/api/v1/admin/logs`
|
|
}
|
|
|
|
export const getLogs = async (params?: GetLogsParams, options?: RequestInit): Promise<LogsResponse> => {
|
|
|
|
return apiFetch<LogsResponse>(getGetLogsUrl(params),
|
|
{
|
|
...options,
|
|
method: 'GET'
|
|
|
|
|
|
}
|
|
);}
|
|
|
|
|
|
|
|
|
|
|
|
export const getGetLogsQueryKey = (params?: GetLogsParams,) => {
|
|
return [
|
|
`/api/v1/admin/logs`, ...(params ? [params] : [])
|
|
] as const;
|
|
}
|
|
|
|
|
|
export const getGetLogsQueryOptions = <TData = Awaited<ReturnType<typeof getLogs>>, TError = ErrorResponse>(params?: GetLogsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getLogs>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
) => {
|
|
|
|
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
|
|
const queryKey = queryOptions?.queryKey ?? getGetLogsQueryKey(params);
|
|
|
|
|
|
|
|
const queryFn: QueryFunction<Awaited<ReturnType<typeof getLogs>>> = ({ signal }) => getLogs(params, { signal, ...requestOptions });
|
|
|
|
|
|
|
|
|
|
|
|
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getLogs>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
}
|
|
|
|
export type GetLogsQueryResult = NonNullable<Awaited<ReturnType<typeof getLogs>>>
|
|
export type GetLogsQueryError = ErrorResponse
|
|
|
|
|
|
export function useGetLogs<TData = Awaited<ReturnType<typeof getLogs>>, TError = ErrorResponse>(
|
|
params: undefined | GetLogsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getLogs>>, TError, TData>> & Pick<
|
|
DefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getLogs>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getLogs>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetLogs<TData = Awaited<ReturnType<typeof getLogs>>, TError = ErrorResponse>(
|
|
params?: GetLogsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getLogs>>, TError, TData>> & Pick<
|
|
UndefinedInitialDataOptions<
|
|
Awaited<ReturnType<typeof getLogs>>,
|
|
TError,
|
|
Awaited<ReturnType<typeof getLogs>>
|
|
> , 'initialData'
|
|
>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
export function useGetLogs<TData = Awaited<ReturnType<typeof getLogs>>, TError = ErrorResponse>(
|
|
params?: GetLogsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getLogs>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
|
/**
|
|
* @summary Get logs with optional filter
|
|
*/
|
|
|
|
export function useGetLogs<TData = Awaited<ReturnType<typeof getLogs>>, TError = ErrorResponse>(
|
|
params?: GetLogsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getLogs>>, TError, TData>>, request?: SecondParameter<typeof apiFetch>}
|
|
, queryClient?: QueryClient
|
|
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
|
|
|
const queryOptions = getGetLogsQueryOptions(params,options)
|
|
|
|
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
|
|
|
return { ...query, queryKey: queryOptions.queryKey };
|
|
}
|
|
|
|
|
|
|
|
|
|
|