fix(auth): pageAccessRoutes 부서 조회에 sso_users fallback 추가

workers 테이블에 없는 사용자(55명 중 45명)의 department_id가 0이 되어
부서 권한 매칭 실패 → 모든 페이지 접근 차단되던 문제.
COALESCE(w.department_id, su.department_id) fallback 적용.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-01 14:50:16 +09:00
parent 05d9e90c39
commit cc69b452ab

View File

@@ -69,9 +69,12 @@ router.get('/users/:userId/page-access', requireAuth, async (req, res) => {
return res.json({ success: true, data: { user, pageAccess } });
}
// 사용자의 부서 조회
// 사용자의 부서 조회 (workers 우선, 없으면 sso_users fallback)
const [workerRows] = await db.query(`
SELECT w.department_id FROM workers w WHERE w.user_id = ?
SELECT COALESCE(w.department_id, su2.department_id, 0) AS department_id
FROM sso_users su2
LEFT JOIN workers w ON su2.user_id = w.user_id
WHERE su2.user_id = ?
`, [userId]);
const departmentId = workerRows[0]?.department_id || 0;