[MM-51844 & MM-51843] Work template permissions check (#22825)

Этот коммит содержится в:
Julien Tant
2023-04-10 09:51:20 -07:00
коммит произвёл GitHub
родитель fbe7323079
Коммит 6e7759b314
7 изменённых файлов: 67 добавлений и 18 удалений

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

@@ -3,14 +3,23 @@
import {createSelector} from 'reselect';
import {getFeatureFlagValue} from 'mattermost-redux/selectors/entities/general';
import {getFeatureFlagValue, getLicense} from 'mattermost-redux/selectors/entities/general';
import {GlobalState} from 'types/store';
import {haveICurrentTeamPermission} from 'mattermost-redux/selectors/entities/roles';
import {Permissions} from 'mattermost-redux/constants';
import {isEnterpriseOrE20License} from 'utils/license_utils';
export const areWorkTemplatesEnabled = createSelector(
'areWorktemplatesEnabled',
(state: GlobalState) => getFeatureFlagValue(state, 'WorkTemplate') === 'true',
(workTemplateFF) => {
return workTemplateFF;
(state: GlobalState) => getLicense(state),
(state: GlobalState) => haveICurrentTeamPermission(state, Permissions.CREATE_PUBLIC_CHANNEL) || haveICurrentTeamPermission(state, Permissions.CREATE_PRIVATE_CHANNEL),
(state: GlobalState) => haveICurrentTeamPermission(state, Permissions.PLAYBOOK_PUBLIC_CREATE),
(state: GlobalState) => haveICurrentTeamPermission(state, Permissions.PLAYBOOK_PRIVATE_CREATE),
(workTemplateFF, license, canCreateChannel, canCreatePublicPlaybook, canCreatePrivatePlaybook) => {
const licenseIsEnterprise = isEnterpriseOrE20License(license);
const canCreatePlaybook = canCreatePublicPlaybook || (canCreatePrivatePlaybook && licenseIsEnterprise);
return workTemplateFF && canCreateChannel && canCreatePlaybook;
},
);