[MM-58840] Add routing restrictions (#27482)

Этот коммит содержится в:
Julien Tant
2024-07-01 11:05:38 -07:00
коммит произвёл GitHub
родитель 6bfd309573
Коммит d0c4e820a4
4 изменённых файлов: 35 добавлений и 7 удалений

Просмотреть файл

@@ -36,6 +36,7 @@ import RestrictedIndicator from 'components/widgets/menu/menu_items/restricted_i
import {Constants, CloudProducts, LicenseSkus, AboutLinks, DocLinks, DeveloperLinks} from 'utils/constants';
import {isCloudLicense} from 'utils/license_utils';
import {ID_PATH_PATTERN} from 'utils/path';
import {getSiteURL} from 'utils/url';
import * as DefinitionConstants from './admin_definition_constants';
@@ -457,7 +458,7 @@ const AdminDefinition: AdminDefinitionType = {
},
},
system_user_detail: {
url: 'user_management/user/:user_id',
url: `user_management/user/:user_id(${ID_PATH_PATTERN})`,
isHidden: it.not(it.userHasReadPermissionOnResource(RESOURCE_KEYS.USER_MANAGEMENT.USERS)),
schema: {
id: 'SystemUserDetail',
@@ -465,7 +466,7 @@ const AdminDefinition: AdminDefinitionType = {
},
},
group_detail: {
url: 'user_management/groups/:group_id',
url: `user_management/groups/:group_id(${ID_PATH_PATTERN})`,
isDisabled: it.not(it.userHasWritePermissionOnResource(RESOURCE_KEYS.USER_MANAGEMENT.GROUPS)),
isHidden: it.not(it.userHasReadPermissionOnResource(RESOURCE_KEYS.USER_MANAGEMENT.GROUPS)),
schema: {
@@ -510,7 +511,7 @@ const AdminDefinition: AdminDefinitionType = {
restrictedIndicator: getRestrictedIndicator(true, LicenseSkus.Enterprise),
},
team_detail: {
url: 'user_management/teams/:team_id',
url: `user_management/teams/:team_id(${ID_PATH_PATTERN})`,
isDisabled: it.not(it.userHasWritePermissionOnResource(RESOURCE_KEYS.USER_MANAGEMENT.TEAMS)),
isHidden: it.not(it.userHasReadPermissionOnResource(RESOURCE_KEYS.USER_MANAGEMENT.TEAMS)),
schema: {
@@ -530,7 +531,7 @@ const AdminDefinition: AdminDefinitionType = {
},
},
channel_detail: {
url: 'user_management/channels/:channel_id',
url: `user_management/channels/:channel_id(${ID_PATH_PATTERN})`,
isDisabled: it.not(it.userHasWritePermissionOnResource(RESOURCE_KEYS.USER_MANAGEMENT.CHANNELS)),
isHidden: it.not(it.userHasReadPermissionOnResource(RESOURCE_KEYS.USER_MANAGEMENT.CHANNELS)),
schema: {
@@ -557,7 +558,7 @@ const AdminDefinition: AdminDefinitionType = {
},
},
teamSchemeDetail: {
url: 'user_management/permissions/team_override_scheme/:scheme_id',
url: `user_management/permissions/team_override_scheme/:scheme_id(${ID_PATH_PATTERN})`,
isDisabled: it.not(it.userHasWritePermissionOnResource(RESOURCE_KEYS.USER_MANAGEMENT.PERMISSIONS)),
schema: {
id: 'PermissionSystemScheme',
@@ -586,7 +587,7 @@ const AdminDefinition: AdminDefinitionType = {
},
},
system_role: {
url: 'user_management/system_roles/:role_id',
url: `user_management/system_roles/:role_id(${ID_PATH_PATTERN})`,
isDisabled: it.not(it.userHasWritePermissionOnResource(RESOURCE_KEYS.USER_MANAGEMENT.SYSTEM_ROLES)),
schema: {
id: 'SystemRole',
@@ -5622,7 +5623,7 @@ const AdminDefinition: AdminDefinitionType = {
isHidden: it.not(it.userHasReadPermissionOnSomeResources(RESOURCE_KEYS.COMPLIANCE)),
subsections: {
custom_policy_form_edit: {
url: 'compliance/data_retention_settings/custom_policy/:policy_id',
url: `compliance/data_retention_settings/custom_policy/:policy_id(${ID_PATH_PATTERN})`,
isHidden: it.any(
it.not(it.licensedForFeature('DataRetention')),
it.not(it.userHasReadPermissionOnSomeResources(RESOURCE_KEYS.COMPLIANCE.DATA_RETENTION_POLICY)),