fix: 캘린더 모달 중복 카드 문제 및 삭제 권한 개선

- monthly_worker_status 조회 시 GROUP BY로 중복 데이터 합산
- 작업보고서 삭제 권한을 그룹장 이상으로 제한 (admin, system, group_leader)
- 중복 데이터 정리를 위한 마이그레이션 SQL 추가 (009_fix_duplicate_monthly_status.sql)
- synology_deployment 버전에도 동일 수정 적용
This commit is contained in:
Hyungi Ahn
2025-12-02 13:08:44 +09:00
parent beaffcad49
commit a9bce9d20b
419 changed files with 275129 additions and 394 deletions

View File

@@ -0,0 +1,33 @@
// middlewares/accessMiddleware.js
// 권한 레벨 정의
const ACCESS_LEVELS = {
worker: 1,
group_leader: 2,
support_team: 3,
admin: 4,
system: 5
};
const requireAccess = (requiredLevel) => {
return (req, res, next) => {
if (!req.user) {
return res.status(401).json({ error: '인증이 필요합니다.' });
}
const userLevel = ACCESS_LEVELS[req.user.access_level] || 0;
const required = ACCESS_LEVELS[requiredLevel] || 999;
if (userLevel < required) {
return res.status(403).json({
error: '접근 권한이 없습니다.',
required: requiredLevel,
current: req.user.access_level
});
}
next();
};
};
module.exports = { requireAccess, ACCESS_LEVELS };