fix(dashboard): department_page_permissions 스키마 맞춤
page_id(없음) → page_name으로 조회, pages.page_key로 매칭. 실제 DB 구조와 shared/middleware/pagePermission.js 패턴 일치. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -84,18 +84,18 @@ const DashboardModel = {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// 부서 권한 페이지
|
// 부서 권한 페이지 (page_name = pages.page_key)
|
||||||
let deptPageIds = new Set();
|
let deptPageKeys = new Set();
|
||||||
if (departmentId) {
|
if (departmentId) {
|
||||||
const [deptRows] = await db.execute(`
|
const [deptRows] = await db.execute(`
|
||||||
SELECT dpp.page_id
|
SELECT dpp.page_name
|
||||||
FROM department_page_permissions dpp
|
FROM department_page_permissions dpp
|
||||||
WHERE dpp.department_id = ? AND dpp.can_access = 1
|
WHERE dpp.department_id = ? AND dpp.can_access = 1
|
||||||
`, [departmentId]);
|
`, [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(`
|
const [personalRows] = await db.execute(`
|
||||||
SELECT upa.page_id
|
SELECT upa.page_id
|
||||||
FROM user_page_access upa
|
FROM user_page_access upa
|
||||||
@@ -106,14 +106,14 @@ const DashboardModel = {
|
|||||||
// 기본 접근 페이지
|
// 기본 접근 페이지
|
||||||
const defaultPages = allPages.filter(p => !p.is_admin_only);
|
const defaultPages = allPages.filter(p => !p.is_admin_only);
|
||||||
|
|
||||||
// 분류
|
// 분류 (부서 우선, 중복 없음)
|
||||||
const departmentPages = [];
|
const departmentPages = [];
|
||||||
const personalPages = [];
|
const personalPages = [];
|
||||||
|
|
||||||
for (const page of allPages) {
|
for (const page of allPages) {
|
||||||
if (page.is_admin_only) continue;
|
if (page.is_admin_only) continue;
|
||||||
|
|
||||||
if (deptPageIds.has(page.id)) {
|
if (deptPageKeys.has(page.page_key)) {
|
||||||
departmentPages.push(formatPage(page));
|
departmentPages.push(formatPage(page));
|
||||||
} else if (personalPageIds.has(page.id)) {
|
} else if (personalPageIds.has(page.id)) {
|
||||||
personalPages.push(formatPage(page));
|
personalPages.push(formatPage(page));
|
||||||
|
|||||||
Reference in New Issue
Block a user