Files
nice-app-web/src/entities/additional-service/api/account-holder-auth/use-extension-account-holder-auth-deatil-mutation.ts
HyeonJongKim 9e5eaf69a0 - 부가서비스 types 분류
- 자금이체 목록 조회 Request Parameter 수정
2025-10-16 17:29:44 +09:00

51 lines
2.0 KiB
TypeScript

import axios from 'axios';
import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
DetailResponse,
TitleInfo,
DetailInfo
} from '../../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
import { ExtensionAccountHolderAuthDetailParams, ExtensionAccountHolderAuthDetailResponse } from '../../model/account-holder-auth/types';
export const extensionAccountHolderAuthDetail = async (params: ExtensionAccountHolderAuthDetailParams): Promise<DetailResponse> => {
const response = await resultify(
axios.post<ExtensionAccountHolderAuthDetailResponse>(API_URL_ADDITIONAL_SERVICE.extensionAccountHolderAuthDetail(), params),
);
const detailResponse: DetailResponse = {
titleInfo: {
accountName: response.accountName,
accountNo: response.accountNo,
scheduledSendDate: response.requestDate //추후 발송예정일자로 수정
} as TitleInfo,
detailInfo: {
companyName: response.companyName,
mid: response.mid,
requestDate: response.requestDate,
bankName: response.bankName,
accountNo: response.accountNo,
accountName: response.accountName,
transferStatus: response.transferStatus,
failureReason: response.failReason,
} as DetailInfo
};
return detailResponse;
};
export const useExtensionAccountHolderAuthDetailMutation = (options?: UseMutationOptions<DetailResponse, CBDCAxiosError, ExtensionAccountHolderAuthDetailParams>) => {
const mutation = useMutation<DetailResponse, CBDCAxiosError, ExtensionAccountHolderAuthDetailParams>({
...options,
mutationFn: (params: ExtensionAccountHolderAuthDetailParams) => extensionAccountHolderAuthDetail(params),
});
return {
...mutation,
};
}