49 lines
1.5 KiB
TypeScript
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;
|