/** * 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, ReqCreateQuotationSetting, ReqUpdateQuotationSetting, ResDeleteQuotationSetting, ResQuotationSetting, ResQuotationSettingList, } from ".././model"; import { customFetch } from "../../mutator/custom-fetch"; /** * @summary 견적 설정 목록 */ export const listSettings = (signal?: AbortSignal) => { return customFetch({ url: `/v1/quotation-setting/list`, method: "GET", signal, }); }; export const getListSettingsQueryKey = () => { return [`/v1/quotation-setting/list`] as const; }; export const getListSettingsQueryOptions = < TData = Awaited>, TError = void, >(options?: { query?: Partial< UseQueryOptions>, TError, TData> >; }) => { const { query: queryOptions } = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListSettingsQueryKey(); const queryFn: QueryFunction>> = ({ signal, }) => listSettings(signal); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< Awaited>, TError, TData > & { queryKey: DataTag }; }; export type ListSettingsQueryResult = NonNullable< Awaited> >; export type ListSettingsQueryError = void; export function useListSettings< TData = Awaited>, TError = void, >( options: { query: Partial< UseQueryOptions>, TError, TData> > & Pick< DefinedInitialDataOptions< Awaited>, TError, Awaited> >, "initialData" >; }, queryClient?: QueryClient, ): DefinedUseQueryResult & { queryKey: DataTag; }; export function useListSettings< TData = Awaited>, TError = void, >( options?: { query?: Partial< UseQueryOptions>, TError, TData> > & Pick< UndefinedInitialDataOptions< Awaited>, TError, Awaited> >, "initialData" >; }, queryClient?: QueryClient, ): UseQueryResult & { queryKey: DataTag; }; export function useListSettings< TData = Awaited>, TError = void, >( options?: { query?: Partial< UseQueryOptions>, TError, TData> >; }, queryClient?: QueryClient, ): UseQueryResult & { queryKey: DataTag; }; /** * @summary 견적 설정 목록 */ export function useListSettings< TData = Awaited>, TError = void, >( options?: { query?: Partial< UseQueryOptions>, TError, TData> >; }, queryClient?: QueryClient, ): UseQueryResult & { queryKey: DataTag; } { const queryOptions = getListSettingsQueryOptions(options); const query = useQuery(queryOptions, queryClient) as UseQueryResult< TData, TError > & { queryKey: DataTag }; query.queryKey = queryOptions.queryKey; return query; } /** * @summary 견적 설정 등록 */ export const createSetting = ( reqCreateQuotationSetting: ReqCreateQuotationSetting, signal?: AbortSignal, ) => { return customFetch({ url: `/v1/quotation-setting/create`, method: "POST", headers: { "Content-Type": "application/json" }, data: reqCreateQuotationSetting, signal, }); }; export const getCreateSettingMutationOptions = < TError = void | HTTPValidationError, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited>, TError, { data: ReqCreateQuotationSetting }, TContext >; }): UseMutationOptions< Awaited>, TError, { data: ReqCreateQuotationSetting }, TContext > => { const mutationKey = ["createSetting"]; const { mutation: mutationOptions } = options ? options.mutation && "mutationKey" in options.mutation && options.mutation.mutationKey ? options : { ...options, mutation: { ...options.mutation, mutationKey } } : { mutation: { mutationKey } }; const mutationFn: MutationFunction< Awaited>, { data: ReqCreateQuotationSetting } > = (props) => { const { data } = props ?? {}; return createSetting(data); }; return { mutationFn, ...mutationOptions }; }; export type CreateSettingMutationResult = NonNullable< Awaited> >; export type CreateSettingMutationBody = ReqCreateQuotationSetting; export type CreateSettingMutationError = void | HTTPValidationError; /** * @summary 견적 설정 등록 */ export const useCreateSetting = < TError = void | HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< Awaited>, TError, { data: ReqCreateQuotationSetting }, TContext >; }, queryClient?: QueryClient, ): UseMutationResult< Awaited>, TError, { data: ReqCreateQuotationSetting }, TContext > => { const mutationOptions = getCreateSettingMutationOptions(options); return useMutation(mutationOptions, queryClient); }; /** * @summary 견적 설정 수정 */ export const updateSetting = ( qtSettingId: string, reqUpdateQuotationSetting: ReqUpdateQuotationSetting, ) => { return customFetch({ url: `/v1/quotation-setting/update/${qtSettingId}`, method: "PATCH", headers: { "Content-Type": "application/json" }, data: reqUpdateQuotationSetting, }); }; export const getUpdateSettingMutationOptions = < TError = void | HTTPValidationError, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited>, TError, { qtSettingId: string; data: ReqUpdateQuotationSetting }, TContext >; }): UseMutationOptions< Awaited>, TError, { qtSettingId: string; data: ReqUpdateQuotationSetting }, TContext > => { const mutationKey = ["updateSetting"]; const { mutation: mutationOptions } = options ? options.mutation && "mutationKey" in options.mutation && options.mutation.mutationKey ? options : { ...options, mutation: { ...options.mutation, mutationKey } } : { mutation: { mutationKey } }; const mutationFn: MutationFunction< Awaited>, { qtSettingId: string; data: ReqUpdateQuotationSetting } > = (props) => { const { qtSettingId, data } = props ?? {}; return updateSetting(qtSettingId, data); }; return { mutationFn, ...mutationOptions }; }; export type UpdateSettingMutationResult = NonNullable< Awaited> >; export type UpdateSettingMutationBody = ReqUpdateQuotationSetting; export type UpdateSettingMutationError = void | HTTPValidationError; /** * @summary 견적 설정 수정 */ export const useUpdateSetting = < TError = void | HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< Awaited>, TError, { qtSettingId: string; data: ReqUpdateQuotationSetting }, TContext >; }, queryClient?: QueryClient, ): UseMutationResult< Awaited>, TError, { qtSettingId: string; data: ReqUpdateQuotationSetting }, TContext > => { const mutationOptions = getUpdateSettingMutationOptions(options); return useMutation(mutationOptions, queryClient); }; /** * @summary 견적 설정 삭제 */ export const deleteSetting = (qtSettingId: string) => { return customFetch({ url: `/v1/quotation-setting/delete/${qtSettingId}`, method: "DELETE", }); }; export const getDeleteSettingMutationOptions = < TError = void | HTTPValidationError, TContext = unknown, >(options?: { mutation?: UseMutationOptions< Awaited>, TError, { qtSettingId: string }, TContext >; }): UseMutationOptions< Awaited>, TError, { qtSettingId: string }, TContext > => { const mutationKey = ["deleteSetting"]; const { mutation: mutationOptions } = options ? options.mutation && "mutationKey" in options.mutation && options.mutation.mutationKey ? options : { ...options, mutation: { ...options.mutation, mutationKey } } : { mutation: { mutationKey } }; const mutationFn: MutationFunction< Awaited>, { qtSettingId: string } > = (props) => { const { qtSettingId } = props ?? {}; return deleteSetting(qtSettingId); }; return { mutationFn, ...mutationOptions }; }; export type DeleteSettingMutationResult = NonNullable< Awaited> >; export type DeleteSettingMutationError = void | HTTPValidationError; /** * @summary 견적 설정 삭제 */ export const useDeleteSetting = < TError = void | HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< Awaited>, TError, { qtSettingId: string }, TContext >; }, queryClient?: QueryClient, ): UseMutationResult< Awaited>, TError, { qtSettingId: string }, TContext > => { const mutationOptions = getDeleteSettingMutationOptions(options); return useMutation(mutationOptions, queryClient); };