From 323cdc61437a926215ac101fe7b80b23d33c6778 Mon Sep 17 00:00:00 2001 From: Yongtae Park Date: Thu, 6 Mar 2025 14:36:16 +0900 Subject: [PATCH 1/2] fix(route-constant): separate route-constant Signed-off-by: samuel.park --- apps/web/src/router/integral-routes.ts | 4 +- .../advanced/routes/admin/route-constant.ts | 21 ++++++ .../services/advanced/routes/admin/routes.ts | 30 ++++---- .../advanced/routes/route-constant.ts | 21 ------ .../routes/admin/route-constant.ts | 37 ++++++++++ .../asset-inventory-v1/routes/admin/routes.ts | 74 ++++++------------- .../routes/route-constant.ts | 1 - .../routes/admin/route-constant.ts | 29 ++++++++ .../cost-explorer/routes/admin/routes.ts | 42 +++++------ .../cost-explorer/routes/route-constant.ts | 8 -- .../dashboards/routes/admin/route-constant.ts | 14 ++++ .../dashboards/routes/admin/routes.ts | 10 +-- .../dashboards/routes/route-constant.ts | 3 - .../iam/routes/admin/route-constant.ts | 20 +++++ .../src/services/iam/routes/admin/routes.ts | 18 ++--- .../src/services/iam/routes/route-constant.ts | 9 --- .../info/routes/admin/route-constant.ts | 11 +++ .../src/services/info/routes/admin/routes.ts | 18 ++--- .../services/info/routes/route-constant.ts | 2 - .../ops-flow/routes/admin/route-constant.ts | 15 ++++ .../services/ops-flow/routes/admin/routes.ts | 18 ++--- .../ops-flow/routes/route-constant.ts | 11 --- .../routes/admin/route-constant.ts | 5 ++ .../workspace-home/routes/admin/routes.ts | 9 +-- 24 files changed, 243 insertions(+), 187 deletions(-) create mode 100644 apps/web/src/services/advanced/routes/admin/route-constant.ts delete mode 100644 apps/web/src/services/advanced/routes/route-constant.ts create mode 100644 apps/web/src/services/asset-inventory-v1/routes/admin/route-constant.ts create mode 100644 apps/web/src/services/cost-explorer/routes/admin/route-constant.ts create mode 100644 apps/web/src/services/dashboards/routes/admin/route-constant.ts create mode 100644 apps/web/src/services/iam/routes/admin/route-constant.ts create mode 100644 apps/web/src/services/info/routes/admin/route-constant.ts create mode 100644 apps/web/src/services/ops-flow/routes/admin/route-constant.ts create mode 100644 apps/web/src/services/workspace-home/routes/admin/route-constant.ts diff --git a/apps/web/src/router/integral-routes.ts b/apps/web/src/router/integral-routes.ts index c34af5e885..106e74ef15 100644 --- a/apps/web/src/router/integral-routes.ts +++ b/apps/web/src/router/integral-routes.ts @@ -4,7 +4,6 @@ import { adminRoutes } from '@/router/admin-routes'; import { ROOT_ROUTE, ROUTE_SCOPE } from '@/router/constant'; import { errorRoutes } from '@/router/error-routes'; import { externalRoutes } from '@/router/external-routes'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; import { workspaceRoutes } from '@/router/workspace-routes'; import { pinia } from '@/store/pinia'; @@ -13,6 +12,7 @@ import { useUserStore } from '@/store/user/user-store'; import authRoutes from '@/services/auth/routes/routes'; import landingPageRoutes from '@/services/landing/routes/routes'; import myPageRoutes from '@/services/my-page/routes/routes'; +import { ADMIN_WORKSPACE_HOME_ROUTE } from '@/services/workspace-home/routes/admin/route-constant'; import { WORKSPACE_HOME_ROUTE } from '@/services/workspace-home/routes/route-constant'; @@ -38,7 +38,7 @@ export const integralRoutes: RouteConfig[] = [ redirect: () => { const userStore = useUserStore(pinia); if (!userStore.getters.isDomainAdmin) return { name: ROOT_ROUTE.WORKSPACE._NAME }; - return ({ name: makeAdminRouteName(WORKSPACE_HOME_ROUTE._NAME) }); + return ({ name: ADMIN_WORKSPACE_HOME_ROUTE._NAME }); }, component: { template: '' }, children: [ diff --git a/apps/web/src/services/advanced/routes/admin/route-constant.ts b/apps/web/src/services/advanced/routes/admin/route-constant.ts new file mode 100644 index 0000000000..0d9668e379 --- /dev/null +++ b/apps/web/src/services/advanced/routes/admin/route-constant.ts @@ -0,0 +1,21 @@ +import { MENU_ID } from '@/lib/menu/config'; + +export const ADMIN_ADVANCED_ROUTE = { + _NAME: `admin.${MENU_ID.ADVANCED}`, + WORKSPACES: { _NAME: `admin.${MENU_ID.ADVANCED}.${MENU_ID.WORKSPACES}` }, + WORKSPACE_GROUP: { _NAME: `admin.${MENU_ID.ADVANCED}.${MENU_ID.WORKSPACE_GROUP}` }, + PREFERENCES: { + _NAME: `admin.${MENU_ID.ADVANCED}.${MENU_ID.PREFERENCES}`, + DOMAIN_INFORMATION: { _NAME: `admin.${MENU_ID.ADVANCED}.${MENU_ID.PREFERENCES}.domain_information` }, + APPEARANCE: { _NAME: `admin.${MENU_ID.ADVANCED}.${MENU_ID.PREFERENCES}.appearance` }, + }, + BOOKMARK: { + _NAME: `admin.${MENU_ID.ADVANCED}.${MENU_ID.BOOKMARK}`, + DETAIL: { + _NAME: `admin.${MENU_ID.ADVANCED}.${MENU_ID.BOOKMARK}.detail`, + GROUP: { _NAME: `admin.${MENU_ID.ADVANCED}.${MENU_ID.BOOKMARK}.detail.group` }, + FOLDER: { _NAME: `admin.${MENU_ID.ADVANCED}.${MENU_ID.BOOKMARK}.detail.folder` }, + }, + }, + AUTO_DORMANCY_CONFIGURATION: { _NAME: `admin.${MENU_ID.ADVANCED}.auto_dormancy_configuration` }, +} as const; diff --git a/apps/web/src/services/advanced/routes/admin/routes.ts b/apps/web/src/services/advanced/routes/admin/routes.ts index a8416c76c1..72a235ab80 100644 --- a/apps/web/src/services/advanced/routes/admin/routes.ts +++ b/apps/web/src/services/advanced/routes/admin/routes.ts @@ -1,11 +1,9 @@ import type { RouteConfig } from 'vue-router'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; - import { MENU_ID } from '@/lib/menu/config'; import { MENU_INFO_MAP } from '@/lib/menu/menu-info'; -import { ADVANCED_ROUTE } from '@/services/advanced/routes/route-constant'; +import { ADMIN_ADVANCED_ROUTE } from '@/services/advanced/routes/admin/route-constant'; const AdvancedContainer = () => import('@/services/advanced/AdvancedContainer.vue'); const DomainSettingsContainer = () => import('@/services/advanced/components/PreferencesContainer.vue'); @@ -21,19 +19,19 @@ const BookmarkDetailPage = () => import('@/services/advanced/pages/admin/AdminBo const adminAdvancedRoutes: RouteConfig = { path: 'advanced', - name: makeAdminRouteName(ADVANCED_ROUTE._NAME), + name: ADMIN_ADVANCED_ROUTE._NAME, meta: { menuId: MENU_ID.ADVANCED, translationId: MENU_INFO_MAP[MENU_ID.ADVANCED].translationId, }, redirect: () => ({ - name: makeAdminRouteName(ADVANCED_ROUTE.WORKSPACES._NAME), + name: ADMIN_ADVANCED_ROUTE.WORKSPACES._NAME, }), component: AdvancedContainer, children: [ { path: 'workspaces', - name: makeAdminRouteName(ADVANCED_ROUTE.WORKSPACES._NAME), + name: ADMIN_ADVANCED_ROUTE.WORKSPACES._NAME, meta: { menuId: MENU_ID.WORKSPACES, translationId: MENU_INFO_MAP[MENU_ID.WORKSPACES].translationId, @@ -42,7 +40,7 @@ const adminAdvancedRoutes: RouteConfig = { }, { path: 'workspace-group', - name: makeAdminRouteName(ADVANCED_ROUTE.WORKSPACE_GROUP._NAME), + name: ADMIN_ADVANCED_ROUTE.WORKSPACE_GROUP._NAME, meta: { menuId: MENU_ID.WORKSPACE_GROUP, translationId: MENU_INFO_MAP[MENU_ID.WORKSPACE_GROUP].translationId, @@ -51,7 +49,7 @@ const adminAdvancedRoutes: RouteConfig = { }, { path: 'bookmark', - name: makeAdminRouteName(ADVANCED_ROUTE.BOOKMARK._NAME), + name: ADMIN_ADVANCED_ROUTE.BOOKMARK._NAME, meta: { lsbVisible: true, menuId: MENU_ID.BOOKMARK, @@ -61,7 +59,7 @@ const adminAdvancedRoutes: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(ADVANCED_ROUTE.BOOKMARK._NAME), + name: ADMIN_ADVANCED_ROUTE.BOOKMARK._NAME, meta: { lsbVisible: true, menuId: MENU_ID.BOOKMARK }, props: true, component: BookmarkPage, @@ -73,14 +71,14 @@ const adminAdvancedRoutes: RouteConfig = { children: [ { path: ':group?', - name: makeAdminRouteName(ADVANCED_ROUTE.BOOKMARK.DETAIL.GROUP._NAME), + name: ADMIN_ADVANCED_ROUTE.BOOKMARK.DETAIL.GROUP._NAME, meta: { lsbVisible: true }, props: true, component: BookmarkDetailPage, children: [ { path: ':folder?', - name: makeAdminRouteName(ADVANCED_ROUTE.BOOKMARK.DETAIL.FOLDER._NAME), + name: ADMIN_ADVANCED_ROUTE.BOOKMARK.DETAIL.FOLDER._NAME, meta: { lsbVisible: true }, props: true, component: BookmarkDetailPage, @@ -93,26 +91,26 @@ const adminAdvancedRoutes: RouteConfig = { }, { path: 'preferences', - name: makeAdminRouteName(ADVANCED_ROUTE.PREFERENCES._NAME), + name: ADMIN_ADVANCED_ROUTE.PREFERENCES._NAME, meta: { menuId: MENU_ID.PREFERENCES, lsbVisible: true, translationId: MENU_INFO_MAP[MENU_ID.PREFERENCES].translationId, }, redirect: () => ({ - name: makeAdminRouteName(ADVANCED_ROUTE.PREFERENCES.DOMAIN_INFORMATION._NAME), + name: ADMIN_ADVANCED_ROUTE.PREFERENCES.DOMAIN_INFORMATION._NAME, }), component: DomainSettingsContainer, children: [ { path: 'domain-information', - name: makeAdminRouteName(ADVANCED_ROUTE.PREFERENCES.DOMAIN_INFORMATION._NAME), + name: ADMIN_ADVANCED_ROUTE.PREFERENCES.DOMAIN_INFORMATION._NAME, meta: { lsbVisible: true, translationId: MENU_INFO_MAP[MENU_ID.DOMAIN_INFORMATION].translationId }, component: AdminDomainSettingsBaseInformationPage, }, { path: 'appearance', - name: makeAdminRouteName(ADVANCED_ROUTE.PREFERENCES.APPEARANCE._NAME), + name: ADMIN_ADVANCED_ROUTE.PREFERENCES.APPEARANCE._NAME, meta: { lsbVisible: true, translationId: MENU_INFO_MAP[MENU_ID.APPEARANCE].translationId }, component: AdminDomainSettingsBrandAssetsPage, }, @@ -120,7 +118,7 @@ const adminAdvancedRoutes: RouteConfig = { }, { path: 'auto-dormancy-configuration', - name: makeAdminRouteName(ADVANCED_ROUTE.AUTO_DORMANCY_CONFIGURATION._NAME), + name: ADMIN_ADVANCED_ROUTE.AUTO_DORMANCY_CONFIGURATION._NAME, meta: { menuId: MENU_ID.AUTO_DORMANCY_CONFIGURATION, translationId: MENU_INFO_MAP[MENU_ID.AUTO_DORMANCY_CONFIGURATION].translationId }, component: AdminDomainSettingsAutoDormancyConfigurationPage, }, diff --git a/apps/web/src/services/advanced/routes/route-constant.ts b/apps/web/src/services/advanced/routes/route-constant.ts deleted file mode 100644 index 83ccdd8f49..0000000000 --- a/apps/web/src/services/advanced/routes/route-constant.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { MENU_ID } from '@/lib/menu/config'; - -export const ADVANCED_ROUTE = { - _NAME: `${MENU_ID.ADVANCED}`, - WORKSPACES: { _NAME: `${MENU_ID.ADVANCED}.${MENU_ID.WORKSPACES}` }, - WORKSPACE_GROUP: { _NAME: `${MENU_ID.ADVANCED}.${MENU_ID.WORKSPACE_GROUP}` }, - PREFERENCES: { - _NAME: `${MENU_ID.ADVANCED}.${MENU_ID.PREFERENCES}`, - DOMAIN_INFORMATION: { _NAME: `${MENU_ID.ADVANCED}.${MENU_ID.PREFERENCES}.domain_information` }, - APPEARANCE: { _NAME: `${MENU_ID.ADVANCED}.${MENU_ID.PREFERENCES}.appearance` }, - }, - BOOKMARK: { - _NAME: `${MENU_ID.ADVANCED}.${MENU_ID.BOOKMARK}`, - DETAIL: { - _NAME: `${MENU_ID.ADVANCED}.${MENU_ID.BOOKMARK}.detail`, - GROUP: { _NAME: `${MENU_ID.ADVANCED}.${MENU_ID.BOOKMARK}.detail.group` }, - FOLDER: { _NAME: `${MENU_ID.ADVANCED}.${MENU_ID.BOOKMARK}.detail.folder` }, - }, - }, - AUTO_DORMANCY_CONFIGURATION: { _NAME: `${MENU_ID.ADVANCED}.auto_dormancy_configuration` }, -} as const; diff --git a/apps/web/src/services/asset-inventory-v1/routes/admin/route-constant.ts b/apps/web/src/services/asset-inventory-v1/routes/admin/route-constant.ts new file mode 100644 index 0000000000..93de02603a --- /dev/null +++ b/apps/web/src/services/asset-inventory-v1/routes/admin/route-constant.ts @@ -0,0 +1,37 @@ +import { MENU_ID } from '@/lib/menu/config'; + +export const ADMIN_ASSET_INVENTORY_ROUTE_V1 = Object.freeze({ + _NAME: `admin.${MENU_ID.ASSET_INVENTORY}`, + CLOUD_SERVICE: { + _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.CLOUD_SERVICE}`, + SEARCH: { _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.CLOUD_SERVICE}.search` }, + TYPE_SEARCH: { _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.CLOUD_SERVICE}.type_search` }, + NO_RESOURCE: { _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.CLOUD_SERVICE}.no_resource` }, + DETAIL: { _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.CLOUD_SERVICE}.detail` }, + }, + COLLECTOR: { + _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.COLLECTOR}`, + CREATE: { + _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.COLLECTOR}.create`, + }, + DETAIL: { + _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.COLLECTOR}.detail`, + }, + HISTORY: { + _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.COLLECTOR}.history`, + JOB: { _NAME: `${MENU_ID.ASSET_INVENTORY}.${MENU_ID.COLLECTOR}.history.job` }, + }, + }, + SERVICE_ACCOUNT: { + _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.SERVICE_ACCOUNT}`, + DETAIL: { _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.SERVICE_ACCOUNT}.detail` }, + ADD: { _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.SERVICE_ACCOUNT}.add` }, + NO_RESOURCE: { _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.SERVICE_ACCOUNT}.no_resource` }, + }, + METRIC_EXPLORER: { + _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.METRIC_EXPLORER}`, + DETAIL: { + _NAME: `admin.${MENU_ID.ASSET_INVENTORY}.${MENU_ID.METRIC_EXPLORER}.detail`, + }, + }, +}); diff --git a/apps/web/src/services/asset-inventory-v1/routes/admin/routes.ts b/apps/web/src/services/asset-inventory-v1/routes/admin/routes.ts index 0fcc328223..a23bee5a9a 100644 --- a/apps/web/src/services/asset-inventory-v1/routes/admin/routes.ts +++ b/apps/web/src/services/asset-inventory-v1/routes/admin/routes.ts @@ -2,13 +2,11 @@ import type { RouteConfig } from 'vue-router'; import { upperCase } from 'lodash'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; - import { MENU_ID } from '@/lib/menu/config'; import { MENU_INFO_MAP } from '@/lib/menu/menu-info'; import { ACCOUNT_TYPE_BADGE_OPTION } from '@/services/asset-inventory-v1/constants/service-account-constant'; -import { ASSET_INVENTORY_ROUTE_V1 } from '@/services/asset-inventory-v1/routes/route-constant'; +import { ADMIN_ASSET_INVENTORY_ROUTE_V1 } from '@/services/asset-inventory-v1/routes/admin/route-constant'; const AssetInventoryContainer = () => import('@/services/asset-inventory-v1/AssetInventoryContainer.vue'); @@ -18,8 +16,8 @@ const CloudServiceTypeSearch = () => import('@/services/asset-inventory-v1/pages const CloudServicePage = () => import('@/services/asset-inventory-v1/pages/CloudServicePage.vue'); const NoResourcePage = () => import('@/common/pages/NoResourcePage.vue'); -const ServerPage = () => import('@/services/asset-inventory-v1/pages/ServerPage.vue'); -const SecurityPage = () => import('@/services/asset-inventory-v1/pages/SecurityPage.vue'); +// const ServerPage = () => import('@/services/asset-inventory-v1/pages/ServerPage.vue'); +// const SecurityPage = () => import('@/services/asset-inventory-v1/pages/SecurityPage.vue'); const MetricExplorerMainPage = () => import('@/services/asset-inventory-v1/pages/MetricExplorerMainPage.vue'); const MetricExplorerDetailPage = () => import('@/services/asset-inventory-v1/pages/MetricExplorerDetailPage.vue'); @@ -37,9 +35,9 @@ const ServiceAccountAddPage = () => import('@/services/asset-inventory-v1/pages/ const adminAssetInventoryRouteV1: RouteConfig = { path: 'asset-inventory', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1._NAME, meta: { menuId: MENU_ID.ASSET_INVENTORY, translationId: MENU_INFO_MAP[MENU_ID.ASSET_INVENTORY].translationId }, - redirect: () => ({ name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE._NAME) }), + redirect: () => ({ name: ADMIN_ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE._NAME }), component: AssetInventoryContainer, children: [ { @@ -52,25 +50,25 @@ const adminAssetInventoryRouteV1: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE._NAME, meta: { lsbVisible: true }, component: CloudServicePage as any, }, { path: 'search/:searchKey/:id', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE.SEARCH._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE.SEARCH._NAME, props: true, component: CloudServiceSearch, }, { path: 'type/search/:id', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE.TYPE_SEARCH._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE.TYPE_SEARCH._NAME, props: true, component: CloudServiceTypeSearch, }, { path: 'no-resource', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE.NO_RESOURCE._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE.NO_RESOURCE._NAME, meta: { lsbVisible: true, translationId: 'COMMON.ERROR.NO_RESOURCE_TITLE' }, component: NoResourcePage as any, }, @@ -81,35 +79,7 @@ const adminAssetInventoryRouteV1: RouteConfig = { children: [ { path: ':name?', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE.DETAIL._NAME), - meta: { lsbVisible: true, label: ({ params }) => params.name }, - props: true, - component: CloudServiceDetailPage as any, - }, - ], - }, - ], - }, - { - path: 'server', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.SERVER._NAME), - meta: { menuId: MENU_ID.SERVER, translationId: MENU_INFO_MAP[MENU_ID.SERVER].translationId }, - component: ServerPage as any, - }, - { - path: 'security', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.SECURITY._NAME), - meta: { lsbVisible: true, menuId: MENU_ID.SECURITY, translationId: MENU_INFO_MAP[MENU_ID.SECURITY].translationId }, - component: SecurityPage as any, - children: [ - { - path: ':provider/:group', - meta: { label: ({ params }) => `[${upperCase(params.provider)}] ${params.group}` }, - component: { template: '' }, - children: [ - { - path: ':name?', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.SECURITY.DETAIL._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.CLOUD_SERVICE.DETAIL._NAME, meta: { lsbVisible: true, label: ({ params }) => params.name }, props: true, component: CloudServiceDetailPage as any, @@ -125,13 +95,13 @@ const adminAssetInventoryRouteV1: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.COLLECTOR._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.COLLECTOR._NAME, props: true, component: AdminCollectorMainPage as any, }, { path: 'create', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.COLLECTOR.CREATE._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.COLLECTOR.CREATE._NAME, meta: { translationId: 'PLUGIN.COLLECTOR.CREATE.TITLE', centeredLayout: true }, component: AdminCollectorCreatePage as any, }, @@ -142,12 +112,12 @@ const adminAssetInventoryRouteV1: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.COLLECTOR.HISTORY._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.COLLECTOR.HISTORY._NAME, component: AdminCollectorHistoryPage as any, }, { path: ':jobId', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.COLLECTOR.HISTORY.JOB._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.COLLECTOR.HISTORY.JOB._NAME, meta: { label: ({ params }) => params.jobId, copiable: true }, props: true, component: AdminCollectHistoryJobPage as any, @@ -156,7 +126,7 @@ const adminAssetInventoryRouteV1: RouteConfig = { }, { path: ':collectorId', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.COLLECTOR.DETAIL._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.COLLECTOR.DETAIL._NAME, props: true, meta: { label: ({ params }) => params.collectorId, copiable: true }, component: AdminCollectorDetailPage as any, @@ -170,27 +140,27 @@ const adminAssetInventoryRouteV1: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.SERVICE_ACCOUNT._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.SERVICE_ACCOUNT._NAME, meta: { menuId: MENU_ID.SERVICE_ACCOUNT }, props: true, component: ServiceAccountPage as any, }, { path: 'no-resource', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.SERVICE_ACCOUNT.NO_RESOURCE._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.SERVICE_ACCOUNT.NO_RESOURCE._NAME, meta: { translationId: 'COMMON.ERROR.NO_RESOURCE_TITLE' }, component: NoResourcePage as any, }, { path: ':serviceAccountId', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.SERVICE_ACCOUNT.DETAIL._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.SERVICE_ACCOUNT.DETAIL._NAME, meta: { label: ({ params }) => params.serviceAccountId, copiable: true }, props: true, component: ServiceAccountDetailPage, }, { path: 'add/:provider/:serviceAccountType', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.SERVICE_ACCOUNT.ADD._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.SERVICE_ACCOUNT.ADD._NAME, meta: { translationId: ({ params }) => (['IDENTITY.SERVICE_ACCOUNT.ADD.TITLE', { type: ACCOUNT_TYPE_BADGE_OPTION[params.serviceAccountType].label, @@ -208,20 +178,20 @@ const adminAssetInventoryRouteV1: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.METRIC_EXPLORER._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.METRIC_EXPLORER._NAME, meta: { menuId: MENU_ID.METRIC_EXPLORER, lsbVisible: true }, component: MetricExplorerMainPage as any, }, { path: ':metricId', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.METRIC_EXPLORER.DETAIL._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.METRIC_EXPLORER.DETAIL._NAME, meta: { label: ({ params }) => params.metricId, lsbVisible: true }, props: true, component: { template: '' }, children: [ { path: '/', - name: makeAdminRouteName(ASSET_INVENTORY_ROUTE_V1.METRIC_EXPLORER.DETAIL._NAME), + name: ADMIN_ASSET_INVENTORY_ROUTE_V1.METRIC_EXPLORER.DETAIL._NAME, meta: { label: ({ params }) => params.metricExampleId, lsbVisible: true }, props: true, component: MetricExplorerDetailPage as any, diff --git a/apps/web/src/services/asset-inventory-v1/routes/route-constant.ts b/apps/web/src/services/asset-inventory-v1/routes/route-constant.ts index ba8d7087c5..98126fe9c3 100644 --- a/apps/web/src/services/asset-inventory-v1/routes/route-constant.ts +++ b/apps/web/src/services/asset-inventory-v1/routes/route-constant.ts @@ -32,7 +32,6 @@ export const ASSET_INVENTORY_ROUTE_V1 = Object.freeze({ SERVICE_ACCOUNT: { _NAME: `${MENU_ID.ASSET_INVENTORY}.${MENU_ID.SERVICE_ACCOUNT}`, DETAIL: { _NAME: `${MENU_ID.ASSET_INVENTORY}.${MENU_ID.SERVICE_ACCOUNT}.detail` }, - SEARCH: { _NAME: `${MENU_ID.ASSET_INVENTORY}.${MENU_ID.SERVICE_ACCOUNT}.search` }, ADD: { _NAME: `${MENU_ID.ASSET_INVENTORY}.${MENU_ID.SERVICE_ACCOUNT}.add` }, NO_RESOURCE: { _NAME: `${MENU_ID.ASSET_INVENTORY}.${MENU_ID.SERVICE_ACCOUNT}.no_resource` }, }, diff --git a/apps/web/src/services/cost-explorer/routes/admin/route-constant.ts b/apps/web/src/services/cost-explorer/routes/admin/route-constant.ts new file mode 100644 index 0000000000..2592012411 --- /dev/null +++ b/apps/web/src/services/cost-explorer/routes/admin/route-constant.ts @@ -0,0 +1,29 @@ +import { MENU_ID } from '@/lib/menu/config'; + +export const ADMIN_COST_EXPLORER_ROUTE = { + _NAME: `admin.${MENU_ID.COST_EXPLORER}`, + COST_ANALYSIS: { + _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_ANALYSIS}`, + QUERY_SET: { _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_ANALYSIS}.query_set` }, + }, + BUDGET: { + _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.BUDGET}`, + DETAIL: { _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.BUDGET}.detail` }, + CREATE: { _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.BUDGET}.create` }, + UPDATE: { _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.BUDGET}.update` }, + }, + COST_REPORT: { + _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_REPORT}`, + }, + DATA_SOURCES: { + _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.DATA_SOURCES}`, + }, + LANDING: { + _NAME: `admin.${MENU_ID.COST_EXPLORER}.landing`, + }, + COST_ADVANCED_SETTINGS: { + _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_ADVANCED_SETTINGS}`, + ANOMALY_DETECTION_DOMAIN_CONFIGURATION: { _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_ADVANCED_SETTINGS}.${MENU_ID.ANOMALY_DETECTION_DOMAIN_CONFIGURATION}` }, + CURRENCY_CONVERTER: { _NAME: `admin.${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_ADVANCED_SETTINGS}.${MENU_ID.CURRENCY_CONVERTER}` }, + }, +} as const; diff --git a/apps/web/src/services/cost-explorer/routes/admin/routes.ts b/apps/web/src/services/cost-explorer/routes/admin/routes.ts index e02fc0f6fc..00aa25ca82 100644 --- a/apps/web/src/services/cost-explorer/routes/admin/routes.ts +++ b/apps/web/src/services/cost-explorer/routes/admin/routes.ts @@ -6,8 +6,6 @@ import type { ListResponse } from '@/api-clients/_common/schema/api-verbs/list'; import type { CostDataSourceListParameters } from '@/api-clients/cost-analysis/data-source/schema/api-verbs/list'; import type { DataSourceModel } from '@/schema/monitoring/data-source/model'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; - import { MENU_ID } from '@/lib/menu/config'; import { MENU_INFO_MAP } from '@/lib/menu/menu-info'; @@ -16,7 +14,7 @@ import ErrorHandler from '@/common/composables/error/errorHandler'; import { UNIFIED_COST_KEY } from '@/services/cost-explorer/constants/cost-explorer-constant'; import { DYNAMIC_COST_QUERY_SET_PARAMS, MANAGED_COST_QUERY_SET_IDS } from '@/services/cost-explorer/constants/managed-cost-analysis-query-sets'; import CostExplorerHome from '@/services/cost-explorer/pages/CostExplorerHome.vue'; -import { COST_EXPLORER_ROUTE } from '@/services/cost-explorer/routes/route-constant'; +import { ADMIN_COST_EXPLORER_ROUTE } from '@/services/cost-explorer/routes/admin/route-constant'; const CostAdvancedSettingsContainer = () => import('@/services/cost-explorer/components/CostAdvancedSettingsContainer.vue'); @@ -34,18 +32,18 @@ const DataSourcesPage = () => import('@/services/cost-explorer/pages/admin/Admin const adminCostExplorerRoutes: RouteConfig = { path: 'cost-explorer', - name: makeAdminRouteName(COST_EXPLORER_ROUTE._NAME), + name: ADMIN_COST_EXPLORER_ROUTE._NAME, meta: { menuId: MENU_ID.COST_EXPLORER, translationId: MENU_INFO_MAP[MENU_ID.COST_EXPLORER].translationId, }, - redirect: () => ({ name: makeAdminRouteName(COST_EXPLORER_ROUTE.COST_ANALYSIS._NAME) }), + redirect: () => ({ name: ADMIN_COST_EXPLORER_ROUTE.COST_ANALYSIS._NAME }), component: CostExplorerContainer, children: [ { path: 'landing', meta: { centeredLayout: true }, - name: makeAdminRouteName(COST_EXPLORER_ROUTE.LANDING._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.LANDING._NAME, component: CostExplorerHome as any, }, { @@ -58,19 +56,19 @@ const adminCostExplorerRoutes: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.COST_ANALYSIS._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.COST_ANALYSIS._NAME, meta: { lsbVisible: true }, beforeEnter: async (to, from, next) => { try { const response = await SpaceConnector.clientV2.costAnalysis.dataSource.list>(); const results = response?.results || []; if (results.length === 0) { // none-data-source case - next({ name: makeAdminRouteName(COST_EXPLORER_ROUTE.LANDING._NAME) }); + next({ name: ADMIN_COST_EXPLORER_ROUTE.LANDING._NAME }); } else if (to.params.dataSourceId && to.params.costQuerySetId) { next(); } else { next({ - name: makeAdminRouteName(COST_EXPLORER_ROUTE.COST_ANALYSIS.QUERY_SET._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.COST_ANALYSIS.QUERY_SET._NAME, params: { dataSourceId: UNIFIED_COST_KEY, costQuerySetId: MANAGED_COST_QUERY_SET_IDS.MONTHLY_PRODUCT, @@ -84,7 +82,7 @@ const adminCostExplorerRoutes: RouteConfig = { }, { path: ':dataSourceId/:costQuerySetId', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.COST_ANALYSIS.QUERY_SET._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.COST_ANALYSIS.QUERY_SET._NAME, meta: { lsbVisible: true, label: ({ params }) => (params.costQuerySetId === DYNAMIC_COST_QUERY_SET_PARAMS ? undefined : params.costQuerySetId), @@ -111,7 +109,7 @@ const adminCostExplorerRoutes: RouteConfig = { }); const results = response?.results || []; if (results.length === 0) { // none-data-source case - next({ name: makeAdminRouteName(COST_EXPLORER_ROUTE.LANDING._NAME) }); + next({ name: ADMIN_COST_EXPLORER_ROUTE.LANDING._NAME }); } else { next(); } @@ -122,19 +120,19 @@ const adminCostExplorerRoutes: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.BUDGET._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.BUDGET._NAME, meta: { menuId: MENU_ID.BUDGET }, component: AdminBudgetMainPage as any, }, { path: 'create', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.BUDGET.CREATE._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.BUDGET.CREATE._NAME, meta: { translationId: 'BILLING.COST_MANAGEMENT.BUDGET.MAIN.CREATE_BUDGET' }, component: AdminBudgetCreatePage as any, }, { path: ':budgetId', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.BUDGET.DETAIL._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.BUDGET.DETAIL._NAME, props: true, meta: { label: ({ params }) => params.budgetId, copiable: true }, component: AdminBudgetDetailPage as any, @@ -153,7 +151,7 @@ const adminCostExplorerRoutes: RouteConfig = { const response = await SpaceConnector.clientV2.costAnalysis.dataSource.list>(); const results = response?.results || []; if (results.length === 0) { // none-data-source case - next({ name: makeAdminRouteName(COST_EXPLORER_ROUTE.LANDING._NAME) }); + next({ name: ADMIN_COST_EXPLORER_ROUTE.LANDING._NAME }); } else { next(); } @@ -164,7 +162,7 @@ const adminCostExplorerRoutes: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.COST_REPORT._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.COST_REPORT._NAME, meta: { menuId: MENU_ID.COST_REPORT }, component: CostReportPage as any, }, @@ -182,7 +180,7 @@ const adminCostExplorerRoutes: RouteConfig = { const response = await SpaceConnector.clientV2.costAnalysis.dataSource.list>(); const results = response?.results || []; if (results.length === 0) { // none-data-source case - next({ name: makeAdminRouteName(COST_EXPLORER_ROUTE.LANDING._NAME) }); + next({ name: ADMIN_COST_EXPLORER_ROUTE.LANDING._NAME }); } else { next(); } @@ -193,32 +191,32 @@ const adminCostExplorerRoutes: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.DATA_SOURCES._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.DATA_SOURCES._NAME, component: DataSourcesPage as any, }, ], }, { path: 'cost-advanced-settings', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.COST_ADVANCED_SETTINGS._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.COST_ADVANCED_SETTINGS._NAME, meta: { menuId: MENU_ID.COST_ADVANCED_SETTINGS, translationId: MENU_INFO_MAP[MENU_ID.COST_ADVANCED_SETTINGS].translationId, }, redirect: () => ({ - name: makeAdminRouteName(COST_EXPLORER_ROUTE.COST_ADVANCED_SETTINGS.ANOMALY_DETECTION_DOMAIN_CONFIGURATION._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.COST_ADVANCED_SETTINGS.ANOMALY_DETECTION_DOMAIN_CONFIGURATION._NAME, }), component: CostAdvancedSettingsContainer, children: [ { path: 'anomaly-detection-configuration', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.COST_ADVANCED_SETTINGS.ANOMALY_DETECTION_DOMAIN_CONFIGURATION._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.COST_ADVANCED_SETTINGS.ANOMALY_DETECTION_DOMAIN_CONFIGURATION._NAME, meta: { lsbVisible: true, translationId: MENU_INFO_MAP[MENU_ID.ANOMALY_DETECTION_DOMAIN_CONFIGURATION].translationId, menuId: MENU_ID.ANOMALY_DETECTION_DOMAIN_CONFIGURATION }, component: AdminDomainSettingsAnomalyDetectionConfigurationPage, }, { path: 'currency-converter', - name: makeAdminRouteName(COST_EXPLORER_ROUTE.COST_ADVANCED_SETTINGS.CURRENCY_CONVERTER._NAME), + name: ADMIN_COST_EXPLORER_ROUTE.COST_ADVANCED_SETTINGS.CURRENCY_CONVERTER._NAME, meta: { lsbVisible: true, translationId: MENU_INFO_MAP[MENU_ID.CURRENCY_CONVERTER].translationId, menuId: MENU_ID.CURRENCY_CONVERTER }, component: AdminDomainSettingsCurrencyConverterPage, }, diff --git a/apps/web/src/services/cost-explorer/routes/route-constant.ts b/apps/web/src/services/cost-explorer/routes/route-constant.ts index e9007a38df..9ea7b52f7c 100644 --- a/apps/web/src/services/cost-explorer/routes/route-constant.ts +++ b/apps/web/src/services/cost-explorer/routes/route-constant.ts @@ -15,15 +15,7 @@ export const COST_EXPLORER_ROUTE = { COST_REPORT: { _NAME: `${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_REPORT}`, }, - DATA_SOURCES: { - _NAME: `${MENU_ID.COST_EXPLORER}.${MENU_ID.DATA_SOURCES}`, - }, LANDING: { _NAME: `${MENU_ID.COST_EXPLORER}.landing`, }, - COST_ADVANCED_SETTINGS: { - _NAME: `${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_ADVANCED_SETTINGS}`, - ANOMALY_DETECTION_DOMAIN_CONFIGURATION: { _NAME: `${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_ADVANCED_SETTINGS}.${MENU_ID.ANOMALY_DETECTION_DOMAIN_CONFIGURATION}` }, - CURRENCY_CONVERTER: { _NAME: `${MENU_ID.COST_EXPLORER}.${MENU_ID.COST_ADVANCED_SETTINGS}.${MENU_ID.CURRENCY_CONVERTER}` }, - }, } as const; diff --git a/apps/web/src/services/dashboards/routes/admin/route-constant.ts b/apps/web/src/services/dashboards/routes/admin/route-constant.ts new file mode 100644 index 0000000000..7ebc90d90b --- /dev/null +++ b/apps/web/src/services/dashboards/routes/admin/route-constant.ts @@ -0,0 +1,14 @@ +import { MENU_ID } from '@/lib/menu/config'; + +export const ADMIN_DASHBOARDS_ROUTE = Object.freeze({ + _NAME: `admin.${MENU_ID.DASHBOARDS}`, + ALL: { + _NAME: `admin.${MENU_ID.DASHBOARDS}.all`, + }, + DETAIL: { + _NAME: `admin.${MENU_ID.DASHBOARDS}.detail`, + }, + CREATE: { + _NAME: `admin.${MENU_ID.DASHBOARDS}.create`, + }, +}); diff --git a/apps/web/src/services/dashboards/routes/admin/routes.ts b/apps/web/src/services/dashboards/routes/admin/routes.ts index 4d1b8d9211..5aee451e6e 100644 --- a/apps/web/src/services/dashboards/routes/admin/routes.ts +++ b/apps/web/src/services/dashboards/routes/admin/routes.ts @@ -1,11 +1,9 @@ import type { RouteConfig } from 'vue-router'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; - import { MENU_ID } from '@/lib/menu/config'; import { MENU_INFO_MAP } from '@/lib/menu/menu-info'; -import { DASHBOARDS_ROUTE } from '@/services/dashboards/routes/route-constant'; +import { ADMIN_DASHBOARDS_ROUTE } from '@/services/dashboards/routes/admin/route-constant'; const DashboardsContainer = () => import('@/services/dashboards/DashboardsContainer.vue'); const DashboardsMainPage = () => import('@/services/dashboards/pages/DashboardsMainPage.vue'); @@ -22,13 +20,13 @@ const adminDashboardsRoute: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(DASHBOARDS_ROUTE._NAME), + name: ADMIN_DASHBOARDS_ROUTE._NAME, meta: { lsbVisible: true, menuId: MENU_ID.DASHBOARDS }, component: DashboardsMainPage, }, { path: 'create', - name: makeAdminRouteName(DASHBOARDS_ROUTE.CREATE._NAME), + name: ADMIN_DASHBOARDS_ROUTE.CREATE._NAME, meta: { translationId: 'DASHBOARDS.CREATE.TITLE', }, @@ -36,7 +34,7 @@ const adminDashboardsRoute: RouteConfig = { }, { path: 'detail/:dashboardId', - name: makeAdminRouteName(DASHBOARDS_ROUTE.DETAIL._NAME), + name: ADMIN_DASHBOARDS_ROUTE.DETAIL._NAME, meta: { lsbVisible: true, label: ({ params }) => params.dashboardId, copiable: true }, props: true, component: DashboardDetailPage, diff --git a/apps/web/src/services/dashboards/routes/route-constant.ts b/apps/web/src/services/dashboards/routes/route-constant.ts index f395f21aad..9041154742 100644 --- a/apps/web/src/services/dashboards/routes/route-constant.ts +++ b/apps/web/src/services/dashboards/routes/route-constant.ts @@ -8,9 +8,6 @@ export const DASHBOARDS_ROUTE = Object.freeze({ DETAIL: { _NAME: `${MENU_ID.DASHBOARDS}.detail`, }, - CUSTOMIZE: { - _NAME: `${MENU_ID.DASHBOARDS}.customize`, - }, CREATE: { _NAME: `${MENU_ID.DASHBOARDS}.create`, }, diff --git a/apps/web/src/services/iam/routes/admin/route-constant.ts b/apps/web/src/services/iam/routes/admin/route-constant.ts new file mode 100644 index 0000000000..e4678ad3d1 --- /dev/null +++ b/apps/web/src/services/iam/routes/admin/route-constant.ts @@ -0,0 +1,20 @@ +import { MENU_ID } from '@/lib/menu/config'; + +export const ADMIN_IAM_ROUTE = { + _NAME: `admin.${MENU_ID.IAM}`, + USER: { + _NAME: `admin.${MENU_ID.IAM}.${MENU_ID.USER}`, + }, + APP: { + _NAME: `admin.${MENU_ID.IAM}.${MENU_ID.APP}`, + }, + ROLE: { + _NAME: `admin.${MENU_ID.IAM}.${MENU_ID.ROLE}`, + CREATE: { + _NAME: `admin.${MENU_ID.IAM}.${MENU_ID.ROLE}.create`, + }, + EDIT: { + _NAME: `admin.${MENU_ID.IAM}.${MENU_ID.ROLE}.edit`, + }, + }, +} as const; diff --git a/apps/web/src/services/iam/routes/admin/routes.ts b/apps/web/src/services/iam/routes/admin/routes.ts index e2286f74b3..e8dd6b21ac 100644 --- a/apps/web/src/services/iam/routes/admin/routes.ts +++ b/apps/web/src/services/iam/routes/admin/routes.ts @@ -1,11 +1,9 @@ import type { RouteConfig } from 'vue-router'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; - import { MENU_ID } from '@/lib/menu/config'; import { MENU_INFO_MAP } from '@/lib/menu/menu-info'; -import { IAM_ROUTE } from '@/services/iam/routes/route-constant'; +import { ADMIN_IAM_ROUTE } from '@/services/iam/routes/admin/route-constant'; const IamContainer = () => import('@/services/iam/IamContainer.vue'); @@ -17,19 +15,19 @@ const RoleUpdatePage = () => import('@/services/iam/pages/admin/AdminRoleUpdateP const adminIamRoutes: RouteConfig = { path: 'iam', - name: makeAdminRouteName(IAM_ROUTE._NAME), + name: ADMIN_IAM_ROUTE._NAME, meta: { menuId: MENU_ID.IAM, translationId: MENU_INFO_MAP[MENU_ID.IAM].translationId, }, redirect: () => ({ - name: makeAdminRouteName(IAM_ROUTE.USER._NAME), + name: ADMIN_IAM_ROUTE.USER._NAME, }), component: IamContainer, children: [ { path: 'user', - name: makeAdminRouteName(IAM_ROUTE.USER._NAME), + name: ADMIN_IAM_ROUTE.USER._NAME, meta: { menuId: MENU_ID.USER, translationId: MENU_INFO_MAP[MENU_ID.USER].translationId, @@ -38,7 +36,7 @@ const adminIamRoutes: RouteConfig = { }, { path: 'app', - name: makeAdminRouteName(IAM_ROUTE.APP._NAME), + name: ADMIN_IAM_ROUTE.APP._NAME, meta: { menuId: MENU_ID.APP, translationId: MENU_INFO_MAP[MENU_ID.APP].translationId, @@ -55,19 +53,19 @@ const adminIamRoutes: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(IAM_ROUTE.ROLE._NAME), + name: ADMIN_IAM_ROUTE.ROLE._NAME, props: true, component: RolePage, }, { path: 'create', - name: makeAdminRouteName(IAM_ROUTE.ROLE.CREATE._NAME), + name: ADMIN_IAM_ROUTE.ROLE.CREATE._NAME, meta: { translationId: 'IAM.ROLE.FORM.CREATE_TITLE' }, component: RoleCreatePage, }, { path: 'edit/:id', - name: makeAdminRouteName(IAM_ROUTE.ROLE.EDIT._NAME), + name: ADMIN_IAM_ROUTE.ROLE.EDIT._NAME, meta: { translationId: 'IAM.ROLE.FORM.EDIT_TITLE' }, props: true, component: RoleUpdatePage, diff --git a/apps/web/src/services/iam/routes/route-constant.ts b/apps/web/src/services/iam/routes/route-constant.ts index a821dc7f57..cfda468a99 100644 --- a/apps/web/src/services/iam/routes/route-constant.ts +++ b/apps/web/src/services/iam/routes/route-constant.ts @@ -11,13 +11,4 @@ export const IAM_ROUTE = { APP: { _NAME: `${MENU_ID.IAM}.${MENU_ID.APP}`, }, - ROLE: { - _NAME: `${MENU_ID.IAM}.${MENU_ID.ROLE}`, - CREATE: { - _NAME: `${MENU_ID.IAM}.${MENU_ID.ROLE}.create`, - }, - EDIT: { - _NAME: `${MENU_ID.IAM}.${MENU_ID.ROLE}.edit`, - }, - }, } as const; diff --git a/apps/web/src/services/info/routes/admin/route-constant.ts b/apps/web/src/services/info/routes/admin/route-constant.ts new file mode 100644 index 0000000000..145862f58e --- /dev/null +++ b/apps/web/src/services/info/routes/admin/route-constant.ts @@ -0,0 +1,11 @@ +import { MENU_ID } from '@/lib/menu/config'; + +export const ADMIN_INFO_ROUTE = Object.freeze({ + _NAME: `admin.${MENU_ID.INFO}`, + NOTICE: { + _NAME: `admin.${MENU_ID.INFO}.${MENU_ID.NOTICE}`, + CREATE: { _NAME: `admin.${MENU_ID.INFO}.${MENU_ID.NOTICE}.create` }, + UPDATE: { _NAME: `admin.${MENU_ID.INFO}.${MENU_ID.NOTICE}.update` }, + DETAIL: { _NAME: `admin.${MENU_ID.INFO}.${MENU_ID.NOTICE}.detail` }, + }, +}); diff --git a/apps/web/src/services/info/routes/admin/routes.ts b/apps/web/src/services/info/routes/admin/routes.ts index 0e076c7e69..60329283f8 100644 --- a/apps/web/src/services/info/routes/admin/routes.ts +++ b/apps/web/src/services/info/routes/admin/routes.ts @@ -1,11 +1,11 @@ import type { RouteConfig } from 'vue-router'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; import { MENU_ID } from '@/lib/menu/config'; import { MENU_INFO_MAP } from '@/lib/menu/menu-info'; -import { INFO_ROUTE } from '@/services/info/routes/route-constant'; +import { ADMIN_INFO_ROUTE } from '@/services/info/routes/admin/route-constant'; + const InfoContainer = () => import('@/services/info/InfoContainer.vue'); @@ -16,12 +16,12 @@ const AdminNoticeUpdatePage = () => import('@/services/info/pages/admin/AdminNot const infoRoute: RouteConfig = { path: 'info', - name: makeAdminRouteName(INFO_ROUTE._NAME), + name: ADMIN_INFO_ROUTE._NAME, meta: { menuId: MENU_ID.INFO, translationId: MENU_INFO_MAP[MENU_ID.INFO].translationId, }, - redirect: () => ({ name: makeAdminRouteName(INFO_ROUTE.NOTICE._NAME) }), + redirect: () => ({ name: ADMIN_INFO_ROUTE.NOTICE._NAME }), component: InfoContainer, children: [ { @@ -30,23 +30,23 @@ const infoRoute: RouteConfig = { menuId: MENU_ID.NOTICE, translationId: MENU_INFO_MAP[MENU_ID.NOTICE].translationId, }, - redirect: () => ({ name: makeAdminRouteName(INFO_ROUTE.NOTICE._NAME) }), + redirect: () => ({ name: ADMIN_INFO_ROUTE.NOTICE._NAME }), component: { template: '' }, children: [ { path: '/', - name: makeAdminRouteName(INFO_ROUTE.NOTICE._NAME), + name: ADMIN_INFO_ROUTE.NOTICE._NAME, component: AdminNoticeMainPage as any, }, { path: 'create', - name: makeAdminRouteName(INFO_ROUTE.NOTICE.CREATE._NAME), + name: ADMIN_INFO_ROUTE.NOTICE.CREATE._NAME, meta: { translationId: 'INFO.NOTICE.FORM.CREATE_NOTICE' }, component: AdminNoticeCreatePage as any, }, { path: ':postId', - name: makeAdminRouteName(INFO_ROUTE.NOTICE.DETAIL._NAME), + name: ADMIN_INFO_ROUTE.NOTICE.DETAIL._NAME, meta: { translationId: 'INFO.NOTICE.DETAIL.DETAIL_TITLE', label: ({ params }) => params.postId, copiable: true, }, @@ -55,7 +55,7 @@ const infoRoute: RouteConfig = { }, { path: 'update/:postId', - name: makeAdminRouteName(INFO_ROUTE.NOTICE.UPDATE._NAME), + name: ADMIN_INFO_ROUTE.NOTICE.UPDATE._NAME, meta: { translationId: 'INFO.NOTICE.FORM.EDIT_TITLE' }, component: AdminNoticeUpdatePage as any, props: true, diff --git a/apps/web/src/services/info/routes/route-constant.ts b/apps/web/src/services/info/routes/route-constant.ts index de79e5ed6b..d480eec74c 100644 --- a/apps/web/src/services/info/routes/route-constant.ts +++ b/apps/web/src/services/info/routes/route-constant.ts @@ -4,8 +4,6 @@ export const INFO_ROUTE = Object.freeze({ _NAME: MENU_ID.INFO, NOTICE: { _NAME: `${MENU_ID.INFO}.${MENU_ID.NOTICE}`, - CREATE: { _NAME: `${MENU_ID.INFO}.${MENU_ID.NOTICE}.create` }, - UPDATE: { _NAME: `${MENU_ID.INFO}.${MENU_ID.NOTICE}.update` }, DETAIL: { _NAME: `${MENU_ID.INFO}.${MENU_ID.NOTICE}.detail` }, }, }); diff --git a/apps/web/src/services/ops-flow/routes/admin/route-constant.ts b/apps/web/src/services/ops-flow/routes/admin/route-constant.ts new file mode 100644 index 0000000000..369ddf0ea3 --- /dev/null +++ b/apps/web/src/services/ops-flow/routes/admin/route-constant.ts @@ -0,0 +1,15 @@ +import { MENU_ID } from '@/lib/menu/config'; + +export const ADMIN_OPS_FLOW_ROUTE = Object.freeze({ + _NAME: `admin.${MENU_ID.OPS_FLOW}`, + TASK_MANAGEMENT: { + _NAME: `admin.${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_MANAGEMENT}`, + TASK_CATEGORY: { + DETAIL: { + _NAME: `admin.${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_MANAGEMENT}.task_category.detail`, + STATUS: { _NAME: `admin.${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_MANAGEMENT}.task_category.detail.status` }, + TASK_TYPE: { _NAME: `admin.${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_MANAGEMENT}.task_category.detail.task_type` }, + }, + }, + }, +}); diff --git a/apps/web/src/services/ops-flow/routes/admin/routes.ts b/apps/web/src/services/ops-flow/routes/admin/routes.ts index a0d5173076..d7eaa44a5d 100644 --- a/apps/web/src/services/ops-flow/routes/admin/routes.ts +++ b/apps/web/src/services/ops-flow/routes/admin/routes.ts @@ -1,11 +1,9 @@ import type { RouteConfig } from 'vue-router'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; - import { MENU_ID } from '@/lib/menu/config'; import { MENU_INFO_MAP } from '@/lib/menu/menu-info'; -import { OPS_FLOW_ROUTE } from '@/services/ops-flow/routes/route-constant'; +import { ADMIN_OPS_FLOW_ROUTE } from '@/services/ops-flow/routes/admin/route-constant'; const OpsFlowContainer = () => import('@/services/ops-flow/OpsFlowContainer.vue'); @@ -16,12 +14,12 @@ const AdminTaskCategoryDetailPageTaskTypeTab = () => import('@/services/ops-flow const adminOpsFlowRoutes: RouteConfig = { path: 'ops-flow', - name: makeAdminRouteName(OPS_FLOW_ROUTE._NAME), + name: ADMIN_OPS_FLOW_ROUTE._NAME, meta: { menuId: MENU_ID.OPS_FLOW, translationId: MENU_INFO_MAP[MENU_ID.OPS_FLOW].translationId, }, - redirect: () => ({ name: makeAdminRouteName(OPS_FLOW_ROUTE.TASK_MANAGEMENT._NAME) }), + redirect: () => ({ name: ADMIN_OPS_FLOW_ROUTE.TASK_MANAGEMENT._NAME }), component: OpsFlowContainer, children: [ { @@ -34,25 +32,25 @@ const adminOpsFlowRoutes: RouteConfig = { children: [ { path: '/', - name: makeAdminRouteName(OPS_FLOW_ROUTE.TASK_MANAGEMENT._NAME), + name: ADMIN_OPS_FLOW_ROUTE.TASK_MANAGEMENT._NAME, component: AdminTaskManagementPage as any, }, { path: 'task-category/:taskCategoryId', - name: makeAdminRouteName(OPS_FLOW_ROUTE.TASK_MANAGEMENT.TASK_CATEGORY.DETAIL._NAME), + name: ADMIN_OPS_FLOW_ROUTE.TASK_MANAGEMENT.TASK_CATEGORY.DETAIL._NAME, props: true, - redirect: { name: makeAdminRouteName(OPS_FLOW_ROUTE.TASK_MANAGEMENT.TASK_CATEGORY.DETAIL.STATUS._NAME) }, + redirect: { name: ADMIN_OPS_FLOW_ROUTE.TASK_MANAGEMENT.TASK_CATEGORY.DETAIL.STATUS._NAME }, component: AdminTaskCategoryDetailPage as any, children: [ { path: 'status', - name: makeAdminRouteName(OPS_FLOW_ROUTE.TASK_MANAGEMENT.TASK_CATEGORY.DETAIL.STATUS._NAME), + name: ADMIN_OPS_FLOW_ROUTE.TASK_MANAGEMENT.TASK_CATEGORY.DETAIL.STATUS._NAME, props: true, component: AdminTaskCategoryDetailPageStatusTab as any, }, { path: 'task-type', - name: makeAdminRouteName(OPS_FLOW_ROUTE.TASK_MANAGEMENT.TASK_CATEGORY.DETAIL.TASK_TYPE._NAME), + name: ADMIN_OPS_FLOW_ROUTE.TASK_MANAGEMENT.TASK_CATEGORY.DETAIL.TASK_TYPE._NAME, props: true, component: AdminTaskCategoryDetailPageTaskTypeTab as any, }, diff --git a/apps/web/src/services/ops-flow/routes/route-constant.ts b/apps/web/src/services/ops-flow/routes/route-constant.ts index fd6db46134..e13c441d99 100644 --- a/apps/web/src/services/ops-flow/routes/route-constant.ts +++ b/apps/web/src/services/ops-flow/routes/route-constant.ts @@ -8,15 +8,4 @@ export const OPS_FLOW_ROUTE = Object.freeze({ TASK_DETAIL: { _NAME: `${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_BOARD}.task_detail` }, TASK_CREATE: { _NAME: `${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_BOARD}.task_create` }, }, - TASK_MANAGEMENT: { - _NAME: `${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_MANAGEMENT}`, - TASK_CATEGORY: { - DETAIL: { - _NAME: `${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_MANAGEMENT}.task_category.detail`, - STATUS: { _NAME: `${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_MANAGEMENT}.task_category.detail.status` }, - TASK_TYPE: { _NAME: `${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_MANAGEMENT}.task_category.detail.task_type` }, - }, - CREATE: { _NAME: `${MENU_ID.OPS_FLOW}.${MENU_ID.TASK_MANAGEMENT}.task_category.create` }, - }, - }, }); diff --git a/apps/web/src/services/workspace-home/routes/admin/route-constant.ts b/apps/web/src/services/workspace-home/routes/admin/route-constant.ts new file mode 100644 index 0000000000..1a4320cae2 --- /dev/null +++ b/apps/web/src/services/workspace-home/routes/admin/route-constant.ts @@ -0,0 +1,5 @@ +import { MENU_ID } from '@/lib/menu/config'; + +export const ADMIN_WORKSPACE_HOME_ROUTE = Object.freeze({ + _NAME: `admin.${MENU_ID.WORKSPACE_HOME}`, +}); diff --git a/apps/web/src/services/workspace-home/routes/admin/routes.ts b/apps/web/src/services/workspace-home/routes/admin/routes.ts index 3ac29ee728..1c070cfbd1 100644 --- a/apps/web/src/services/workspace-home/routes/admin/routes.ts +++ b/apps/web/src/services/workspace-home/routes/admin/routes.ts @@ -1,21 +1,20 @@ import type { RouteConfig } from 'vue-router'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; import { MENU_ID } from '@/lib/menu/config'; -import { IAM_ROUTE } from '@/services/iam/routes/route-constant'; -import { WORKSPACE_HOME_ROUTE } from '@/services/workspace-home/routes/route-constant'; +import { ADMIN_IAM_ROUTE } from '@/services/iam/routes/admin/route-constant'; +import { ADMIN_WORKSPACE_HOME_ROUTE } from '@/services/workspace-home/routes/admin/route-constant'; const WorkspaceHome = () => import('@/services/workspace-home/pages/WorkspaceHomePage.vue'); const adminWorkspaceHomeRoutes: RouteConfig = { path: 'home', - name: makeAdminRouteName(WORKSPACE_HOME_ROUTE._NAME), + name: ADMIN_WORKSPACE_HOME_ROUTE._NAME, meta: { menuId: MENU_ID.WORKSPACE_HOME }, // HACK: redirect to user list page for now redirect: () => ({ - name: makeAdminRouteName(IAM_ROUTE.USER._NAME), + name: ADMIN_IAM_ROUTE.USER._NAME, }), component: WorkspaceHome, }; From e97ffbca5a77839480d54d401c1d247b13795a10 Mon Sep 17 00:00:00 2001 From: Yongtae Park Date: Thu, 6 Mar 2025 14:37:39 +0900 Subject: [PATCH 2/2] fix(route-constant): apply new admin route-constant Signed-off-by: samuel.park --- .../workspace/WorkspaceSelectDropdown.vue | 7 ++-- apps/web/src/lib/menu/menu-info.ts | 33 ++++++++++--------- .../alert-manager-v1-integral-routes.ts | 4 +-- apps/web/src/router/helpers/route-helper.ts | 3 +- .../advanced/components/BookmarkContainer.vue | 10 +++--- .../components/BookmarkDetailContainer.vue | 8 ++--- .../advanced/components/BookmarkLSB.vue | 8 ++--- .../BookmarkManagementDetailTable.vue | 6 ++-- .../components/BookmarkManagementTable.vue | 7 ++-- .../advanced/components/BookmarkTree.vue | 20 +++++------ .../components/PreferencesContainer.vue | 8 ++--- .../advanced/components/PreferencesLSB.vue | 8 ++--- ...nSettingsAutoDormancyConfigurationPage.vue | 5 ++- .../components/CloudServiceLSB.vue | 5 ++- .../components/WorkspaceDropdown.vue | 6 ++-- .../pages/CollectorDetailPage.vue | 6 ++-- .../pages/admin/AdminCollectorCreatePage.vue | 5 ++- .../pages/admin/AdminCollectorDetailPage.vue | 17 ++++------ .../pages/admin/AdminCollectorHistoryPage.vue | 14 ++++---- .../pages/admin/AdminCollectorMainPage.vue | 6 ++-- .../components/WorkspaceDropdown.vue | 6 ++-- .../AnomalyDetectionConfigurationTable.vue | 4 +-- .../AnomalyDetectionHistoryTable.vue | 4 +-- .../components/CostAdvancedSettingsLSB.vue | 6 ++-- .../components/CostAnalysisHeader.vue | 5 ++- .../components/CostReportRecipientsCard.vue | 5 ++- .../AnomalyDetectionConfigurationPage.vue | 4 +-- .../cost-explorer/pages/BudgetDetailPage.vue | 6 ++-- .../pages/admin/AdminBudgetMainPage.vue | 7 ++-- .../iam/components/RoleManagementTable.vue | 6 ++-- .../components/UserManagementAddAdminRole.vue | 8 ++--- .../UserManagementFormAdminRole.vue | 4 +-- ...ementOnlyRemoveWorkspaceGroupTypeModal.vue | 6 ++-- .../iam/pages/admin/AdminRolePage.vue | 6 ++-- .../services/info/components/NoticeForm.vue | 7 ++-- .../components/NoticeWorkspaceDropdown.vue | 10 +++--- .../pages/admin/AdminNoticeDetailPage.vue | 6 ++-- .../info/pages/admin/AdminNoticeMainPage.vue | 6 ++-- .../workspace-landing/LandingContents.vue | 6 ++-- .../LandingEmptyContents.vue | 6 ++-- .../LandingWorkspaceRecentList.vue | 6 ++-- .../LandingGroupWorkspaces.vue | 6 ++-- .../LandingWorkspaceBoard.vue | 6 ++-- .../ops-flow/components/TaskCategoryPanel.vue | 6 ++-- .../admin/AdminTaskCategoryDetailPage.vue | 11 +++---- .../components/WorkspaceInfo.vue | 6 ++-- 46 files changed, 142 insertions(+), 203 deletions(-) diff --git a/apps/web/src/common/modules/workspace/WorkspaceSelectDropdown.vue b/apps/web/src/common/modules/workspace/WorkspaceSelectDropdown.vue index 233b4bd439..3871f1a5b6 100644 --- a/apps/web/src/common/modules/workspace/WorkspaceSelectDropdown.vue +++ b/apps/web/src/common/modules/workspace/WorkspaceSelectDropdown.vue @@ -5,7 +5,7 @@ import { useRouter } from 'vue-router/composables'; import { SpaceConnector } from '@cloudforet/core-lib/space-connector'; import { ApiQueryHelper } from '@cloudforet/core-lib/space-connector/helper'; -import { PSelectDropdown } from '@cloudforet/mirinae'; +import { PSelectDropdown, PButton } from '@cloudforet/mirinae'; import type { MenuItem } from '@cloudforet/mirinae/src/controls/context-menu/type'; import type { AutocompleteHandler, @@ -17,7 +17,6 @@ import type { ListResponse } from '@/api-clients/_common/schema/api-verbs/list'; import type { WorkspaceListParameters } from '@/schema/identity/workspace/api-verbs/list'; import type { WorkspaceModel } from '@/schema/identity/workspace/model'; -import { makeAdminRouteName } from '@/router/helpers/route-helper'; import { useAllReferenceStore } from '@/store/reference/all-reference-store'; import type { WorkspaceReferenceMap } from '@/store/reference/workspace-reference-store'; @@ -28,7 +27,7 @@ import WorkspaceLogoIcon from '@/common/modules/navigations/top-bar/modules/top- import { workspaceStateFormatter } from '@/services/advanced/composables/refined-table-data'; import { WORKSPACE_STATE } from '@/services/advanced/constants/workspace-constant'; -import { ADVANCED_ROUTE } from '@/services/advanced/routes/route-constant'; +import { ADMIN_ADVANCED_ROUTE } from '@/services/advanced/routes/admin/route-constant'; const router = useRouter(); @@ -139,7 +138,7 @@ watch(() => workspaceState.selectedItems, (selectedItems) => {