From e9118560cd1ffb43b8d5c6d9120ee6a2b068eab0 Mon Sep 17 00:00:00 2001 From: dahhyeon Date: Wed, 12 Feb 2025 22:58:40 +0900 Subject: [PATCH] =?UTF-8?q?refactor:#345=20patch=20=EC=9A=94=EC=B2=AD=20?= =?UTF-8?q?=EA=B3=B5=ED=86=B5=ED=95=A8=EC=88=98=EB=A1=9C=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/admin/member/deleteUser.tsx | 1 + src/api/admin/member/patchUserManagement.tsx | 62 ++++++-------------- 2 files changed, 20 insertions(+), 43 deletions(-) diff --git a/src/api/admin/member/deleteUser.tsx b/src/api/admin/member/deleteUser.tsx index a7cab5f..5236b87 100644 --- a/src/api/admin/member/deleteUser.tsx +++ b/src/api/admin/member/deleteUser.tsx @@ -4,6 +4,7 @@ const PATH = '/api/v1/admin/users'; const BASE_URL = import.meta.env.VITE_API_URL; +// 유저 추방 const deleteUserApi = async (userId: number | number[]) => { const accessToken = localStorage.getItem('accessToken'); const userIds = Array.isArray(userId) ? userId : [userId]; diff --git a/src/api/admin/member/patchUserManagement.tsx b/src/api/admin/member/patchUserManagement.tsx index 528ec9b..4b3ff0e 100644 --- a/src/api/admin/member/patchUserManagement.tsx +++ b/src/api/admin/member/patchUserManagement.tsx @@ -1,17 +1,17 @@ import axios from 'axios'; const PATH = '/api/v1/admin/users'; - const BASE_URL = import.meta.env.VITE_API_URL; -// 비밀번호 초기화 -const resetPwdApi = async (userId: number | number[]) => { +// PATCH 공통함수 +const sendPatchRequest = async ( + endpoint: string, + params: string, + errorMessage: string, +) => { const accessToken = localStorage.getItem('accessToken'); - const userIds = Array.isArray(userId) ? userId : [userId]; - try { - const queryParam = userIds.map((id) => `userId=${id}`).join('&'); - const url = `${BASE_URL}${PATH}/reset?${queryParam}`; + const url = `${BASE_URL}${PATH}${endpoint}?${params}`; const response = await axios.patch( url, {}, @@ -23,52 +23,28 @@ const resetPwdApi = async (userId: number | number[]) => { ); return response.data; } catch (error: any) { - throw new Error(error.response?.data?.message || '비밀번호 초기화 실패'); + throw new Error(error.response?.data?.message || errorMessage); } }; +// 비밀번호 초기화 +const resetPwdApi = async (userId: number | number[]) => { + const userIds = Array.isArray(userId) ? userId : [userId]; + const queryParam = userIds.map((id) => `userId=${id}`).join('&'); + return sendPatchRequest('/reset', queryParam, '비밀번호 초기화 실패'); +}; + // 가입 신청 승인 const approveSignupApi = async (userId: number | number[]) => { - const accessToken = localStorage.getItem('accessToken'); const userIds = Array.isArray(userId) ? userId : [userId]; - - try { - const queryParam = userIds.map((id) => `userId=${id}`).join('&'); - const url = `${BASE_URL}${PATH}?${queryParam}`; - const response = await axios.patch( - url, - {}, - { - headers: { - Authorization: `Bearer ${accessToken}`, - }, - }, - ); - return response.data; - } catch (error: any) { - throw new Error(error.response?.data?.message || '가입 승인 실패'); - } + const queryParam = userIds.map((id) => `userId=${id}`).join('&'); + return sendPatchRequest('', queryParam, '가입 승인 실패'); }; // 관리자로 승격/강등 const changeUserRoleApi = async (userId: number, role: 'ADMIN' | 'USER') => { - const accessToken = localStorage.getItem('accessToken'); - - try { - const url = `${BASE_URL}${PATH}/role?userId=${userId}&role=${role}`; - const response = await axios.patch( - url, - {}, - { - headers: { - Authorization: `Bearer ${accessToken}`, - }, - }, - ); - return response.data; - } catch (error: any) { - throw new Error(error.response?.data?.message || '역할 변경 실패'); - } + const queryParam = `userId=${userId}&role=${role}`; + return sendPatchRequest('/role', queryParam, '역할 변경 실패'); }; export { resetPwdApi, approveSignupApi, changeUserRoleApi };