fix: 캘린더 모달 중복 카드 문제 및 삭제 권한 개선
- monthly_worker_status 조회 시 GROUP BY로 중복 데이터 합산 - 작업보고서 삭제 권한을 그룹장 이상으로 제한 (admin, system, group_leader) - 중복 데이터 정리를 위한 마이그레이션 SQL 추가 (009_fix_duplicate_monthly_status.sql) - synology_deployment 버전에도 동일 수정 적용
This commit is contained in:
44
api.hyungi.net/routes/userRoutes.js
Normal file
44
api.hyungi.net/routes/userRoutes.js
Normal file
@@ -0,0 +1,44 @@
|
||||
// routes/userRoutes.js - 사용자 관리 라우터
|
||||
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const userController = require('../controllers/userController');
|
||||
const { verifyToken } = require('../middlewares/authMiddleware');
|
||||
|
||||
// 모든 라우트에 인증 미들웨어 적용
|
||||
router.use(verifyToken);
|
||||
|
||||
// 관리자 권한 확인 미들웨어
|
||||
const adminOnly = (req, res, next) => {
|
||||
if (req.user && (req.user.role === 'admin' || req.user.role === 'system')) {
|
||||
next();
|
||||
} else {
|
||||
return res.status(403).json({
|
||||
success: false,
|
||||
message: '관리자 권한이 필요합니다.'
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// 모든 라우트에 관리자 권한 적용
|
||||
router.use(adminOnly);
|
||||
|
||||
// 📋 사용자 목록 조회
|
||||
router.get('/', userController.getAllUsers);
|
||||
|
||||
// 👤 특정 사용자 조회
|
||||
router.get('/:id', userController.getUserById);
|
||||
|
||||
// ➕ 새 사용자 생성
|
||||
router.post('/', userController.createUser);
|
||||
|
||||
// ✏️ 사용자 정보 수정
|
||||
router.put('/:id', userController.updateUser);
|
||||
|
||||
// 🔄 사용자 상태 변경
|
||||
router.put('/:id/status', userController.updateUserStatus);
|
||||
|
||||
// 🗑️ 사용자 삭제
|
||||
router.delete('/:id', userController.deleteUser);
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user