ERP-node/backend-node/src/routes/flowExternalDbConnectionRou...

49 lines
1.5 KiB
TypeScript

import { Router } from "express";
import { FlowExternalDbConnectionController } from "../controllers/flowExternalDbConnectionController";
import { authenticateToken } from "../middleware/authMiddleware";
const router = Router();
const controller = new FlowExternalDbConnectionController();
/**
* 플로우 전용 외부 DB 연결 라우트
* 기존 제어관리 외부 DB 연결과 별도
*/
// 모든 외부 DB 연결 목록 조회 (읽기 전용 - 인증 불필요)
// 민감한 정보(비밀번호)는 반환하지 않으므로 안전
router.get("/", (req, res) => controller.getAll(req, res));
// 특정 외부 DB 연결 조회
router.get("/:id", authenticateToken, (req, res) =>
controller.getById(req, res)
);
// 새 외부 DB 연결 생성
router.post("/", authenticateToken, (req, res) => controller.create(req, res));
// 외부 DB 연결 수정
router.put("/:id", authenticateToken, (req, res) =>
controller.update(req, res)
);
// 외부 DB 연결 삭제
router.delete("/:id", authenticateToken, (req, res) =>
controller.delete(req, res)
);
// 외부 DB 연결 테스트
router.post("/:id/test", authenticateToken, (req, res) =>
controller.testConnection(req, res)
);
// 외부 DB의 테이블 목록 조회 (읽기 전용 - 인증 불필요)
router.get("/:id/tables", (req, res) => controller.getTables(req, res));
// 외부 DB의 특정 테이블의 컬럼 목록 조회 (읽기 전용 - 인증 불필요)
router.get("/:id/tables/:tableName/columns", (req, res) =>
controller.getTableColumns(req, res)
);
export default router;