카테고리 값 삭제 로직 개선
- 소프트 삭제(is_active=false)에서 하드 삭제(DELETE)로 변경 - 하위 카테고리 체크 시 is_active 조건 제거하여 정확성 향상 - 불필요한 updated_at, updated_by 파라미터 제거
This commit is contained in:
parent
660f81edbc
commit
e9c64f65c8
|
|
@ -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,
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue