Files
tk-factory-services/tkpurchase/api/routes/scheduleRoutes.js
Hyungi Ahn e8076a8550 fix(purchase): 작업일정 삭제 시 관련 데이터 캐스케이드 삭제 (admin 전용)
- 삭제 권한을 admin 전용으로 변경 (requireAdmin)
- 트랜잭션으로 reports → checkins → safety_education → schedule 순서 삭제
- 프론트엔드: admin만 삭제 버튼 표시, 종속 데이터 삭제 경고 추가
- 404 처리 및 한국어 에러 메시지

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:03:27 +09:00

20 lines
901 B
JavaScript

const express = require('express');
const router = express.Router();
const { requireAuth, requireAdmin, requirePage } = require('../middleware/auth');
const ctrl = require('../controllers/scheduleController');
router.use(requireAuth);
router.get('/', ctrl.list);
router.get('/my', ctrl.mySchedules); // partner portal
router.get('/:id', ctrl.getById);
router.post('/', requirePage('purchasing_schedule'), ctrl.create);
router.post('/request', ctrl.requestSchedule); // 협력업체 작업 신청
router.put('/:id', requirePage('purchasing_schedule'), ctrl.update);
router.put('/:id/status', requirePage('purchasing_schedule'), ctrl.updateStatus);
router.put('/:id/approve', requirePage('purchasing_schedule'), ctrl.approveRequest);
router.put('/:id/reject', requirePage('purchasing_schedule'), ctrl.rejectRequest);
router.delete('/:id', requireAdmin, ctrl.deleteSchedule);
module.exports = router;