337 lines
11 KiB
TypeScript
337 lines
11 KiB
TypeScript
import { businessMemberInfo } from '@/entities/business-member/api/use-business-member-info-mutation';
|
|
import {
|
|
API_BASE_URL,
|
|
API_URL_KEY,
|
|
API_PARAM
|
|
} from './../constants/url';
|
|
|
|
// all api URL
|
|
export const API_URL = {
|
|
/* AUTH */
|
|
login: () => {
|
|
// AUTH-API-001
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/login`;
|
|
},
|
|
delegatedLogin: () => {
|
|
// AUTH-API-002
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/delegated-login`;
|
|
},
|
|
delegatedLoginAuthentication: () => {
|
|
// AUTH-API-003
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/delegated-login/authentication`;
|
|
},
|
|
logout: () => {
|
|
// AUTH-API-004
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/logout`;
|
|
},
|
|
refresh: () => {
|
|
// AUTH-API-005
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/refresh`;
|
|
},
|
|
verify: () => {
|
|
// AUTH-API-006
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/verify`;
|
|
},
|
|
emailSend: () => {
|
|
// AUTH-API-007
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/email/send`;
|
|
},
|
|
emailVerify: () => {
|
|
// AUTH-API-008
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/email/verify`;
|
|
},
|
|
phoneSend: () => {
|
|
// AUTH-API-009
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/phone/send`;
|
|
},
|
|
phoneVerify: () => {
|
|
// AUTH-API-010
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/phone/verify`;
|
|
},
|
|
fidoRegisterBegin: () => {
|
|
// AUTH-API-011
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/fido/register/begin`;
|
|
},
|
|
fidoRegisterComplete: () => {
|
|
// AUTH-API-012
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/fido/register/complete`;
|
|
},
|
|
fidoLoginBegin: () => {
|
|
// AUTH-API-013
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/fido/login/begin`;
|
|
},
|
|
fidoLoginComplete: () => {
|
|
// AUTH-API-014
|
|
return `${API_BASE_URL}/auth/v1/${API_URL_KEY}/fido/login/complete`;
|
|
},
|
|
|
|
/* Code Management 코드 관리 API */
|
|
codesSelect: () => {
|
|
// GET: 전체 코드 조회 (캐시)
|
|
// POST: 조건별 코드 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/codes/select`;
|
|
},
|
|
codesListByCodeCl: (codeCl: string) => {
|
|
// GET: 특정 CodelCl 코드 리스트 조회 (캐시);
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/codes/list/${codeCl}`;
|
|
},
|
|
codesGroupByCodeCl: (codeCl: string) => {
|
|
// GET: 특정 CodeCl 그룹 조회 (캐시)
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/codes/group/${codeCl}`;
|
|
},
|
|
codesCacheStatus: () => {
|
|
// GET: 캐시 상태 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/codes/cache/status`;
|
|
},
|
|
codesCacheRefresh: () => {
|
|
// POST: 전체 캐시 갱신
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/codes/cache/refresh`;
|
|
},
|
|
codesCacheRefreshByCodelCl: (codeCl: string) => {
|
|
// POST: 특정 CodeCl 캐시 갱신
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/codes/cache/refresh/${codeCl}`;
|
|
},
|
|
|
|
|
|
|
|
/* transaction Management - 거래관리 API */
|
|
allTransactionList: () => {
|
|
// POST: 거래 내역 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list`;
|
|
},
|
|
|
|
allTransactionListSummary: () => {
|
|
// POST: 거래 내역 합계 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list/summary`;
|
|
},
|
|
downloadExcel: () => {
|
|
// POST: 거래 엑셀 다운로드
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/excel`;
|
|
},
|
|
downloadConfirmation: () => {
|
|
// POST: 거래 확인서 다운로드
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/confirmation`;
|
|
},
|
|
allTransactionDetail: () => {
|
|
// POST: 거래내역 상세
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/detail`;
|
|
},
|
|
allTransactionCancel: () => {
|
|
// POST: 거래취소 요청
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel`;
|
|
},
|
|
allTransactionCancelInfo: () => {
|
|
// POST: 거래취소 정보 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel-info`;
|
|
},
|
|
|
|
|
|
/* Cash Receipt Management - 현금영수증 API */
|
|
cashReceiptList: () => {
|
|
// POST: 현금영수증 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/list`;
|
|
},
|
|
cashReceiptDetail: () => {
|
|
// POST: 현금영수증 상세 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/detail`;
|
|
},
|
|
cashReceiptPurposeUpdate: () => {
|
|
// POST: 현금영수증 용도 변경
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/purpose/update`;
|
|
},
|
|
cashReceiptManualIssue: () => {
|
|
// POST: 현금영수증 용도 변경
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/manual/issue`;
|
|
},
|
|
|
|
|
|
/* Escro Management - 에스크로 API */
|
|
escrowList: () => {
|
|
// POST: 에스크로 목록 조회
|
|
return `${API_BASE_URL}/api/v1/escrows/list`;
|
|
},
|
|
escrowDetail: () => {
|
|
// POST: 에스크로 목록 상세 조회
|
|
return `${API_BASE_URL}/api/v1/escrows/detail`;
|
|
},
|
|
escrowMailResend: () => {
|
|
// POST: 에스크로 메일 재발송
|
|
return `${API_BASE_URL}/api/v1/escrows/mail/resend`;
|
|
},
|
|
|
|
|
|
/* Billing Management - 빌링 API */
|
|
billingList: () => {
|
|
// POST: 빌링 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/billing/list`;
|
|
},
|
|
billingDetail: () => {
|
|
// POST: 빌링 상세 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/billing/detail`;
|
|
},
|
|
billingCharge: () => {
|
|
// POST: 빌링 결제 신청
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/billing/charge`;
|
|
},
|
|
|
|
settlementList: () => {
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list`;
|
|
},
|
|
|
|
businessMemberInfo: () => {
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/detail`;
|
|
},
|
|
|
|
/* User Management - 사용자 관리 API */
|
|
userExistsUserid: () => {
|
|
// 중복 사용자 ID 확인
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/user/exists/userid`;
|
|
},
|
|
userCreate: () => {
|
|
// 사용자 추가
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/user/create`;
|
|
},
|
|
|
|
/* Counsel Management - 문의상담 API */
|
|
qnaList: () => {
|
|
// POST: 1:1 문의 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/counsel/list`;
|
|
},
|
|
qnaSave: () => {
|
|
// POST: 1:1 문의 등록
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/counsel/save`;
|
|
},
|
|
|
|
/* FAQ Management - FAQ(자주 묻는 질문) API */
|
|
faqList: () => {
|
|
// POST: FAQ 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/faq/list`;
|
|
},
|
|
|
|
/* Notice Management - 공지사항 API */
|
|
noticeList: () => {
|
|
// POST: 공지사항 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/notice/list`;
|
|
},
|
|
noticeDetail: () => {
|
|
// POST: 공지사항 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/notice/detail`;
|
|
},
|
|
|
|
/* Extension Management - 부가서비스 API */
|
|
extensionSmsResend: () => {
|
|
// POST: SMS 결제 통보 > SMS 재발송
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/resend`;
|
|
},
|
|
extensionSmsList: () => {
|
|
// POST: SMS 결제 통보 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/list`;
|
|
},
|
|
extensionSmsDownloadExcel: () => {
|
|
// POST: SMS 결제 통보 엑셀 다운
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/download/excel`;
|
|
},
|
|
extensionSmsDetail: () => {
|
|
// POST: SMS 결제 통보 상세 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/detail`;
|
|
},
|
|
extensionList: () => {
|
|
// POST: 부가서비스 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/list`;
|
|
},
|
|
extensionKeyinList: () => {
|
|
// POST: KEY-IN 결제 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/keyin/list`;
|
|
},
|
|
extensionKeyinDownloadExcel: () => {
|
|
// POST: KEY-IN 결제 엑셀 다운
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/keyin/download/excel`;
|
|
},
|
|
extensionKeyinApply: () => {
|
|
// POST: KEY-IN 결제 > 결제 신청
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/keyin/apply`;
|
|
},
|
|
extensionArsResend: () => {
|
|
// POST: SMS 신용카드 ARS 결제 > SMS 재전송
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/resend`;
|
|
},
|
|
extensionArsList: () => {
|
|
// POST: 신용카드 ARS 결제 > 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/list`;
|
|
},
|
|
extensionArsDownloadExcel: () => {
|
|
// POST: 신용카드 ARS 결제 > 엑셀 다운
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/download/excel`;
|
|
},
|
|
extensionArsDetail: () => {
|
|
// POST: 신용카드 ARS 결제 > 상세 내용 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/detail`;
|
|
},
|
|
extensionArsApply: () => {
|
|
// POST: 신용카드 ARS 결제 > 결제 신청
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/apply`;
|
|
},
|
|
extensionAlimtalkSettingSave: () => {
|
|
// POST: 알림톡 결제 통보 > 서비스 설정 저장
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/setting/save`;
|
|
},
|
|
extensionAlimtalkSettingDetail: () => {
|
|
// POST: 알림톡 결제 통보 > 서비스 설정 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/setting/detail`;
|
|
},
|
|
extensionAlimtalkList: () => {
|
|
// POST: 알림톡 결제 통보 목록 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/list`;
|
|
},
|
|
extensionAlimtalkDownloadExcel: () => {
|
|
// POST: 알림톡 결제 통보 엑셀 다운
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/download/excel`;
|
|
},
|
|
extensionAlimtalkDetail: () => {
|
|
// POST: 알림톡 결제 통보 상세 조회
|
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/detail`;
|
|
},
|
|
|
|
/* Empty Token API Management - jwt 토큰이 없는 API 관리 */
|
|
emptyTokenVerifyCode: () => {
|
|
// POST: 인증 코드 검증
|
|
return `${API_BASE_URL}/api/v1/empty-token/${API_URL_KEY}/verify/code`;
|
|
},
|
|
emptyTokenFindSendCode: () => {
|
|
// POST: 인증 코드 전솔
|
|
return `${API_BASE_URL}/api/v1/empty-token/${API_URL_KEY}/find-send/code`;
|
|
},
|
|
emptyTokenChange: () => {
|
|
// POST: 비밀번호 변경
|
|
return `${API_BASE_URL}/api/v1/empty-token/${API_URL_KEY}/change`;
|
|
},
|
|
emptyTokenAddSendCode: () => {
|
|
// POST: 인증 코드 전송
|
|
return `${API_BASE_URL}/api/v1/empty-token/${API_URL_KEY}/add-send/code`;
|
|
}
|
|
|
|
};
|
|
|
|
export type API_URL_TYPE = typeof API_URL;
|
|
|
|
export const WHITE_LIST_URLS: string[] = [
|
|
API_URL.login(),
|
|
API_URL.delegatedLogin(),
|
|
API_URL.delegatedLoginAuthentication(),
|
|
API_URL.logout(),
|
|
API_URL.refresh(),
|
|
API_URL.verify(),
|
|
API_URL.emailSend(),
|
|
API_URL.emailVerify(),
|
|
API_URL.phoneSend(),
|
|
API_URL.phoneVerify(),
|
|
API_URL.fidoRegisterBegin(),
|
|
API_URL.fidoRegisterComplete(),
|
|
API_URL.fidoLoginBegin(),
|
|
API_URL.fidoLoginComplete(),
|
|
];
|
|
|
|
export const getApiPathname = (url: string) => {
|
|
return new URL(url).pathname;
|
|
};
|