삭제를 alert에서 modal로 변경

This commit is contained in:
dohyeons
2025-11-03 17:28:12 +09:00
parent 0d6b018ec4
commit 6b53cb414c
6 changed files with 380 additions and 41 deletions

View File

@@ -44,7 +44,12 @@ export async function createDepartment(companyCode: string, data: DepartmentForm
return response.data;
} catch (error: any) {
console.error("부서 생성 실패:", error);
return { success: false, error: error.message };
const isDuplicate = error.response?.status === 409;
return {
success: false,
error: error.response?.data?.message || error.message,
isDuplicate,
};
}
}
@@ -89,18 +94,39 @@ export async function getDepartmentMembers(deptCode: string) {
}
}
/**
* 사용자 검색 (부서원 추가용)
*/
export async function searchUsers(companyCode: string, search: string) {
try {
const response = await apiClient.get<{ success: boolean; data: any[] }>(
`/departments/companies/${companyCode}/users/search`,
{ params: { search } },
);
return response.data;
} catch (error: any) {
console.error("사용자 검색 실패:", error);
return { success: false, error: error.message };
}
}
/**
* 부서원 추가
*/
export async function addDepartmentMember(deptCode: string, userId: string) {
try {
const response = await apiClient.post<{ success: boolean }>(`/departments/${deptCode}/members`, {
const response = await apiClient.post<{ success: boolean; message?: string }>(`/departments/${deptCode}/members`, {
user_id: userId,
});
return response.data;
} catch (error: any) {
console.error("부서원 추가 실패:", error);
return { success: false, error: error.message };
const isDuplicate = error.response?.status === 409;
return {
success: false,
error: error.response?.data?.message || error.message,
isDuplicate,
};
}
}