Merge branch 'ksh-v2-work' into main
ksh-v2-work의 POP 화면 디자이너 기능을 main에 병합한다. [병합 내용] - pop-card-list-v2: 슬롯 기반 CSS Grid 카드 컴포넌트 (12종 셀 타입) - pop-status-bar: 독립 상태 칩 컴포넌트 (카운트 순환 문제 해결) - pop-scanner: 바코드/QR 스캐너 + 멀티필드 파싱 - pop-profile: 사용자 프로필/PC전환/로그아웃 컴포넌트 - pop-button: 설정 패널 UX 전면 개선 + 제어 실행 기능 - pop-search: 날짜 입력 타입 + 연결 탭 일관성 통합 - POP 모드 네비게이션: PC <-> POP 양방향 전환 + 로그인 POP 모드 토글 - 타임라인 범용화 + 상태 값 매핑 동적 배열 전환 - 다중 액션 체이닝 + 외부 테이블 선택 + 카드 클릭 모달 [충돌 해결 4건] - authController.ts: 양쪽 통합 (스마트공장 로그 + POP 랜딩 경로) - AppLayout.tsx: 양쪽 통합 (메뉴 드래그 + POP 모드 메뉴, 리디자인 UI + POP 모드 항목) - ConnectionEditor.tsx: ksh-v2-work 선택 (하위 테이블 필터 구조) + CSS 변수 적용 - pop-button.tsx: ksh-v2-work 선택 (자연어 UX + 제어 실행) + CSS 변수 스타일 유지
This commit is contained in:
@@ -108,6 +108,46 @@ export async function getUserMenus(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* POP 메뉴 목록 조회
|
||||
* [POP] 태그가 있는 L1 메뉴의 하위 active 메뉴를 반환
|
||||
*/
|
||||
export async function getPopMenus(
|
||||
req: AuthenticatedRequest,
|
||||
res: Response
|
||||
): Promise<void> {
|
||||
try {
|
||||
const userCompanyCode = req.user?.companyCode || "ILSHIN";
|
||||
const userType = req.user?.userType;
|
||||
|
||||
const result = await AdminService.getPopMenuList({
|
||||
userCompanyCode,
|
||||
userType,
|
||||
});
|
||||
|
||||
const response: ApiResponse<any> = {
|
||||
success: true,
|
||||
message: "POP 메뉴 목록 조회 성공",
|
||||
data: result,
|
||||
};
|
||||
|
||||
res.status(200).json(response);
|
||||
} catch (error) {
|
||||
logger.error("POP 메뉴 목록 조회 중 오류 발생:", error);
|
||||
|
||||
const response: ApiResponse<null> = {
|
||||
success: false,
|
||||
message: "POP 메뉴 목록 조회 중 오류가 발생했습니다.",
|
||||
error: {
|
||||
code: "POP_MENU_LIST_ERROR",
|
||||
details: error instanceof Error ? error.message : "Unknown error",
|
||||
},
|
||||
};
|
||||
|
||||
res.status(500).json(response);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 메뉴 정보 조회
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user