fix: add admin routes missed during merge

feature/apply-patched-updates
bjkim 4 weeks ago
parent 7728fbccfe
commit ce5b2d8d14

2
components.d.ts vendored

@ -9,6 +9,7 @@ export {}
declare module 'vue' { declare module 'vue' {
export interface GlobalComponents { export interface GlobalComponents {
AppFooter: typeof import('./src/components/AppFooter.vue')['default'] AppFooter: typeof import('./src/components/AppFooter.vue')['default']
AutoScriptDialog: typeof import('./src/components/atoms/organisms/AutoScriptDialog.vue')['default']
CompareComponent: typeof import('./src/components/templates/run/executions/CompareComponent.vue')['default'] CompareComponent: typeof import('./src/components/templates/run/executions/CompareComponent.vue')['default']
CompareRunDialog: typeof import('./src/components/atoms/organisms/CompareRunDialog.vue')['default'] CompareRunDialog: typeof import('./src/components/atoms/organisms/CompareRunDialog.vue')['default']
DatagroupBaseDoalog: typeof import('./src/components/atoms/organisms/DatagroupBaseDoalog.vue')['default'] DatagroupBaseDoalog: typeof import('./src/components/atoms/organisms/DatagroupBaseDoalog.vue')['default']
@ -34,6 +35,7 @@ declare module 'vue' {
ListComponent: typeof import('./src/components/templates/datagroup/ListComponent.vue')['default'] ListComponent: typeof import('./src/components/templates/datagroup/ListComponent.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink'] RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView'] RouterView: typeof import('vue-router')['RouterView']
ScriptCompileDialog: typeof import('./src/components/atoms/organisms/ScriptCompileDialog.vue')['default']
SidebarHeader: typeof import('./src/components/common/SidebarHeader.vue')['default'] SidebarHeader: typeof import('./src/components/common/SidebarHeader.vue')['default']
TrainingGroupBaseDoalog: typeof import('./src/components/atoms/organisms/TrainingGroupBaseDoalog.vue')['default'] TrainingGroupBaseDoalog: typeof import('./src/components/atoms/organisms/TrainingGroupBaseDoalog.vue')['default']
TrainingScriptBaseDoalog: typeof import('./src/components/atoms/organisms/TrainingScriptBaseDoalog.vue')['default'] TrainingScriptBaseDoalog: typeof import('./src/components/atoms/organisms/TrainingScriptBaseDoalog.vue')['default']

@ -114,6 +114,14 @@ const routes = [
], ],
}, },
/** ■ 관리자(시스템 상태) - 래퍼 하나로 레이아웃+본문 직접 렌더 (중첩 router-view 없음) */
{
path: "/system-status",
name: "admin",
meta: { title: "관리자", requiresAuth: false, requiresAdmin: true },
component: () => import("@/pages/AdminPageWrapper.vue"),
},
/** ■ 인증(로그인/회원가입) */ /** ■ 인증(로그인/회원가입) */
{ {
name: "login", name: "login",
@ -151,10 +159,14 @@ router.beforeEach((to, from) => {
const hasProject = !!localStorage.getItem("projectId"); // ✅ 프로젝트 선택 여부 const hasProject = !!localStorage.getItem("projectId"); // ✅ 프로젝트 선택 여부
const bootDone = sessionStorage.getItem("initialRedirectDone") === "1"; const bootDone = sessionStorage.getItem("initialRedirectDone") === "1";
const isAdminRoute = to.name === "admin" || to.name === "project" || to.name === "users" || to.path === "/system-status" || to.meta?.requiresAdmin;
// 이미 프로젝트 선택됨 → 어떤 화면이든 통과 // 이미 프로젝트 선택됨 → 어떤 화면이든 통과
if (hasProject) return true; if (hasProject) return true;
// 관리자 전용 페이지는 프로젝트 없이도 접근 허용
if (isAdminRoute) return true;
// 아직 프로젝트 미선택 // 아직 프로젝트 미선택
if (!bootDone) { if (!bootDone) {
// ✅ 선택 화면에 "들어온 순간"을 부트 완료로 간주 (여기서 한 번만 세팅) // ✅ 선택 화면에 "들어온 순간"을 부트 완료로 간주 (여기서 한 번만 세팅)

2
typed-router.d.ts vendored

@ -19,6 +19,8 @@ declare module 'vue-router/auto-routes' {
*/ */
export interface RouteNamedMap { export interface RouteNamedMap {
'/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>, '/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
'/AdminPageWrapper': RouteRecordInfo<'/AdminPageWrapper', '/AdminPageWrapper', Record<never, never>, Record<never, never>>,
'/AdminView': RouteRecordInfo<'/AdminView', '/AdminView', Record<never, never>, Record<never, never>>,
'/DatagroupView': RouteRecordInfo<'/DatagroupView', '/DatagroupView', Record<never, never>, Record<never, never>>, '/DatagroupView': RouteRecordInfo<'/DatagroupView', '/DatagroupView', Record<never, never>, Record<never, never>>,
'/DatasetView': RouteRecordInfo<'/DatasetView', '/DatasetView', Record<never, never>, Record<never, never>>, '/DatasetView': RouteRecordInfo<'/DatasetView', '/DatasetView', Record<never, never>, Record<never, never>>,
'/DeploymentView': RouteRecordInfo<'/DeploymentView', '/DeploymentView', Record<never, never>, Record<never, never>>, '/DeploymentView': RouteRecordInfo<'/DeploymentView', '/DeploymentView', Record<never, never>, Record<never, never>>,

Loading…
Cancel
Save