From 280efc46ed4bf9351ae4a201fa677829a7841b14 Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Wed, 25 Mar 2026 14:30:53 +0900 Subject: [PATCH] =?UTF-8?q?fix(tksupport):=20=EB=B6=80=EC=84=9C=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EA=B6=8C=ED=95=9C=20=EB=8F=99?= =?UTF-8?q?=EC=9E=91=20=EC=88=98=EC=A0=95=20=E2=80=94=20requireAdmin/requi?= =?UTF-8?q?reSupportTeam=20=EC=A0=9C=EA=B1=B0,=20=EB=84=A4=EB=B9=84?= =?UTF-8?q?=EA=B2=8C=EC=9D=B4=EC=85=98=20=EA=B6=8C=ED=95=9C=20=EA=B8=B0?= =?UTF-8?q?=EB=B0=98=20=EB=A0=8C=EB=8D=94=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .../api/routes/vacationDashboardRoutes.js | 8 ++-- tksupport/api/routes/vacationRoutes.js | 24 ++++++------ tksupport/web/company-holidays.html | 5 +-- tksupport/web/static/js/tksupport-core.js | 39 ++++++++++++++++--- tksupport/web/vacation-admin.html | 5 +-- tksupport/web/vacation-approval.html | 5 +-- tksupport/web/vacation-dashboard.html | 5 +-- user-management/api/models/permissionModel.js | 1 + 8 files changed, 54 insertions(+), 38 deletions(-) diff --git a/tksupport/api/routes/vacationDashboardRoutes.js b/tksupport/api/routes/vacationDashboardRoutes.js index ce84e5b..025a16c 100644 --- a/tksupport/api/routes/vacationDashboardRoutes.js +++ b/tksupport/api/routes/vacationDashboardRoutes.js @@ -1,12 +1,12 @@ const express = require('express'); const router = express.Router(); -const { requireAuth, requireSupportTeam, requirePage } = require('../middleware/auth'); +const { requireAuth, requirePage } = require('../middleware/auth'); const ctrl = require('../controllers/vacationDashboardController'); router.use(requireAuth); -router.get('/', requireSupportTeam, requirePage('support_vacation_dashboard'), ctrl.getDashboard); -router.get('/yearly-overview', requireSupportTeam, requirePage('support_vacation_dashboard'), ctrl.getYearlyOverview); -router.get('/monthly-detail', requireSupportTeam, requirePage('support_vacation_dashboard'), ctrl.getMonthlyDetail); +router.get('/', requirePage('support_vacation_dashboard'), ctrl.getDashboard); +router.get('/yearly-overview', requirePage('support_vacation_dashboard'), ctrl.getYearlyOverview); +router.get('/monthly-detail', requirePage('support_vacation_dashboard'), ctrl.getMonthlyDetail); module.exports = router; diff --git a/tksupport/api/routes/vacationRoutes.js b/tksupport/api/routes/vacationRoutes.js index eb48825..ca11501 100644 --- a/tksupport/api/routes/vacationRoutes.js +++ b/tksupport/api/routes/vacationRoutes.js @@ -1,6 +1,6 @@ const express = require('express'); const router = express.Router(); -const { requireAuth, requireAdmin, requirePage } = require('../middleware/auth'); +const { requireAuth, requirePage } = require('../middleware/auth'); const ctrl = require('../controllers/vacationController'); router.use(requireAuth); @@ -15,25 +15,25 @@ router.get('/requests/:id', ctrl.getRequestById); router.put('/requests/:id', requirePage('support_vacation_request'), ctrl.updateRequest); router.patch('/requests/:id/cancel', requirePage('support_vacation_request'), ctrl.cancelRequest); -// 승인 (관리자) -router.get('/pending', requireAdmin, ctrl.getPending); -router.patch('/requests/:id/approve', requireAdmin, requirePage('support_vacation_approval'), ctrl.approveRequest); -router.patch('/requests/:id/reject', requireAdmin, requirePage('support_vacation_approval'), ctrl.rejectRequest); +// 승인 +router.get('/pending', requirePage('support_vacation_approval'), ctrl.getPending); +router.patch('/requests/:id/approve', requirePage('support_vacation_approval'), ctrl.approveRequest); +router.patch('/requests/:id/reject', requirePage('support_vacation_approval'), ctrl.rejectRequest); // 내 휴가 현황 router.get('/my-status', ctrl.getMyStatus); // 잔여일 router.get('/balance', ctrl.getMyBalance); -router.get('/balance/all', requireAdmin, ctrl.getAllBalances); -router.get('/balance/:userId', requireAdmin, ctrl.getUserBalance); -router.post('/balance/allocate', requireAdmin, ctrl.allocateBalance); +router.get('/balance/all', requirePage('support_vacation_approval'), ctrl.getAllBalances); +router.get('/balance/:userId', requirePage('support_vacation_approval'), ctrl.getUserBalance); +router.post('/balance/allocate', requirePage('support_vacation_approval'), ctrl.allocateBalance); // 관리자 보정 -router.post('/admin/correct', requireAdmin, ctrl.adminCreateRequest); -router.delete('/admin/requests/:id', requireAdmin, ctrl.adminDeleteRequest); +router.post('/admin/correct', requirePage('support_vacation_admin'), ctrl.adminCreateRequest); +router.delete('/admin/requests/:id', requirePage('support_vacation_admin'), ctrl.adminDeleteRequest); -// 사용자 목록 (관리자) -router.get('/users', requireAdmin, ctrl.getUsers); +// 사용자 목록 +router.get('/users', requirePage('support_vacation_approval'), ctrl.getUsers); module.exports = router; diff --git a/tksupport/web/company-holidays.html b/tksupport/web/company-holidays.html index fbebe3a..52f5c57 100644 --- a/tksupport/web/company-holidays.html +++ b/tksupport/web/company-holidays.html @@ -112,10 +112,7 @@