Skip to content

Commit 954d5b7

Browse files
authored
Merge pull request #5763 from cloudforet-io/hotfix-bug
fix: fixed minor bug (global-config)
2 parents 63a5989 + f61fb48 commit 954d5b7

File tree

5 files changed

+35
-17
lines changed

5 files changed

+35
-17
lines changed

Diff for: apps/web/src/lib/config/global-config/feature-schema-manager.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export class FeatureSchemaManager {
3131
if (configurator) {
3232
const currentVersion = this.config[feature]?.VERSION || 'V1';
3333
configurator.initialize(currentVersion);
34-
const menuConfig = configurator.getMenu();
34+
const menuConfig = configurator.getMenu(this.config);
3535

3636
if (configurator.uiAffect) {
3737
configurator.uiAffect.forEach((uiAffect) => {

Diff for: apps/web/src/lib/config/global-config/types/type.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export type ApiClientsSchemaType = {
3232

3333
export interface FeatureConfiguratorType {
3434
getRoutes: (isAdmin?: boolean) => RouteConfig|null;
35-
getMenu: (isAdmin?: boolean) => FeatureMenuConfig;
35+
getMenu: (config?: GlobalServiceConfig) => FeatureMenuConfig;
3636
initialize: (version: FeatureVersion) => void;
3737
uiAffect: FeatureUiAffect[];
3838
}

Diff for: apps/web/src/services/iam/components/UserGroupManagementTabUsers.vue

+10-1
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@ import {
1414
import type { DataTableFieldType } from '@cloudforet/mirinae/types/data-display/tables/data-table/type';
1515
1616
import type { ListResponse } from '@/api-clients/_common/schema/api-verbs/list';
17+
import type { UserListParameters } from '@/api-clients/identity/user/schema/api-verbs/list';
18+
import type { UserModel } from '@/api-clients/identity/user/schema/model';
1719
import type { WorkspaceUserListParameters } from '@/api-clients/identity/workspace-user/schema/api-verbs/list';
1820
import type { WorkspaceUserModel } from '@/api-clients/identity/workspace-user/schema/model';
1921
import { i18n } from '@/translations';
2022
23+
import { useAppContextStore } from '@/store/app-context/app-context-store';
24+
2125
import ErrorHandler from '@/common/composables/error/errorHandler';
2226
import { useQueryTags } from '@/common/composables/query-tags';
2327
@@ -36,6 +40,7 @@ interface Props {
3640
3741
const props = defineProps<Props>();
3842
43+
const appContextStore = useAppContextStore();
3944
const userGroupPageStore = useUserGroupPageStore();
4045
const userGroupPageState = userGroupPageStore.state;
4146
const userGroupPageGetters = userGroupPageStore.getters;
@@ -70,6 +75,7 @@ const state = reactive({
7075
userItemTotalCount: computed<number>(() => userGroupPageState.users.totalCount),
7176
filteredUserList: [] as UserListItemType[],
7277
totalCount: 0,
78+
isAdminMode: computed<boolean>(() => appContextStore.getters.isAdminMode),
7379
});
7480
7581
const tableState = reactive({
@@ -139,8 +145,11 @@ const handleChange = async (options: any = {}) => {
139145
140146
/* API */
141147
const fetchWorkspaceUserList = async (params: WorkspaceUserListParameters) => {
148+
const fetcher = state.isAdminMode
149+
? SpaceConnector.clientV2.identity.user.list<UserListParameters, ListResponse<UserModel>>
150+
: SpaceConnector.clientV2.identity.workspaceUser.list<WorkspaceUserListParameters, ListResponse<WorkspaceUserModel>>;
142151
try {
143-
const { results, total_count } = await SpaceConnector.clientV2.identity.workspaceUser.list<WorkspaceUserListParameters, ListResponse<WorkspaceUserModel>>(params);
152+
const { results, total_count } = await fetcher(params);
144153
state.filteredUserList = results ?? [];
145154
userGroupPageState.users.list = results;
146155
state.totalCount = total_count ?? 0;

Diff for: apps/web/src/services/iam/configurator.ts

+23-13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import type { RouteConfig } from 'vue-router';
22

3-
import type { FeatureConfiguratorType, FeatureMenuConfig, FeatureUiAffect } from '@/lib/config/global-config/types/type';
3+
import type {
4+
FeatureConfiguratorType, FeatureMenuConfig, FeatureUiAffect, GlobalServiceConfig,
5+
} from '@/lib/config/global-config/types/type';
46
import type { Menu } from '@/lib/menu/config';
57
import { MENU_ID } from '@/lib/menu/config';
68

@@ -21,31 +23,39 @@ class IamConfigurator implements FeatureConfiguratorType {
2123
return isAdmin ? adminIamRoutes : iamRoutes;
2224
}
2325

24-
getMenu(): FeatureMenuConfig {
26+
getMenu(config?: GlobalServiceConfig): FeatureMenuConfig {
27+
const alertManagerVersion = config?.ALERT_MANAGER?.VERSION;
2528
const baseMenu: Menu = {
2629
id: MENU_ID.IAM,
2730
needPermissionByRole: true,
2831
subMenuList: [],
2932
order: 8,
3033
};
3134

35+
const workspaceSubMenuList: Menu[] = [
36+
{ id: MENU_ID.USER, needPermissionByRole: true },
37+
{ id: MENU_ID.APP, needPermissionByRole: true },
38+
];
39+
40+
const adminSubMenuList: Menu[] = [
41+
{ id: MENU_ID.USER },
42+
{ id: MENU_ID.APP },
43+
{ id: MENU_ID.ROLE },
44+
];
45+
46+
if (alertManagerVersion === 'V2') {
47+
workspaceSubMenuList.splice(1, 0, { id: MENU_ID.USER_GROUP, needPermissionByRole: true });
48+
adminSubMenuList.splice(1, 0, { id: MENU_ID.USER_GROUP });
49+
}
50+
3251
return {
3352
menu: {
3453
...baseMenu,
35-
subMenuList: [
36-
{ id: MENU_ID.USER, needPermissionByRole: true },
37-
{ id: MENU_ID.USER_GROUP, needPermissionByRole: true },
38-
{ id: MENU_ID.APP, needPermissionByRole: true },
39-
],
54+
subMenuList: workspaceSubMenuList,
4055
},
4156
adminMenu: {
4257
...baseMenu,
43-
subMenuList: [
44-
{ id: MENU_ID.USER },
45-
{ id: MENU_ID.USER_GROUP },
46-
{ id: MENU_ID.APP },
47-
{ id: MENU_ID.ROLE },
48-
],
58+
subMenuList: adminSubMenuList,
4959
},
5060
version: this.version,
5161
};

Diff for: apps/web/src/services/ops-flow/configurator.ts

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ class OpsFlowConfigurator implements FeatureConfiguratorType {
3535
subMenuList: [
3636
{ id: MENU_ID.OPS_FLOW_LANDING, needPermissionByRole: true },
3737
{ id: MENU_ID.TASK_BOARD, needPermissionByRole: true },
38-
{ id: MENU_ID.APP, needPermissionByRole: true },
3938
],
4039
},
4140
adminMenu: {

0 commit comments

Comments
 (0)