ERP-node/backend-node/src/routes/multilangRoutes.ts

53 lines
1.8 KiB
TypeScript
Raw Normal View History

2025-08-25 15:12:31 +09:00
import express from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import {
2025-08-25 15:12:31 +09:00
// 언어 관리 API
getLanguages,
createLanguage,
updateLanguage,
toggleLanguage,
// 다국어 키 관리 API
getLangKeys,
getLangTexts,
createLangKey,
updateLangKey,
deleteLangKey,
toggleLangKey,
// 다국어 텍스트 관리 API
saveLangTexts,
getUserText,
2025-08-25 15:12:31 +09:00
getLangText,
getBatchTranslations,
} from "../controllers/multilangController";
2025-08-25 15:12:31 +09:00
const router = express.Router();
2025-08-29 10:09:34 +09:00
// 다국어 배치 조회 API는 인증 없이 접근 가능
router.post("/batch", getBatchTranslations);
// 나머지 모든 다국어 관리 라우트에 인증 미들웨어 적용
router.use(authenticateToken);
2025-08-25 15:12:31 +09:00
// 언어 관리 API
router.get("/languages", getLanguages); // 언어 목록 조회
router.post("/languages", createLanguage); // 언어 생성
router.put("/languages/:langCode", updateLanguage); // 언어 수정
router.put("/languages/:langCode/toggle", toggleLanguage); // 언어 상태 토글
2025-08-25 15:12:31 +09:00
// 다국어 키 관리 API
router.get("/keys", getLangKeys); // 다국어 키 목록 조회
router.get("/keys/:keyId/texts", getLangTexts); // 특정 키의 다국어 텍스트 조회
router.post("/keys", createLangKey); // 다국어 키 생성
router.put("/keys/:keyId", updateLangKey); // 다국어 키 수정
router.delete("/keys/:keyId", deleteLangKey); // 다국어 키 삭제
router.put("/keys/:keyId/toggle", toggleLangKey); // 다국어 키 상태 토글
2025-08-25 15:12:31 +09:00
// 다국어 텍스트 관리 API
router.post("/keys/:keyId/texts", saveLangTexts); // 다국어 텍스트 저장/수정
router.get("/user-text/:companyCode/:menuCode/:langKey", getUserText); // 사용자별 다국어 텍스트 조회
router.get("/text/:companyCode/:langKey/:langCode", getLangText); // 특정 키의 다국어 텍스트 조회
export default router;