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

62 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-09-05 21:52:19 +09:00
import { Router } from "express";
import {
uploadFiles,
deleteFile,
getFileList,
downloadFile,
2025-09-08 13:10:09 +09:00
previewFile,
getLinkedFiles,
2025-09-05 21:52:19 +09:00
uploadMiddleware,
} from "../controllers/fileController";
2025-09-05 12:04:13 +09:00
import { authenticateToken } from "../middleware/authMiddleware";
2025-09-05 21:52:19 +09:00
const router = Router();
2025-09-05 12:04:13 +09:00
2025-09-05 21:52:19 +09:00
// 모든 파일 API는 인증 필요
2025-09-05 12:04:13 +09:00
router.use(authenticateToken);
/**
2025-09-05 21:52:19 +09:00
* @route POST /api/files/upload
* @desc (attach_file_info )
* @access Private
2025-09-05 12:04:13 +09:00
*/
2025-09-05 21:52:19 +09:00
router.post("/upload", uploadMiddleware, uploadFiles);
2025-09-05 12:04:13 +09:00
/**
2025-09-05 21:52:19 +09:00
* @route GET /api/files
* @desc
* @query targetObjid, docType, companyCode
* @access Private
2025-09-05 12:04:13 +09:00
*/
2025-09-05 21:52:19 +09:00
router.get("/", getFileList);
2025-09-05 12:04:13 +09:00
/**
* @route GET /api/files/linked/:tableName/:recordId
* @desc
* @access Private
*/
router.get("/linked/:tableName/:recordId", getLinkedFiles);
2025-09-05 14:52:10 +09:00
/**
2025-09-05 21:52:19 +09:00
* @route DELETE /api/files/:objid
* @desc ( )
* @access Private
2025-09-05 14:52:10 +09:00
*/
2025-09-05 21:52:19 +09:00
router.delete("/:objid", deleteFile);
2025-09-05 14:52:10 +09:00
2025-09-08 13:10:09 +09:00
/**
* @route GET /api/files/preview/:objid
* @desc ( )
* @access Private
*/
router.get("/preview/:objid", previewFile);
2025-09-05 12:04:13 +09:00
/**
2025-09-05 21:52:19 +09:00
* @route GET /api/files/download/:objid
* @desc
* @access Private
2025-09-05 12:04:13 +09:00
*/
2025-09-05 21:52:19 +09:00
router.get("/download/:objid", downloadFile);
2025-09-05 12:04:13 +09:00
export default router;