From 4eac3f9622731637b730bf015ac6356015577fd2 Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Wed, 18 Sep 2024 18:45:46 +0900 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20error=20=EC=B2=98=EB=A6=AC=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=84=B8=EB=B6=84=ED=99=94=EB=A5=BC=20?= =?UTF-8?q?=EC=9C=84=ED=95=9C=20custom=20error=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/apis/instance.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/common/apis/instance.ts b/src/common/apis/instance.ts index 3dc78203..2fbbf17d 100644 --- a/src/common/apis/instance.ts +++ b/src/common/apis/instance.ts @@ -3,6 +3,15 @@ const baseURL = import.meta.env.VITE_BASE_URL; type StandardHeaders = 'Content-Type' | 'Authorization' | 'Accept' | 'Cache-Control' | 'User-Agent'; type RequestMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; +export class CustomError extends Error { + status: number; + + constructor(message: string, status: number) { + super(message); + this.status = status; + } +} + interface FetchOptions extends RequestInit { method?: RequestMethod; headers?: Record; @@ -18,7 +27,8 @@ const instance = async (url: string, options: FetchOptions = {}) => { }); if (!response.ok) { - throw new Error('network response가 도착하지 않았어요'); + const errMsg = await response.json(); + throw new CustomError(errMsg.userMessage, response.status); } return response.json(); From 909485054d09ad3b51e6d62a35e985733a649111 Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Wed, 18 Sep 2024 18:51:34 +0900 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20params=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/apis/instance.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/common/apis/instance.ts b/src/common/apis/instance.ts index 2fbbf17d..c6f7851f 100644 --- a/src/common/apis/instance.ts +++ b/src/common/apis/instance.ts @@ -12,18 +12,24 @@ export class CustomError extends Error { } } -interface FetchOptions extends RequestInit { +interface FetchOptions extends Omit { method?: RequestMethod; headers?: Record; + body?: Record; + params?: Record; } const instance = async (url: string, options: FetchOptions = {}) => { - const response = await fetch(`${baseURL}${url}`, { + const { body, params, headers, ...rest } = options; + const urlWithParams = params ? `${url}?${new URLSearchParams(params).toString()}` : url; + + const response = await fetch(`${baseURL}${urlWithParams}`, { headers: { 'Content-Type': 'application/json', - ...options.headers, + ...headers, }, - ...options, + body: JSON.stringify(body), + ...rest, }); if (!response.ok) { From f8c47af092c62fcf9bfb153e9d19e8759e47ece7 Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Wed, 18 Sep 2024 18:54:13 +0900 Subject: [PATCH 3/5] =?UTF-8?q?feat:=20form=20data=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/apis/instance.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/common/apis/instance.ts b/src/common/apis/instance.ts index c6f7851f..da61a3eb 100644 --- a/src/common/apis/instance.ts +++ b/src/common/apis/instance.ts @@ -14,21 +14,23 @@ export class CustomError extends Error { interface FetchOptions extends Omit { method?: RequestMethod; - headers?: Record; + headers?: Partial>; body?: Record; params?: Record; } const instance = async (url: string, options: FetchOptions = {}) => { - const { body, params, headers, ...rest } = options; + const { body, params, headers = {}, ...rest } = options; const urlWithParams = params ? `${url}?${new URLSearchParams(params).toString()}` : url; + const isFormData = body instanceof FormData; + + if (!isFormData) { + headers['Content-Type'] = 'application/json'; + } const response = await fetch(`${baseURL}${urlWithParams}`, { - headers: { - 'Content-Type': 'application/json', - ...headers, - }, - body: JSON.stringify(body), + headers, + body: isFormData ? body : JSON.stringify(body), ...rest, }); From a27f858facd8628cc4bf2116083d81ad9d4db68f Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Wed, 18 Sep 2024 19:07:49 +0900 Subject: [PATCH 4/5] =?UTF-8?q?refactor:=20instance=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/components/Input/apis.ts | 12 ++++++------ .../components/Input/hooks/useMutateCheckCode.tsx | 9 ++++----- .../components/Input/hooks/useMutateCheckUser.tsx | 9 ++++----- .../components/Input/hooks/useMutateSendCode.tsx | 9 ++++----- src/common/hooks/useDate.tsx | 4 ++-- src/common/hooks/useGetRecruitingInfo.tsx | 10 ++-------- src/views/PasswordPage/apis.ts | 4 ++-- .../PasswordPage/hooks/useMutateChangePassword.tsx | 7 +++---- src/views/SignInPage/apis.ts | 4 ++-- src/views/SignInPage/hooks/useMutateSignIn.tsx | 13 ++++--------- src/views/SignupPage/apis.ts | 4 ++-- src/views/SignupPage/hooks/useMutateSignUp.tsx | 11 +++-------- 12 files changed, 38 insertions(+), 58 deletions(-) diff --git a/src/common/components/Input/apis.ts b/src/common/components/Input/apis.ts index 67730417..5b12a046 100644 --- a/src/common/components/Input/apis.ts +++ b/src/common/components/Input/apis.ts @@ -6,12 +6,12 @@ export const checkUser = async (userInfo: CheckUserRequest) => { const { email, name, season, group } = userInfo; const res = await instance('/recruiting-auth/check/user', { method: 'POST', - body: JSON.stringify({ + body: { email, name, season, group, - }), + }, }); return res; @@ -20,12 +20,12 @@ export const checkUser = async (userInfo: CheckUserRequest) => { export const sendVerificationCode = async (email: string, season: number, group: string, isSignup: boolean) => { const res = await instance('/recruiting-auth/verify/send', { method: 'POST', - body: JSON.stringify({ + body: { email, season, group, isSignup, - }), + }, }); return res; @@ -34,10 +34,10 @@ export const sendVerificationCode = async (email: string, season: number, group: export const checkVerificationCode = async (email: string, code: string) => { const res = await instance('/recruiting-auth/verify/email', { method: 'POST', - body: JSON.stringify({ + body: { email, code, - }), + }, }); return res; diff --git a/src/common/components/Input/hooks/useMutateCheckCode.tsx b/src/common/components/Input/hooks/useMutateCheckCode.tsx index 9864c0f1..defc62be 100644 --- a/src/common/components/Input/hooks/useMutateCheckCode.tsx +++ b/src/common/components/Input/hooks/useMutateCheckCode.tsx @@ -6,8 +6,7 @@ import { VALIDATION_CHECK } from '@constants/validationCheck'; import { checkVerificationCode } from '../apis'; import type { CheckVerificationCodeRequest, EmailResponse } from '../types'; -import type { ErrorResponse } from '@type/errorResponse'; -import type { AxiosError, AxiosResponse } from 'axios'; +import type { CustomError } from '@apis/instance'; interface MutateCheckCodeProps { onSuccess: () => void; @@ -17,14 +16,14 @@ const useMutateCheckCode = ({ onSuccess }: MutateCheckCodeProps) => { const { setError } = useFormContext(); const { mutate: checkVerificationCodeMutate, isPending: checkVerificationCodeIsPending } = useMutation< - AxiosResponse, - AxiosError, + EmailResponse, + CustomError, CheckVerificationCodeRequest >({ mutationFn: ({ email, code }: CheckVerificationCodeRequest) => checkVerificationCode(email, code), onSuccess, onError(error) { - if (error.response?.status === 400) { + if (error.status === 400) { setError('code', { type: 'not-match', message: VALIDATION_CHECK.verificationCode.errorText, diff --git a/src/common/components/Input/hooks/useMutateCheckUser.tsx b/src/common/components/Input/hooks/useMutateCheckUser.tsx index 63bde7a2..4831269e 100644 --- a/src/common/components/Input/hooks/useMutateCheckUser.tsx +++ b/src/common/components/Input/hooks/useMutateCheckUser.tsx @@ -6,8 +6,7 @@ import { VALIDATION_CHECK } from '@constants/validationCheck'; import { checkUser } from '../apis'; import type { CheckUserRequest, EmailResponse } from '../types'; -import type { ErrorResponse } from '@type/errorResponse'; -import type { AxiosError, AxiosResponse } from 'axios'; +import type { CustomError } from '@apis/instance'; interface MutateCheckUserProps { onSendCode: () => void; @@ -17,8 +16,8 @@ const useMutateCheckUser = ({ onSendCode }: MutateCheckUserProps) => { const { clearErrors, setError } = useFormContext(); const { mutate: checkUserMutate, isPending: checkUserIsPending } = useMutation< - AxiosResponse, - AxiosError, + EmailResponse, + CustomError, CheckUserRequest >({ mutationFn: (userInfo: CheckUserRequest) => checkUser(userInfo), @@ -27,7 +26,7 @@ const useMutateCheckUser = ({ onSendCode }: MutateCheckUserProps) => { onSendCode(); }, onError: (error) => { - if (error.response?.status === 400 || error.response?.status === 403) { + if (error.status === 400 || error.status === 403) { setError('name', { type: 'non-existence', message: VALIDATION_CHECK.name.errorTextNonexistence, diff --git a/src/common/components/Input/hooks/useMutateSendCode.tsx b/src/common/components/Input/hooks/useMutateSendCode.tsx index bc976dbe..4fec0571 100644 --- a/src/common/components/Input/hooks/useMutateSendCode.tsx +++ b/src/common/components/Input/hooks/useMutateSendCode.tsx @@ -6,8 +6,7 @@ import { VALIDATION_CHECK } from '@constants/validationCheck'; import { sendVerificationCode } from '../apis'; import type { EmailResponse, SendVerificationCodeRequest } from '../types'; -import type { ErrorResponse } from '@type/errorResponse'; -import type { AxiosError, AxiosResponse } from 'axios'; +import type { CustomError } from '@apis/instance'; interface MutateSendCodeProps { onChangeVerification: (bool: boolean) => void; @@ -18,8 +17,8 @@ const useMutateSendCode = ({ onChangeVerification, onSetTimer }: MutateSendCodeP const { setError } = useFormContext(); const { mutate: sendVerificationCodeMutate, isPending: sendVerificationCodeIsPending } = useMutation< - AxiosResponse, - AxiosError, + EmailResponse, + CustomError, SendVerificationCodeRequest >({ mutationFn: ({ email, season, group, isSignup }: SendVerificationCodeRequest) => @@ -29,7 +28,7 @@ const useMutateSendCode = ({ onChangeVerification, onSetTimer }: MutateSendCodeP onSetTimer(); }, onError: (error) => { - if (error.response?.status === 400 || error.response?.status === 403) { + if (error.status === 400 || error.status === 403) { setError('email', { type: 'already-existence', message: VALIDATION_CHECK.email.errorTextExistence, diff --git a/src/common/hooks/useDate.tsx b/src/common/hooks/useDate.tsx index 88245903..bef80380 100644 --- a/src/common/hooks/useDate.tsx +++ b/src/common/hooks/useDate.tsx @@ -35,7 +35,7 @@ const useDate = () => { obInterviewStart, ybInterviewEnd, obInterviewEnd, - } = data?.data.season || {}; + } = data?.season || {}; const applicationStart = group === 'YB' ? ybApplicationStart : obApplicationStart; // 서류 시작 const applicationEnd = group === 'YB' ? ybApplicationEnd : obApplicationEnd; // 서류 마감 @@ -98,7 +98,7 @@ const useDate = () => { ]); return { - ...data?.data.season, + ...data?.season, NoMoreRecruit, NoMoreApply, NoMoreScreeningResult, diff --git a/src/common/hooks/useGetRecruitingInfo.tsx b/src/common/hooks/useGetRecruitingInfo.tsx index 27d58d27..3f8d759f 100644 --- a/src/common/hooks/useGetRecruitingInfo.tsx +++ b/src/common/hooks/useGetRecruitingInfo.tsx @@ -2,17 +2,11 @@ import { useQuery } from '@tanstack/react-query'; import { getRecruitingInfo } from '@apis/getRecruitingInfo'; -import type { ErrorResponse } from '@type/errorResponse'; import type { RecruitingResponse } from '@type/recruitingInfo'; -import type { AxiosError, AxiosResponse } from 'axios'; +import type { CustomError } from '@apis/instance'; const useGetRecruitingInfo = () => { - const { data, isLoading } = useQuery< - AxiosResponse, - AxiosError, - AxiosResponse, - string[] - >({ + const { data, isLoading } = useQuery({ queryKey: ['get-recruiting-info'], queryFn: getRecruitingInfo, }); diff --git a/src/views/PasswordPage/apis.ts b/src/views/PasswordPage/apis.ts index df138c15..a2f4a49b 100644 --- a/src/views/PasswordPage/apis.ts +++ b/src/views/PasswordPage/apis.ts @@ -6,13 +6,13 @@ export const sendPasswordChange = async (userInfo: PasswordRequest) => { const { email, season, group, password, passwordCheck } = userInfo; const res = await instance('/recruiting-auth/change/password', { method: 'POST', - body: JSON.stringify({ + body: { email, season, group, password, passwordCheck, - }), + }, }); return res; diff --git a/src/views/PasswordPage/hooks/useMutateChangePassword.tsx b/src/views/PasswordPage/hooks/useMutateChangePassword.tsx index ccc00950..7db3f476 100644 --- a/src/views/PasswordPage/hooks/useMutateChangePassword.tsx +++ b/src/views/PasswordPage/hooks/useMutateChangePassword.tsx @@ -1,10 +1,9 @@ import { useMutation } from '@tanstack/react-query'; -import { AxiosError, AxiosResponse } from 'axios'; import { sendPasswordChange } from '../apis'; import type { PasswordRequest, PasswordResponse } from '../types'; -import type { ErrorResponse } from '@type/errorResponse'; +import type { CustomError } from '@apis/instance'; interface MutateChangePasswordProps { onSuccess: () => void; @@ -12,8 +11,8 @@ interface MutateChangePasswordProps { const useMutateChangePassword = ({ onSuccess }: MutateChangePasswordProps) => { const { mutate: changePasswordMutate, isPending: changePasswordIsPending } = useMutation< - AxiosResponse, - AxiosError, + PasswordResponse, + CustomError, PasswordRequest >({ mutationFn: (userInfo: PasswordRequest) => sendPasswordChange(userInfo), diff --git a/src/views/SignInPage/apis.ts b/src/views/SignInPage/apis.ts index 0cf22390..990802dc 100644 --- a/src/views/SignInPage/apis.ts +++ b/src/views/SignInPage/apis.ts @@ -6,12 +6,12 @@ export const sendSignIn = async (userInfo: SignInRequest) => { const { email, season, group, password } = userInfo; const res = await instance('/recruiting-auth/login', { method: 'POST', - body: JSON.stringify({ + body: { email, season, group, password, - }), + }, }); return res; diff --git a/src/views/SignInPage/hooks/useMutateSignIn.tsx b/src/views/SignInPage/hooks/useMutateSignIn.tsx index 85351fe4..b0b2b361 100644 --- a/src/views/SignInPage/hooks/useMutateSignIn.tsx +++ b/src/views/SignInPage/hooks/useMutateSignIn.tsx @@ -6,8 +6,7 @@ import { VALIDATION_CHECK } from '@constants/validationCheck'; import { sendSignIn } from '../apis'; import type { SignInRequest, SignInResponse } from '../types'; -import type { ErrorResponse } from '@type/errorResponse'; -import type { AxiosError, AxiosResponse } from 'axios'; +import type { CustomError } from '@apis/instance'; interface MutateSignInProps { finalPassConfirmEnd?: string; @@ -15,20 +14,16 @@ interface MutateSignInProps { } const useMutateSignIn = ({ finalPassConfirmEnd, onSetError }: MutateSignInProps) => { - const { mutate: signInMutate, isPending: signInIsPending } = useMutation< - AxiosResponse, - AxiosError, - SignInRequest - >({ + const { mutate: signInMutate, isPending: signInIsPending } = useMutation({ mutationFn: (userInfo: SignInRequest) => sendSignIn(userInfo), - onSuccess: ({ data: { email, token } }) => { + onSuccess: ({ email, token }) => { setUserId(email); localStorage.setItem('soptApplyAccessToken', token); localStorage.setItem('soptApplyAccessTokenExpiredTime', finalPassConfirmEnd || ''); window.location.reload(); }, onError(error) { - if (error.response?.status === 403) { + if (error.status === 403) { onSetError('email', 'not-match', VALIDATION_CHECK.email.notMatchErrorText); onSetError('password', 'not-match', VALIDATION_CHECK.password.notMatchErrorText); } diff --git a/src/views/SignupPage/apis.ts b/src/views/SignupPage/apis.ts index fa38bde1..ad550f26 100644 --- a/src/views/SignupPage/apis.ts +++ b/src/views/SignupPage/apis.ts @@ -6,7 +6,7 @@ export const sendSignUp = async (userInfo: SignUpRequest) => { const { email, password, passwordCheck, name, phone, season, group } = userInfo; const res = await instance('/recruiting-auth/signup', { method: 'POST', - body: JSON.stringify({ + body: { email, password, passwordCheck, @@ -14,7 +14,7 @@ export const sendSignUp = async (userInfo: SignUpRequest) => { phone, season, group, - }), + }, }); return res; diff --git a/src/views/SignupPage/hooks/useMutateSignUp.tsx b/src/views/SignupPage/hooks/useMutateSignUp.tsx index 0fc547dd..d7186e84 100644 --- a/src/views/SignupPage/hooks/useMutateSignUp.tsx +++ b/src/views/SignupPage/hooks/useMutateSignUp.tsx @@ -5,8 +5,7 @@ import { useNavigate } from 'react-router-dom'; import { sendSignUp } from '../apis'; import type { SignUpRequest, SignUpResponse } from '../types'; -import type { ErrorResponse } from '@type/errorResponse'; -import type { AxiosError, AxiosResponse } from 'axios'; +import type { CustomError } from '@apis/instance'; interface MutateSignUpProps { onCheckExistence: () => void; @@ -15,18 +14,14 @@ interface MutateSignUpProps { const useMutateSignUp = ({ onCheckExistence }: MutateSignUpProps) => { const navigate = useNavigate(); - const { mutate: signUpMutate, isPending: signUpIsPending } = useMutation< - AxiosResponse, - AxiosError, - SignUpRequest - >({ + const { mutate: signUpMutate, isPending: signUpIsPending } = useMutation({ mutationFn: (userInfo: SignUpRequest) => sendSignUp(userInfo), onSuccess: () => { track('done-signup-apply'); navigate('/'); }, onError: (error) => { - if (error.response?.status === 400) { + if (error.status === 400) { onCheckExistence(); } }, From 8902b84b2c2ef51a0a76e54aed2750d53c00405c Mon Sep 17 00:00:00 2001 From: Jeon Eonseok Date: Wed, 25 Sep 2024 09:34:22 +0900 Subject: [PATCH 5/5] =?UTF-8?q?chore:=20fetcher=EB=A1=9C=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/apis/{instance.ts => fetcher.ts} | 4 ++-- src/common/apis/getRecruitingInfo.ts | 4 ++-- src/common/components/Input/apis.ts | 8 ++++---- src/common/components/Input/hooks/useMutateCheckCode.tsx | 2 +- src/common/components/Input/hooks/useMutateCheckUser.tsx | 2 +- src/common/components/Input/hooks/useMutateSendCode.tsx | 2 +- src/common/hooks/useGetRecruitingInfo.tsx | 2 +- src/views/PasswordPage/apis.ts | 4 ++-- src/views/PasswordPage/hooks/useMutateChangePassword.tsx | 2 +- src/views/SignInPage/apis.ts | 4 ++-- src/views/SignInPage/hooks/useMutateSignIn.tsx | 2 +- src/views/SignupPage/apis.ts | 4 ++-- src/views/SignupPage/hooks/useMutateSignUp.tsx | 2 +- 13 files changed, 21 insertions(+), 21 deletions(-) rename src/common/apis/{instance.ts => fetcher.ts} (92%) diff --git a/src/common/apis/instance.ts b/src/common/apis/fetcher.ts similarity index 92% rename from src/common/apis/instance.ts rename to src/common/apis/fetcher.ts index da61a3eb..154c8536 100644 --- a/src/common/apis/instance.ts +++ b/src/common/apis/fetcher.ts @@ -19,7 +19,7 @@ interface FetchOptions extends Omit { params?: Record; } -const instance = async (url: string, options: FetchOptions = {}) => { +const fetcher = async (url: string, options: FetchOptions = {}) => { const { body, params, headers = {}, ...rest } = options; const urlWithParams = params ? `${url}?${new URLSearchParams(params).toString()}` : url; const isFormData = body instanceof FormData; @@ -42,4 +42,4 @@ const instance = async (url: string, options: FetchOptions = {}) => { return response.json(); }; -export default instance; +export default fetcher; diff --git a/src/common/apis/getRecruitingInfo.ts b/src/common/apis/getRecruitingInfo.ts index ad2ed290..d62c84b6 100644 --- a/src/common/apis/getRecruitingInfo.ts +++ b/src/common/apis/getRecruitingInfo.ts @@ -1,7 +1,7 @@ -import instance from '@apis/instance'; +import fetcher from '@apis/fetcher'; export const getRecruitingInfo = async () => { - const res = await instance('/recruiting-season/latest', { method: 'GET' }); + const res = await fetcher('/recruiting-season/latest', { method: 'GET' }); return res; }; diff --git a/src/common/components/Input/apis.ts b/src/common/components/Input/apis.ts index 5b12a046..d8f63a0e 100644 --- a/src/common/components/Input/apis.ts +++ b/src/common/components/Input/apis.ts @@ -1,10 +1,10 @@ -import instance from '@apis/instance'; +import fetcher from '@apis/fetcher'; import { CheckUserRequest } from './types'; export const checkUser = async (userInfo: CheckUserRequest) => { const { email, name, season, group } = userInfo; - const res = await instance('/recruiting-auth/check/user', { + const res = await fetcher('/recruiting-auth/check/user', { method: 'POST', body: { email, @@ -18,7 +18,7 @@ export const checkUser = async (userInfo: CheckUserRequest) => { }; export const sendVerificationCode = async (email: string, season: number, group: string, isSignup: boolean) => { - const res = await instance('/recruiting-auth/verify/send', { + const res = await fetcher('/recruiting-auth/verify/send', { method: 'POST', body: { email, @@ -32,7 +32,7 @@ export const sendVerificationCode = async (email: string, season: number, group: }; export const checkVerificationCode = async (email: string, code: string) => { - const res = await instance('/recruiting-auth/verify/email', { + const res = await fetcher('/recruiting-auth/verify/email', { method: 'POST', body: { email, diff --git a/src/common/components/Input/hooks/useMutateCheckCode.tsx b/src/common/components/Input/hooks/useMutateCheckCode.tsx index defc62be..39759789 100644 --- a/src/common/components/Input/hooks/useMutateCheckCode.tsx +++ b/src/common/components/Input/hooks/useMutateCheckCode.tsx @@ -6,7 +6,7 @@ import { VALIDATION_CHECK } from '@constants/validationCheck'; import { checkVerificationCode } from '../apis'; import type { CheckVerificationCodeRequest, EmailResponse } from '../types'; -import type { CustomError } from '@apis/instance'; +import type { CustomError } from '@apis/fetcher'; interface MutateCheckCodeProps { onSuccess: () => void; diff --git a/src/common/components/Input/hooks/useMutateCheckUser.tsx b/src/common/components/Input/hooks/useMutateCheckUser.tsx index 4831269e..b4a2ecf2 100644 --- a/src/common/components/Input/hooks/useMutateCheckUser.tsx +++ b/src/common/components/Input/hooks/useMutateCheckUser.tsx @@ -6,7 +6,7 @@ import { VALIDATION_CHECK } from '@constants/validationCheck'; import { checkUser } from '../apis'; import type { CheckUserRequest, EmailResponse } from '../types'; -import type { CustomError } from '@apis/instance'; +import type { CustomError } from '@apis/fetcher'; interface MutateCheckUserProps { onSendCode: () => void; diff --git a/src/common/components/Input/hooks/useMutateSendCode.tsx b/src/common/components/Input/hooks/useMutateSendCode.tsx index 4fec0571..1ab3d9f1 100644 --- a/src/common/components/Input/hooks/useMutateSendCode.tsx +++ b/src/common/components/Input/hooks/useMutateSendCode.tsx @@ -6,7 +6,7 @@ import { VALIDATION_CHECK } from '@constants/validationCheck'; import { sendVerificationCode } from '../apis'; import type { EmailResponse, SendVerificationCodeRequest } from '../types'; -import type { CustomError } from '@apis/instance'; +import type { CustomError } from '@apis/fetcher'; interface MutateSendCodeProps { onChangeVerification: (bool: boolean) => void; diff --git a/src/common/hooks/useGetRecruitingInfo.tsx b/src/common/hooks/useGetRecruitingInfo.tsx index 3f8d759f..256aba58 100644 --- a/src/common/hooks/useGetRecruitingInfo.tsx +++ b/src/common/hooks/useGetRecruitingInfo.tsx @@ -3,7 +3,7 @@ import { useQuery } from '@tanstack/react-query'; import { getRecruitingInfo } from '@apis/getRecruitingInfo'; import type { RecruitingResponse } from '@type/recruitingInfo'; -import type { CustomError } from '@apis/instance'; +import type { CustomError } from '@apis/fetcher'; const useGetRecruitingInfo = () => { const { data, isLoading } = useQuery({ diff --git a/src/views/PasswordPage/apis.ts b/src/views/PasswordPage/apis.ts index a2f4a49b..31044164 100644 --- a/src/views/PasswordPage/apis.ts +++ b/src/views/PasswordPage/apis.ts @@ -1,10 +1,10 @@ -import instance from '@apis/instance'; +import fetcher from '@apis/fetcher'; import type { PasswordRequest } from './types'; export const sendPasswordChange = async (userInfo: PasswordRequest) => { const { email, season, group, password, passwordCheck } = userInfo; - const res = await instance('/recruiting-auth/change/password', { + const res = await fetcher('/recruiting-auth/change/password', { method: 'POST', body: { email, diff --git a/src/views/PasswordPage/hooks/useMutateChangePassword.tsx b/src/views/PasswordPage/hooks/useMutateChangePassword.tsx index 7db3f476..54387ada 100644 --- a/src/views/PasswordPage/hooks/useMutateChangePassword.tsx +++ b/src/views/PasswordPage/hooks/useMutateChangePassword.tsx @@ -3,7 +3,7 @@ import { useMutation } from '@tanstack/react-query'; import { sendPasswordChange } from '../apis'; import type { PasswordRequest, PasswordResponse } from '../types'; -import type { CustomError } from '@apis/instance'; +import type { CustomError } from '@apis/fetcher'; interface MutateChangePasswordProps { onSuccess: () => void; diff --git a/src/views/SignInPage/apis.ts b/src/views/SignInPage/apis.ts index 990802dc..655da4e6 100644 --- a/src/views/SignInPage/apis.ts +++ b/src/views/SignInPage/apis.ts @@ -1,10 +1,10 @@ -import instance from '@apis/instance'; +import fetcher from '@apis/fetcher'; import type { SignInRequest } from './types'; export const sendSignIn = async (userInfo: SignInRequest) => { const { email, season, group, password } = userInfo; - const res = await instance('/recruiting-auth/login', { + const res = await fetcher('/recruiting-auth/login', { method: 'POST', body: { email, diff --git a/src/views/SignInPage/hooks/useMutateSignIn.tsx b/src/views/SignInPage/hooks/useMutateSignIn.tsx index b0b2b361..4f2b5ccc 100644 --- a/src/views/SignInPage/hooks/useMutateSignIn.tsx +++ b/src/views/SignInPage/hooks/useMutateSignIn.tsx @@ -6,7 +6,7 @@ import { VALIDATION_CHECK } from '@constants/validationCheck'; import { sendSignIn } from '../apis'; import type { SignInRequest, SignInResponse } from '../types'; -import type { CustomError } from '@apis/instance'; +import type { CustomError } from '@apis/fetcher'; interface MutateSignInProps { finalPassConfirmEnd?: string; diff --git a/src/views/SignupPage/apis.ts b/src/views/SignupPage/apis.ts index ad550f26..9803c327 100644 --- a/src/views/SignupPage/apis.ts +++ b/src/views/SignupPage/apis.ts @@ -1,10 +1,10 @@ -import instance from '@apis/instance'; +import fetcher from '@apis/fetcher'; import type { SignUpRequest } from './types'; export const sendSignUp = async (userInfo: SignUpRequest) => { const { email, password, passwordCheck, name, phone, season, group } = userInfo; - const res = await instance('/recruiting-auth/signup', { + const res = await fetcher('/recruiting-auth/signup', { method: 'POST', body: { email, diff --git a/src/views/SignupPage/hooks/useMutateSignUp.tsx b/src/views/SignupPage/hooks/useMutateSignUp.tsx index d7186e84..b42d9aae 100644 --- a/src/views/SignupPage/hooks/useMutateSignUp.tsx +++ b/src/views/SignupPage/hooks/useMutateSignUp.tsx @@ -5,7 +5,7 @@ import { useNavigate } from 'react-router-dom'; import { sendSignUp } from '../apis'; import type { SignUpRequest, SignUpResponse } from '../types'; -import type { CustomError } from '@apis/instance'; +import type { CustomError } from '@apis/fetcher'; interface MutateSignUpProps { onCheckExistence: () => void;