우측 패널 일괄삭제 기능

This commit is contained in:
kjs
2025-11-20 11:58:43 +09:00
parent c3f58feef7
commit e3b78309fa
7 changed files with 587 additions and 105 deletions

View File

@@ -169,6 +169,31 @@ export const dataApi = {
return response.data; // success, message 포함된 전체 응답 반환
},
/**
* 조건에 맞는 모든 레코드 삭제 (그룹 삭제)
* @param tableName 테이블명
* @param filterConditions 삭제 조건 (예: { customer_id: "CUST-0002", item_id: "SLI-2025-0002" })
*/
deleteGroupRecords: async (
tableName: string,
filterConditions: Record<string, any>
): Promise<{ success: boolean; deleted?: number; message?: string; error?: string }> => {
try {
console.log(`🗑️ [dataApi] 그룹 삭제 요청:`, { tableName, filterConditions });
const response = await apiClient.post(`/data/${tableName}/delete-group`, filterConditions);
console.log(`✅ [dataApi] 그룹 삭제 성공:`, response.data);
return response.data;
} catch (error: any) {
console.error(`❌ [dataApi] 그룹 삭제 실패:`, error);
return {
success: false,
error: error.response?.data?.message || error.message || "그룹 삭제 실패",
};
}
},
/**
* 특정 레코드 상세 조회
* @param tableName 테이블명
@@ -207,13 +232,30 @@ export const dataApi = {
records: Array<Record<string, any>>
): Promise<{ success: boolean; inserted?: number; updated?: number; deleted?: number; message?: string; error?: string }> => {
try {
const response = await apiClient.post('/data/upsert-grouped', {
console.log("📡 [dataApi.upsertGroupedRecords] 요청 데이터:", {
tableName,
tableNameType: typeof tableName,
tableNameValue: JSON.stringify(tableName),
parentKeys,
recordsCount: records.length,
});
const requestBody = {
tableName,
parentKeys,
records,
});
};
console.log("📦 [dataApi.upsertGroupedRecords] 요청 본문 (JSON):", JSON.stringify(requestBody, null, 2));
const response = await apiClient.post('/data/upsert-grouped', requestBody);
return response.data;
} catch (error: any) {
console.error("❌ [dataApi.upsertGroupedRecords] 에러:", {
status: error.response?.status,
statusText: error.response?.statusText,
data: error.response?.data,
message: error.message,
});
return {
success: false,
error: error.response?.data?.message || error.message || "데이터 저장 실패",