Files
nice-app-web/src/shared/api/urls.ts
focp212@naver.com bf26e9ff05 test
2025-09-16 17:40:27 +09:00

155 lines
4.4 KiB
TypeScript

import {
API_BASE_URL,
API_URL_KEY,
} 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}`;
},
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`;
},
/* 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;
};