diff --git a/system1-factory/api/models/dashboardModel.js b/system1-factory/api/models/dashboardModel.js index 1568db9..130f800 100644 --- a/system1-factory/api/models/dashboardModel.js +++ b/system1-factory/api/models/dashboardModel.js @@ -84,18 +84,18 @@ const DashboardModel = { }; } - // 부서 권한 페이지 - let deptPageIds = new Set(); + // 부서 권한 페이지 (page_name = pages.page_key) + let deptPageKeys = new Set(); if (departmentId) { const [deptRows] = await db.execute(` - SELECT dpp.page_id + SELECT dpp.page_name FROM department_page_permissions dpp WHERE dpp.department_id = ? AND dpp.can_access = 1 `, [departmentId]); - deptRows.forEach(r => deptPageIds.add(r.page_id)); + deptRows.forEach(r => deptPageKeys.add(r.page_name)); } - // 개인 권한 페이지 + // 개인 권한 페이지 (page_id = pages.id) const [personalRows] = await db.execute(` SELECT upa.page_id FROM user_page_access upa @@ -106,14 +106,14 @@ const DashboardModel = { // 기본 접근 페이지 const defaultPages = allPages.filter(p => !p.is_admin_only); - // 분류 + // 분류 (부서 우선, 중복 없음) const departmentPages = []; const personalPages = []; for (const page of allPages) { if (page.is_admin_only) continue; - if (deptPageIds.has(page.id)) { + if (deptPageKeys.has(page.page_key)) { departmentPages.push(formatPage(page)); } else if (personalPageIds.has(page.id)) { personalPages.push(formatPage(page));