From e9c64f65c8d21ab65b7ea3ac0ad84dc4f6f706b6 Mon Sep 17 00:00:00 2001 From: SeongHyun Kim Date: Mon, 17 Nov 2025 13:36:46 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC=20?= =?UTF-8?q?=EA=B0=92=20=EC=82=AD=EC=A0=9C=20=EB=A1=9C=EC=A7=81=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 소프트 삭제(is_active=false)에서 하드 삭제(DELETE)로 변경 - 하위 카테고리 체크 시 is_active 조건 제거하여 정확성 향상 - 불필요한 updated_at, updated_by 파라미터 제거 --- .../src/services/tableCategoryValueService.ts | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/backend-node/src/services/tableCategoryValueService.ts b/backend-node/src/services/tableCategoryValueService.ts index bffb0d05..588d9a9c 100644 --- a/backend-node/src/services/tableCategoryValueService.ts +++ b/backend-node/src/services/tableCategoryValueService.ts @@ -445,7 +445,7 @@ class TableCategoryValueService { } /** - * 카테고리 값 삭제 (비활성화) + * 카테고리 값 삭제 (물리적 삭제) */ async deleteCategoryValue( valueId: number, @@ -465,7 +465,6 @@ class TableCategoryValueService { SELECT COUNT(*) as count FROM table_column_category_values WHERE parent_value_id = $1 - AND is_active = true `; checkParams = [valueId]; } else { @@ -475,7 +474,6 @@ class TableCategoryValueService { FROM table_column_category_values WHERE parent_value_id = $1 AND company_code = $2 - AND is_active = true `; checkParams = [valueId, companyCode]; } @@ -486,27 +484,25 @@ class TableCategoryValueService { throw new Error("하위 카테고리 값이 있어 삭제할 수 없습니다"); } - // 비활성화 (멀티테넌시 적용) + // 물리적 삭제 (멀티테넌시 적용) let deleteQuery: string; let deleteParams: any[]; if (companyCode === "*") { // 최고 관리자: 모든 카테고리 값 삭제 가능 deleteQuery = ` - UPDATE table_column_category_values - SET is_active = false, updated_at = NOW(), updated_by = $2 + DELETE FROM table_column_category_values WHERE value_id = $1 `; - deleteParams = [valueId, userId]; + deleteParams = [valueId]; } else { // 일반 회사: 자신의 카테고리 값만 삭제 가능 deleteQuery = ` - UPDATE table_column_category_values - SET is_active = false, updated_at = NOW(), updated_by = $3 + DELETE FROM table_column_category_values WHERE value_id = $1 AND company_code = $2 `; - deleteParams = [valueId, companyCode, userId]; + deleteParams = [valueId, companyCode]; } const result = await pool.query(deleteQuery, deleteParams); @@ -515,7 +511,7 @@ class TableCategoryValueService { throw new Error("카테고리 값을 찾을 수 없거나 권한이 없습니다"); } - logger.info("카테고리 값 삭제(비활성화) 완료", { + logger.info("카테고리 값 삭제 완료", { valueId, companyCode, });