Skip to content

Commit

Permalink
Merge pull request #602 from actiontech/revert-597-fix/sqle-issue-2932
Browse files Browse the repository at this point in the history
Revert "[feature](RuleTemplate): add permission check for global rule template"
  • Loading branch information
Rain-1214 authored Feb 28, 2025
2 parents b3e6ba3 + 394154e commit 68de56b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import { ModalName } from '../../../data/ModalName';
import { useDispatch, useSelector } from 'react-redux';
import { SystemRole } from '@actiontech/shared/lib/enum';
import { createSpySuccessResponse } from '@actiontech/shared/lib/testUtil/mockApi';
import { mockUsePermission } from '@actiontech/shared/lib/testUtil/mockHook/mockUsePermission';

jest.mock('react-redux', () => ({
...jest.requireActual('react-redux'),
Expand Down Expand Up @@ -183,20 +182,4 @@ describe('sqle/RuleTemplate/List', () => {
expect(screen.getByText('克隆规则模板')).toBeInTheDocument();
expect(screen.getByText('导出规则模板')).toBeInTheDocument();
});

it('should not render public rule template list when user in not admin', async () => {
mockUseCurrentUser({
...mockCurrentUserReturn,
userRoles: {
...mockCurrentUserReturn.userRoles,
[SystemRole.admin]: false,
[SystemRole.globalManager]: false,
[SystemRole.globalViewing]: false
}
});
customRender();

await act(async () => jest.advanceTimersByTime(3000));
expect(screen.queryByText('公共规则模板')).not.toBeInTheDocument();
});
});
56 changes: 15 additions & 41 deletions packages/sqle/src/page/RuleTemplate/RuleTemplateList/index.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,9 @@
import { useTranslation } from 'react-i18next';
import { Space } from 'antd';
import {
PageHeader,
EmptyBox,
SegmentedTabs,
SegmentedTabsProps
} from '@actiontech/shared';
import { PageHeader, EmptyBox, SegmentedTabs } from '@actiontech/shared';
import { TableRefreshButton } from '@actiontech/shared/lib/components/ActiontechTable';
import { useMemo, useState } from 'react';
import {
PERMISSIONS,
PermissionsConstantType,
useCurrentProject,
usePermission
} from '@actiontech/shared/lib/features';
import { useState } from 'react';
import { useCurrentProject } from '@actiontech/shared/lib/features';
import { EnumTemplateType } from './index.type';
import ProjectTable from './ProjectTable';
import EventEmitter from '../../../utils/EventEmitter';
Expand All @@ -36,33 +26,6 @@ const RuleTemplateList = () => {

const [activeKey, setActiveKey] = useState(EnumTemplateType.project);

const { checkPagePermission } = usePermission();

const tabItems = useMemo<SegmentedTabsProps['items']>(() => {
const items: Array<
SegmentedTabsProps['items'][0] & { permission?: PermissionsConstantType }
> = [
{
label: t('ruleTemplate.ruleTemplateTitle.project'),
value: EnumTemplateType.project,
children: <ProjectTable />
},
{
label: t('ruleTemplate.ruleTemplateTitle.common'),
value: EnumTemplateType.common,
children: <CommonTable />,
permission: PERMISSIONS.PAGES.SQLE.RULE_MANAGEMENT
}
];

return items.filter((item) => {
if (item.permission === undefined) {
return true;
}
return checkPagePermission(item.permission);
});
}, [checkPagePermission, t]);

return (
<>
<PageHeader
Expand All @@ -84,7 +47,18 @@ const RuleTemplateList = () => {
<SegmentedTabs
activeKey={activeKey}
onChange={setActiveKey}
items={tabItems}
items={[
{
label: t('ruleTemplate.ruleTemplateTitle.project'),
value: EnumTemplateType.project,
children: <ProjectTable />
},
{
label: t('ruleTemplate.ruleTemplateTitle.common'),
value: EnumTemplateType.common,
children: <CommonTable />
}
]}
/>
<CloneRuleTemplate />
<ExportProjectRuleTemplate />
Expand Down

0 comments on commit 68de56b

Please sign in to comment.