Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/base/src/locale/en-US/dmsMenu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ export default {
title: 'Global settings',
userCenter: 'User center',
reportStatistics: 'Report statistics',
sqlManagementRemediationReport: 'SQL management remediation report',
viewRule: 'View rule',
ruleManage: 'Rule management',
system: 'System settings',
Expand Down
1 change: 1 addition & 0 deletions packages/base/src/locale/zh-CN/dmsMenu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ export default {
title: '全局设置',
userCenter: '用户中心',
reportStatistics: '报表统计',
sqlManagementRemediationReport: 'SQL 管控整改报表',
viewRule: '查看规则',
ruleManage: '规则管理',
system: '系统设置',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ import {
UserShieldFilled,
CenterCircleHexagonFilled,
DatabaseFilled,
// #if [sqle]
ProfileSquareFilled,
SignalFilled,
ProfileEditFilled,
OperateAuditFilled
ManagementFilled
// #endif
} from '@actiontech/icons';
import { ContextMenuItem } from './ContextMenu/index.type';
import ContextMenu from './ContextMenu';
Expand All @@ -27,53 +31,129 @@ const GlobalSetting: React.FC = () => {

const { checkPagePermission } = usePermission();

const menus: ContextMenuItem[] = useMemo(() => {
const handleClickItem = (path: string) => {
navigate(path);
};

const menusWithPermission: Array<
ContextMenuItem & { permission?: PermissionsConstantType }
> = [
{
key: 'user-center',
icon: <UserShieldFilled />,
text: t('menu.userCenter'),
onClick: () => handleClickItem(ROUTE_PATHS.BASE.USER_CENTER),
permission: PERMISSIONS.PAGES.BASE.USER_CENTER
},
{
key: 'data-source-management',
icon: <DatabaseFilled />,
text: t('dmsMenu.globalSettings.instanceManager'),
onClick: () =>
handleClickItem(ROUTE_PATHS.BASE.DATA_SOURCE_MANAGEMENT.index.path),
permission: PERMISSIONS.PAGES.BASE.DATA_SOURCE_MANAGEMENT
},
// #if [sqle]
{
key: 'rule-manager',
icon: <ProfileEditFilled />,
text: t('dmsMenu.globalSettings.ruleManage'),
onClick: () =>
handleClickItem(ROUTE_PATHS.SQLE.RULE_MANAGEMENT.index.path),
permission: PERMISSIONS.PAGES.SQLE.RULE_MANAGEMENT
},
// #endif
{
key: 'operationRecord',
icon: <OperateAuditFilled />,
text: t('dmsMenu.globalSettings.globalOperationRecord'),
onClick: () =>
handleClickItem(ROUTE_PATHS.SQLE.GLOBAL_OPERATION_LOG.index),
permission: PERMISSIONS.PAGES.SQLE.GLOBAL_OPERATION_RECORD
},
{
key: 'system',
icon: <GearFilled />,
text: t('dmsMenu.globalSettings.system'),
onClick: () => handleClickItem(ROUTE_PATHS.BASE.SYSTEM.index.path),
permission: PERMISSIONS.PAGES.BASE.SYSTEM_SETTING
return (
<Popover
open={open}
onOpenChange={setOpen}
trigger={['click']}
placement="topRight"
arrow={false}
content={
<PopoverInnerStyleWrapper>
<div className="header">{t('dmsMenu.globalSettings.title')}</div>
<div className="content">
<EmptyBox if={isAdmin}>
<div
className="content-item"
onClick={() => handleClickItem('/user-center')}
>
<UserShieldFilled />
<span className="content-item-text">
{t('dmsMenu.globalSettings.userCenter')}
</span>
</div>
</EmptyBox>
<EmptyBox if={isAdmin || isCertainProjectManager}>
<div
className="content-item"
onClick={() => handleClickItem(`/data-source-management`)}
>
<DatabaseFilled />
<span className="content-item-text">
{t('dmsMenu.globalSettings.instanceManager')}
</span>
</div>
</EmptyBox>
<EmptyBox if={!isAdmin}>
{/* #if [sqle]*/}
<div
className="content-item"
onClick={() => handleClickItem(`/sqle/rule`)}
>
<ProfileSquareFilled />
<span className="content-item-text">
{t('dmsMenu.globalSettings.viewRule')}
</span>
</div>
{/* #endif */}
</EmptyBox>
<EmptyBox if={isAdmin}>
{/* #if [sqle] */}
<div
className="content-item"
onClick={() => handleClickItem('/sqle/report-statistics')}
>
<SignalFilled />
<span className="content-item-text">
{t('dmsMenu.globalSettings.reportStatistics')}
</span>
</div>
<div
className="content-item"
onClick={() =>
handleClickItem('/sqle/sql-management-remediation-report')
}
>
<ManagementFilled />
<span className="content-item-text">
{t('dmsMenu.globalSettings.sqlManagementRemediationReport')}
</span>
</div>
<div
className="content-item"
onClick={() => handleClickItem(`/sqle/rule`)}
>
<ProfileSquareFilled />
<span className="content-item-text">
{t('dmsMenu.globalSettings.viewRule')}
</span>
</div>
<div
className="content-item"
onClick={() => handleClickItem(`/sqle/rule-manager`)}
>
<ProfileEditFilled />
<span className="content-item-text">
{t('dmsMenu.globalSettings.ruleManage')}
</span>
</div>
{/* #endif */}
<div
className="content-item"
onClick={() => handleClickItem(`/system`)}
>
<GearFilled />
<span className="content-item-text">
{t('dmsMenu.globalSettings.system')}
</span>
</div>
</EmptyBox>
</div>
{/* todo: hide theme change in
<div className="footer">
<span className="footer-text">
{t('dmsMenu.globalSettings.changeTheme')}
</span>
<div className="footer-icon">
<span
onClick={() => updateTheme(SupportTheme.LIGHT)}
className={classNames('footer-icon-wrapper', {
'footer-icon-active': theme === SupportTheme.LIGHT
})}
>
<IconSun />
</span>
<span
onClick={() => updateTheme(SupportTheme.DARK)}
className={classNames('footer-icon-wrapper', {
'footer-icon-active': theme === SupportTheme.DARK
})}
>
<IconMoon />
</span>
</div>
</div> */}
</PopoverInnerStyleWrapper>
}
];

Expand Down
2 changes: 1 addition & 1 deletion packages/base/src/scripts/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const UI_VERSION = 'sync/data-masking 417b194dd';
export const UI_VERSION = 'zjrc_3.2408 a32b5993';
103 changes: 30 additions & 73 deletions packages/shared/lib/api/sqle/service/SqlManage/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ import {
exportSqlManageV1FilterStatusEnum,
exportSqlManageV1SortFieldEnum,
exportSqlManageV1SortOrderEnum,
exportSqlManageRemediationV1ExportScopeEnum,
GetSqlManageListV2FilterSourceEnum,
GetSqlManageListV2FilterAuditLevelEnum,
GetSqlManageListV2FilterStatusEnum,
GetSqlManageListV2FilterPriorityEnum,
GetSqlManageListV2FilterRemediationStatusEnum,
GetSqlManageListV2SortFieldEnum,
GetSqlManageListV2SortOrderEnum,
exportSqlManageV2FilterPriorityEnum,
Expand All @@ -41,10 +43,9 @@ import {
IBatchUpdateSqlManageReq,
IBaseRes,
IGetSqlManageRuleTipsResp,
ISqlManageCodingReq,
IPostSqlManageCodingResp,
IGetSqlManageSqlAnalysisResp,
ISqlManageAnalysisChartResp
IGetSqlManageRemediationResp,
IGetSqlManageRemediationOverviewResp
} from '../common.d';

export interface IGetGlobalSqlManageListParams {
Expand Down Expand Up @@ -162,6 +163,20 @@ export interface IExportSqlManageV1Params {
sort_order?: exportSqlManageV1SortOrderEnum;
}

export interface IExportGlobalSqlManageRemediationV1Params {}

export interface IExportSqlManageRemediationV1Params {
project_name: string;

export_scope: exportSqlManageRemediationV1ExportScopeEnum;

filter_instance_id?: string;

instance_audit_plan_id?: number;

audit_plan_type?: string;
}

export interface IGetSqlManageRuleTipsParams {
project_name: string;
}
Expand Down Expand Up @@ -222,6 +237,8 @@ export interface IGetSqlManageListV2Params {

filter_status?: GetSqlManageListV2FilterStatusEnum;

filter_remediation_status?: GetSqlManageListV2FilterRemediationStatusEnum;

filter_rule_name?: string;

filter_db_type?: string;
Expand All @@ -247,82 +264,22 @@ export interface IGetSqlManageListV2Params {

export interface IGetSqlManageListV2Return extends IGetSqlManageListResp {}

export interface IExportSqlManageV2Params {
export interface IGetSqlManageRemediationV1Params {
project_name: string;

fuzzy_search_sql_fingerprint?: string;

filter_assignee?: string;

filter_by_environment_tag?: string;

filter_priority?: exportSqlManageV2FilterPriorityEnum;

filter_instance_id?: string;

filter_source?: exportSqlManageV2FilterSourceEnum;

filter_audit_level?: exportSqlManageV2FilterAuditLevelEnum;

filter_last_audit_start_time_from?: string;

filter_last_audit_start_time_to?: string;

filter_status?: exportSqlManageV2FilterStatusEnum;

filter_db_type?: string;

filter_rule_name?: string;

fuzzy_search_endpoint?: string;

fuzzy_search_schema_name?: string;

sort_field?: exportSqlManageV2SortFieldEnum;

sort_order?: exportSqlManageV2SortOrderEnum;

export_format?: exportSqlManageV2ExportFormatEnum;
sql_manage_id: string;
}

export interface IGetSqlManageListV3Params {
project_name: string;

fuzzy_search_sql_fingerprint?: string;

filter_assignee?: string;

filter_instance_id?: string;

filter_source?: GetSqlManageListV3FilterSourceEnum;

filter_audit_level?: GetSqlManageListV3FilterAuditLevelEnum;

filter_last_audit_start_time_from?: string;

filter_last_audit_start_time_to?: string;
export interface IGetSqlManageRemediationV1Return
extends IGetSqlManageRemediationResp {}

filter_status?: GetSqlManageListV3FilterStatusEnum;

filter_rule_name?: string;

filter_db_type?: string;

filter_by_environment_tag?: string;

filter_priority?: GetSqlManageListV3FilterPriorityEnum;

fuzzy_search_endpoint?: string;

fuzzy_search_schema_name?: string;

sort_field?: GetSqlManageListV3SortFieldEnum;

sort_order?: GetSqlManageListV3SortOrderEnum;
export interface IGetSqlManageRemediationOverviewV1Params {
project_name: string;

page_index: number;
instance_audit_plan_id?: number;

page_size: number;
audit_plan_type?: string;
}

export interface IGetSqlManageListV3Return extends IGetSqlManageListResp {}
export interface IGetSqlManageRemediationOverviewV1Return
extends IGetSqlManageRemediationOverviewResp {}
20 changes: 20 additions & 0 deletions packages/shared/lib/api/sqle/service/SqlManage/index.enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,14 @@ export enum exportSqlManageV1SortOrderEnum {
'desc' = 'desc'
}

export enum exportSqlManageRemediationV1ExportScopeEnum {
'project' = 'project',

'data_source' = 'data_source',

'scan_task' = 'scan_task'
}

export enum GetSqlManageListV2FilterSourceEnum {
'audit_plan' = 'audit_plan',

Expand Down Expand Up @@ -136,6 +144,18 @@ export enum GetSqlManageListV2FilterPriorityEnum {
'low' = 'low'
}

export enum GetSqlManageListV2FilterRemediationStatusEnum {
'resolved' = 'resolved',

'partially_fixed' = 'partially_fixed',

'unchanged' = 'unchanged',

'deteriorated' = 'deteriorated',

'newly_discovered' = 'newly_discovered'
}

export enum GetSqlManageListV2SortFieldEnum {
'first_appear_timestamp' = 'first_appear_timestamp',

Expand Down
Loading
Loading