공통코드 관리 시스템 개선 완료
This commit is contained in:
@@ -395,4 +395,105 @@ export class CommonCodeController {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 중복 검사
|
||||
* GET /api/common-codes/categories/check-duplicate?field=categoryCode&value=USER_STATUS&excludeCode=OLD_CODE
|
||||
*/
|
||||
async checkCategoryDuplicate(req: AuthenticatedRequest, res: Response) {
|
||||
try {
|
||||
const { field, value, excludeCode } = req.query;
|
||||
|
||||
// 입력값 검증
|
||||
if (!field || !value) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: "field와 value 파라미터가 필요합니다.",
|
||||
});
|
||||
}
|
||||
|
||||
const validFields = ['categoryCode', 'categoryName', 'categoryNameEng'];
|
||||
if (!validFields.includes(field as string)) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: "field는 categoryCode, categoryName, categoryNameEng 중 하나여야 합니다.",
|
||||
});
|
||||
}
|
||||
|
||||
const result = await this.commonCodeService.checkCategoryDuplicate(
|
||||
field as 'categoryCode' | 'categoryName' | 'categoryNameEng',
|
||||
value as string,
|
||||
excludeCode as string
|
||||
);
|
||||
|
||||
return res.json({
|
||||
success: true,
|
||||
data: {
|
||||
...result,
|
||||
field,
|
||||
value
|
||||
},
|
||||
message: "카테고리 중복 검사 완료",
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error("카테고리 중복 검사 실패:", error);
|
||||
return res.status(500).json({
|
||||
success: false,
|
||||
message: "카테고리 중복 검사 중 오류가 발생했습니다.",
|
||||
error: error instanceof Error ? error.message : "Unknown error",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 코드 중복 검사
|
||||
* GET /api/common-codes/categories/:categoryCode/codes/check-duplicate?field=codeValue&value=ACTIVE&excludeCode=OLD_CODE
|
||||
*/
|
||||
async checkCodeDuplicate(req: AuthenticatedRequest, res: Response) {
|
||||
try {
|
||||
const { categoryCode } = req.params;
|
||||
const { field, value, excludeCode } = req.query;
|
||||
|
||||
// 입력값 검증
|
||||
if (!field || !value) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: "field와 value 파라미터가 필요합니다.",
|
||||
});
|
||||
}
|
||||
|
||||
const validFields = ['codeValue', 'codeName', 'codeNameEng'];
|
||||
if (!validFields.includes(field as string)) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: "field는 codeValue, codeName, codeNameEng 중 하나여야 합니다.",
|
||||
});
|
||||
}
|
||||
|
||||
const result = await this.commonCodeService.checkCodeDuplicate(
|
||||
categoryCode,
|
||||
field as 'codeValue' | 'codeName' | 'codeNameEng',
|
||||
value as string,
|
||||
excludeCode as string
|
||||
);
|
||||
|
||||
return res.json({
|
||||
success: true,
|
||||
data: {
|
||||
...result,
|
||||
categoryCode,
|
||||
field,
|
||||
value
|
||||
},
|
||||
message: "코드 중복 검사 완료",
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`코드 중복 검사 실패 (${req.params.categoryCode}):`, error);
|
||||
return res.status(500).json({
|
||||
success: false,
|
||||
message: "코드 중복 검사 중 오류가 발생했습니다.",
|
||||
error: error instanceof Error ? error.message : "Unknown error",
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user