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 => { const response = await resultify( axios.post(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) => { const mutation = useMutation({ ...options, mutationFn: (params: ExtensionAccountHolderAuthDetailParams) => extensionAccountHolderAuthDetail(params), }); return { ...mutation, }; }