39 lines
1.8 KiB
TypeScript
39 lines
1.8 KiB
TypeScript
import express from "express";
|
|
import {
|
|
ApprovalDefinitionController,
|
|
ApprovalTemplateController,
|
|
ApprovalRequestController,
|
|
ApprovalLineController,
|
|
} from "../controllers/approvalController";
|
|
import { authenticateToken } from "../middleware/authMiddleware";
|
|
|
|
const router = express.Router();
|
|
|
|
router.use(authenticateToken);
|
|
|
|
// ==================== 결재 유형 (Definitions) ====================
|
|
router.get("/definitions", ApprovalDefinitionController.getDefinitions);
|
|
router.get("/definitions/:id", ApprovalDefinitionController.getDefinition);
|
|
router.post("/definitions", ApprovalDefinitionController.createDefinition);
|
|
router.put("/definitions/:id", ApprovalDefinitionController.updateDefinition);
|
|
router.delete("/definitions/:id", ApprovalDefinitionController.deleteDefinition);
|
|
|
|
// ==================== 결재선 템플릿 (Templates) ====================
|
|
router.get("/templates", ApprovalTemplateController.getTemplates);
|
|
router.get("/templates/:id", ApprovalTemplateController.getTemplate);
|
|
router.post("/templates", ApprovalTemplateController.createTemplate);
|
|
router.put("/templates/:id", ApprovalTemplateController.updateTemplate);
|
|
router.delete("/templates/:id", ApprovalTemplateController.deleteTemplate);
|
|
|
|
// ==================== 결재 요청 (Requests) ====================
|
|
router.get("/requests", ApprovalRequestController.getRequests);
|
|
router.get("/requests/:id", ApprovalRequestController.getRequest);
|
|
router.post("/requests", ApprovalRequestController.createRequest);
|
|
router.post("/requests/:id/cancel", ApprovalRequestController.cancelRequest);
|
|
|
|
// ==================== 결재 라인 처리 (Lines) ====================
|
|
router.get("/my-pending", ApprovalLineController.getMyPendingLines);
|
|
router.post("/lines/:lineId/process", ApprovalLineController.processApproval);
|
|
|
|
export default router;
|