chpark-sync #425

Merged
kjs merged 293 commits from chpark-sync into main 2026-03-23 09:36:36 +09:00
3 changed files with 27 additions and 33 deletions
Showing only changes of commit 6b568021f4 - Show all commits

View File

@ -167,7 +167,7 @@ export const deleteCategoryValue = async (req: AuthenticatedRequest, res: Respon
* *
*/ */
export const bulkDeleteCategoryValues = async ( export const bulkDeleteCategoryValues = async (
req: Request, req: AuthenticatedRequest,
res: Response res: Response
) => { ) => {
try { try {

View File

@ -1,5 +1,13 @@
import { Router } from "express"; import { Router } from "express";
import * as tableCategoryValueController from "../controllers/tableCategoryValueController"; import {
getCategoryColumns,
getCategoryValues,
addCategoryValue,
updateCategoryValue,
deleteCategoryValue,
bulkDeleteCategoryValues,
reorderCategoryValues,
} from "../controllers/tableCategoryValueController";
import { authenticateToken } from "../middleware/authMiddleware"; import { authenticateToken } from "../middleware/authMiddleware";
const router = Router(); const router = Router();
@ -8,43 +16,25 @@ const router = Router();
router.use(authenticateToken); router.use(authenticateToken);
// 테이블의 카테고리 컬럼 목록 조회 // 테이블의 카테고리 컬럼 목록 조회
router.get( router.get("/:tableName/columns", getCategoryColumns);
"/:tableName/columns",
tableCategoryValueController.getCategoryColumns
);
// 카테고리 값 목록 조회 // 카테고리 값 목록 조회
router.get( router.get("/:tableName/:columnName/values", getCategoryValues);
"/:tableName/:columnName/values",
tableCategoryValueController.getCategoryValues
);
// 카테고리 값 추가 // 카테고리 값 추가
router.post("/values", tableCategoryValueController.addCategoryValue); router.post("/values", addCategoryValue);
// 카테고리 값 수정 // 카테고리 값 수정
router.put( router.put("/values/:valueId", updateCategoryValue);
"/values/:valueId",
tableCategoryValueController.updateCategoryValue
);
// 카테고리 값 삭제 // 카테고리 값 삭제
router.delete( router.delete("/values/:valueId", deleteCategoryValue);
"/values/:valueId",
tableCategoryValueController.deleteCategoryValue
);
// 카테고리 값 일괄 삭제 // 카테고리 값 일괄 삭제
router.post( router.post("/values/bulk-delete", bulkDeleteCategoryValues);
"/values/bulk-delete",
tableCategoryValueController.bulkDeleteCategoryValues
);
// 카테고리 값 순서 변경 // 카테고리 값 순서 변경
router.post( router.post("/values/reorder", reorderCategoryValues);
"/values/reorder",
tableCategoryValueController.reorderCategoryValues
);
export default router; export default router;

View File

@ -404,12 +404,16 @@ export class TableManagementService {
// 🔥 table_type_columns도 업데이트 (멀티테넌시 지원) // 🔥 table_type_columns도 업데이트 (멀티테넌시 지원)
if (settings.inputType) { if (settings.inputType) {
// detailSettings가 문자열이면 파싱, 객체면 그대로 사용 // detailSettings가 문자열이면 파싱, 객체면 그대로 사용
let parsedDetailSettings = settings.detailSettings; let parsedDetailSettings: Record<string, any> | undefined = undefined;
if (typeof settings.detailSettings === 'string') { if (settings.detailSettings) {
try { if (typeof settings.detailSettings === 'string') {
parsedDetailSettings = JSON.parse(settings.detailSettings); try {
} catch (e) { parsedDetailSettings = JSON.parse(settings.detailSettings);
logger.warn(`detailSettings 파싱 실패, 그대로 사용: ${settings.detailSettings}`); } catch (e) {
logger.warn(`detailSettings 파싱 실패, 그대로 사용: ${settings.detailSettings}`);
}
} else if (typeof settings.detailSettings === 'object') {
parsedDetailSettings = settings.detailSettings as Record<string, any>;
} }
} }