/** * Generated by orval v7.21.0 🍺 * Do not edit manually. * Negodata Api Server * OpenAPI spec version: 0.1.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 { HTTPValidationError, ListNotificationsParams, ResNotificationList, ResNotificationRead } from '.././model'; import { customFetch } from '../../mutator/custom-fetch'; type SecondParameter unknown> = Parameters[1]; /** * @summary 알림 목록(+안읽음 수) */ export const listNotifications = ( params?: ListNotificationsParams, options?: SecondParameter,signal?: AbortSignal ) => { return customFetch( {url: `/v1/notification/list`, method: 'GET', params, signal }, options); } export const getListNotificationsQueryKey = (params?: ListNotificationsParams,) => { return [ `/v1/notification/list`, ...(params ? [params]: []) ] as const; } export const getListNotificationsQueryOptions = >, TError = void | HTTPValidationError>(params?: ListNotificationsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} ) => { const {query: queryOptions, request: requestOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListNotificationsQueryKey(params); const queryFn: QueryFunction>> = ({ signal }) => listNotifications(params, requestOptions, signal); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: DataTag } } export type ListNotificationsQueryResult = NonNullable>> export type ListNotificationsQueryError = void | HTTPValidationError export function useListNotifications>, TError = void | HTTPValidationError>( params: undefined | ListNotificationsParams, options: { query:Partial>, TError, TData>> & Pick< DefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, request?: SecondParameter} , queryClient?: QueryClient ): DefinedUseQueryResult & { queryKey: DataTag } export function useListNotifications>, TError = void | HTTPValidationError>( params?: ListNotificationsParams, options?: { query?:Partial>, TError, TData>> & Pick< UndefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, request?: SecondParameter} , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } export function useListNotifications>, TError = void | HTTPValidationError>( params?: ListNotificationsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } /** * @summary 알림 목록(+안읽음 수) */ export function useListNotifications>, TError = void | HTTPValidationError>( params?: ListNotificationsParams, options?: { query?:Partial>, TError, TData>>, request?: SecondParameter} , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } { const queryOptions = getListNotificationsQueryOptions(params,options) const query = useQuery(queryOptions, queryClient) as UseQueryResult & { queryKey: DataTag }; query.queryKey = queryOptions.queryKey ; return query; } /** * @summary 전체 읽음 처리 */ export const readAll = ( options?: SecondParameter,signal?: AbortSignal ) => { return customFetch( {url: `/v1/notification/read-all`, method: 'POST', signal }, options); } export const getReadAllMutationOptions = (options?: { mutation?:UseMutationOptions>, TError,void, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,void, TContext> => { const mutationKey = ['readAll']; 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>, void> = () => { return readAll(requestOptions) } return { mutationFn, ...mutationOptions }} export type ReadAllMutationResult = NonNullable>> export type ReadAllMutationError = void /** * @summary 전체 읽음 처리 */ export const useReadAll = (options?: { mutation?:UseMutationOptions>, TError,void, TContext>, request?: SecondParameter} , queryClient?: QueryClient): UseMutationResult< Awaited>, TError, void, TContext > => { const mutationOptions = getReadAllMutationOptions(options); return useMutation(mutationOptions, queryClient); } /** * @summary 알림 읽음 처리 */ export const readOne = ( notificationId: string, options?: SecondParameter,signal?: AbortSignal ) => { return customFetch( {url: `/v1/notification/${notificationId}/read`, method: 'POST', signal }, options); } export const getReadOneMutationOptions = (options?: { mutation?:UseMutationOptions>, TError,{notificationId: string}, TContext>, request?: SecondParameter} ): UseMutationOptions>, TError,{notificationId: string}, TContext> => { const mutationKey = ['readOne']; 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>, {notificationId: string}> = (props) => { const {notificationId} = props ?? {}; return readOne(notificationId,requestOptions) } return { mutationFn, ...mutationOptions }} export type ReadOneMutationResult = NonNullable>> export type ReadOneMutationError = void | HTTPValidationError /** * @summary 알림 읽음 처리 */ export const useReadOne = (options?: { mutation?:UseMutationOptions>, TError,{notificationId: string}, TContext>, request?: SecondParameter} , queryClient?: QueryClient): UseMutationResult< Awaited>, TError, {notificationId: string}, TContext > => { const mutationOptions = getReadOneMutationOptions(options); return useMutation(mutationOptions, queryClient); }