62 lines
1.4 KiB
TypeScript
62 lines
1.4 KiB
TypeScript
// 수집 관리 라우트
|
|
// 작성일: 2024-12-23
|
|
|
|
import { Router } from 'express';
|
|
import { CollectionController } from '../controllers/collectionController';
|
|
import { authenticateToken } from '../middleware/authMiddleware';
|
|
|
|
const router = Router();
|
|
|
|
// 모든 라우트에 인증 미들웨어 적용
|
|
router.use(authenticateToken);
|
|
|
|
/**
|
|
* GET /api/collections
|
|
* 수집 설정 목록 조회
|
|
*/
|
|
router.get('/', CollectionController.getCollectionConfigs);
|
|
|
|
/**
|
|
* GET /api/collections/:id
|
|
* 수집 설정 상세 조회
|
|
*/
|
|
router.get('/:id', CollectionController.getCollectionConfigById);
|
|
|
|
/**
|
|
* POST /api/collections
|
|
* 수집 설정 생성
|
|
*/
|
|
router.post('/', CollectionController.createCollectionConfig);
|
|
|
|
/**
|
|
* PUT /api/collections/:id
|
|
* 수집 설정 수정
|
|
*/
|
|
router.put('/:id', CollectionController.updateCollectionConfig);
|
|
|
|
/**
|
|
* DELETE /api/collections/:id
|
|
* 수집 설정 삭제
|
|
*/
|
|
router.delete('/:id', CollectionController.deleteCollectionConfig);
|
|
|
|
/**
|
|
* POST /api/collections/:id/execute
|
|
* 수집 작업 실행
|
|
*/
|
|
router.post('/:id/execute', CollectionController.executeCollection);
|
|
|
|
/**
|
|
* GET /api/collections/jobs
|
|
* 수집 작업 목록 조회
|
|
*/
|
|
router.get('/jobs/list', CollectionController.getCollectionJobs);
|
|
|
|
/**
|
|
* GET /api/collections/:configId/history
|
|
* 수집 이력 조회
|
|
*/
|
|
router.get('/:configId/history', CollectionController.getCollectionHistory);
|
|
|
|
export default router;
|