최고 관리자는 좌측에 공통 메뉴만 보이도록 수정
This commit is contained in:
parent
02df4355e2
commit
15776e76f5
|
|
@ -26,26 +26,26 @@ export class AdminService {
|
|||
let queryParams: any[] = [userLang];
|
||||
let paramIndex = 2;
|
||||
|
||||
// SUPER_ADMIN과 COMPANY_ADMIN 구분
|
||||
if (userType === "SUPER_ADMIN" && userCompanyCode === "*") {
|
||||
// SUPER_ADMIN: 모든 메뉴 표시
|
||||
logger.info("✅ SUPER_ADMIN 모드: 모든 관리자 메뉴 표시");
|
||||
companyFilter = "";
|
||||
} else if (userType === "COMPANY_ADMIN") {
|
||||
// COMPANY_ADMIN: 자기 회사 메뉴 + 공통 메뉴
|
||||
companyFilter = `AND (MENU.COMPANY_CODE = $${paramIndex} OR MENU.COMPANY_CODE IS NULL)`;
|
||||
queryParams.push(userCompanyCode);
|
||||
paramIndex++;
|
||||
logger.info(
|
||||
`✅ COMPANY_ADMIN 모드: 회사 ${userCompanyCode} 관리자 메뉴 + 공통 메뉴 표시`
|
||||
);
|
||||
// SUPER_ADMIN
|
||||
if (menuType === undefined) {
|
||||
// 메뉴 관리 화면: 모든 메뉴
|
||||
logger.info("✅ 메뉴 관리 화면 (SUPER_ADMIN): 모든 메뉴 표시");
|
||||
companyFilter = "";
|
||||
} else {
|
||||
// 좌측 사이드바: 공통 메뉴만 (company_code = '*')
|
||||
logger.info("✅ 좌측 사이드바 (SUPER_ADMIN): 공통 메뉴만 표시");
|
||||
companyFilter = `AND MENU.COMPANY_CODE = '*'`;
|
||||
}
|
||||
} else {
|
||||
// 일반 사용자: 자기 회사 메뉴만
|
||||
companyFilter = `AND (MENU.COMPANY_CODE = $${paramIndex} OR MENU.COMPANY_CODE IS NULL)`;
|
||||
// COMPANY_ADMIN: 좌측 사이드바, 메뉴 관리 화면 모두 자기 회사만
|
||||
logger.info(
|
||||
`✅ ${menuType === undefined ? "메뉴 관리 화면" : "좌측 사이드바"} (COMPANY_ADMIN): 회사 ${userCompanyCode} 메뉴만 표시`
|
||||
);
|
||||
companyFilter = `AND MENU.COMPANY_CODE = $${paramIndex}`;
|
||||
queryParams.push(userCompanyCode);
|
||||
paramIndex++;
|
||||
logger.info(
|
||||
`✅ 일반 사용자 모드: 회사 ${userCompanyCode} 관리자 메뉴 + 공통 메뉴 표시`
|
||||
);
|
||||
}
|
||||
|
||||
// 기존 Java의 selectAdminMenuList 쿼리를 Raw Query로 포팅
|
||||
|
|
@ -256,33 +256,23 @@ export class AdminService {
|
|||
|
||||
const { userId, userCompanyCode, userType, userLang = "ko" } = paramMap;
|
||||
|
||||
// SUPER_ADMIN (company_code='*'): 모든 메뉴
|
||||
// COMPANY_ADMIN: 자기 회사 메뉴 + 공통 메뉴 (company_code IS NULL)
|
||||
// 일반 사용자: 권한이 있는 메뉴만
|
||||
// 좌측 사이드바: SUPER_ADMIN은 공통 메뉴, COMPANY_ADMIN은 자기 회사 메뉴
|
||||
let companyFilter = "";
|
||||
let queryParams: any[] = [userLang];
|
||||
let paramIndex = 2;
|
||||
|
||||
if (userType === "SUPER_ADMIN" && userCompanyCode === "*") {
|
||||
// SUPER_ADMIN: 모든 메뉴 표시
|
||||
logger.info("✅ SUPER_ADMIN 모드: 모든 메뉴 표시");
|
||||
companyFilter = "";
|
||||
} else if (userType === "COMPANY_ADMIN") {
|
||||
// COMPANY_ADMIN: 자기 회사 메뉴 + 공통 메뉴
|
||||
companyFilter = `AND (MENU.COMPANY_CODE = $${paramIndex} OR MENU.COMPANY_CODE IS NULL)`;
|
||||
queryParams.push(userCompanyCode);
|
||||
paramIndex++;
|
||||
logger.info(
|
||||
`✅ COMPANY_ADMIN 모드: 회사 ${userCompanyCode} 메뉴 + 공통 메뉴 표시`
|
||||
);
|
||||
// SUPER_ADMIN: 공통 메뉴만 (company_code = '*')
|
||||
logger.info("✅ 좌측 사이드바 (SUPER_ADMIN): 공통 메뉴만 표시");
|
||||
companyFilter = `AND MENU.COMPANY_CODE = '*'`;
|
||||
} else {
|
||||
// 일반 사용자: 자기 회사 메뉴만
|
||||
companyFilter = `AND (MENU.COMPANY_CODE = $${paramIndex} OR MENU.COMPANY_CODE IS NULL)`;
|
||||
// COMPANY_ADMIN: 자기 회사 메뉴만
|
||||
logger.info(
|
||||
`✅ 좌측 사이드바 (COMPANY_ADMIN): 회사 ${userCompanyCode} 메뉴만 표시`
|
||||
);
|
||||
companyFilter = `AND MENU.COMPANY_CODE = $${paramIndex}`;
|
||||
queryParams.push(userCompanyCode);
|
||||
paramIndex++;
|
||||
logger.info(
|
||||
`✅ 일반 사용자 모드: 회사 ${userCompanyCode} 메뉴 + 공통 메뉴 표시`
|
||||
);
|
||||
}
|
||||
|
||||
// 기존 Java의 selectUserMenuList 쿼리를 Raw Query로 포팅 + 회사별 필터링
|
||||
|
|
|
|||
Loading…
Reference in New Issue