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
26 changes: 25 additions & 1 deletion packages/shared/lib/api/sqle/service/SqlManage/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ import {
ISqlManageCodingReq,
IPostSqlManageCodingResp,
IGetSqlManageSqlAnalysisResp,
ISqlManageAnalysisChartResp
ISqlManageAnalysisChartResp,
IGetSqlManageRemediationResp,
IGetSqlManageRemediationOverviewResp
} from '../common.d';

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

export interface IExportGlobalSqlManageRemediationV1Params {}

export interface IGetSqlManageRuleTipsParams {
project_name: string;
}
Expand Down Expand Up @@ -247,6 +251,26 @@ export interface IGetSqlManageListV2Params {

export interface IGetSqlManageListV2Return extends IGetSqlManageListResp {}

export interface IGetSqlManageRemediationV1Params {
project_name: string;

sql_manage_id: string;
}

export interface IGetSqlManageRemediationV1Return
extends IGetSqlManageRemediationResp {}

export interface IGetSqlManageRemediationOverviewV1Params {
project_name: string;

instance_audit_plan_id?: number;

audit_plan_type?: string;
}

export interface IGetSqlManageRemediationOverviewV1Return
extends IGetSqlManageRemediationOverviewResp {}

export interface IExportSqlManageV2Params {
project_name: string;

Expand Down
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
51 changes: 51 additions & 0 deletions packages/shared/lib/api/sqle/service/SqlManage/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import {
IBatchUpdateSqlManageParams,
IBatchUpdateSqlManageReturn,
IExportSqlManageV1Params,
IExportGlobalSqlManageRemediationV1Params,
IGetSqlManageRuleTipsParams,
IGetSqlManageRuleTipsReturn,
ISendSqlManageParams,
Expand All @@ -28,6 +29,10 @@ import {
IGetSqlManageSqlAnalysisChartV1Return,
IGetSqlManageListV2Params,
IGetSqlManageListV2Return,
IGetSqlManageRemediationV1Params,
IGetSqlManageRemediationV1Return,
IGetSqlManageRemediationOverviewV1Params,
IGetSqlManageRemediationOverviewV1Return,
IExportSqlManageV2Params,
IGetSqlManageListV3Params,
IGetSqlManageListV3Return
Expand Down Expand Up @@ -118,6 +123,19 @@ class SqlManageService extends ServiceBase {
);
}

public exportGlobalSqlManageRemediationV1(
params: IExportGlobalSqlManageRemediationV1Params = {},
options?: AxiosRequestConfig
) {
const paramsData = this.cloneDeep(params);

return this.get<any>(
`/v1/sql_manages/remediation_exports`,
paramsData,
options
);
}

public GetSqlManageRuleTips(
params: IGetSqlManageRuleTipsParams,
options?: AxiosRequestConfig
Expand Down Expand Up @@ -199,6 +217,39 @@ class SqlManageService extends ServiceBase {
);
}

public GetSqlManageRemediationV1(
params: IGetSqlManageRemediationV1Params,
options?: AxiosRequestConfig
) {
const paramsData = this.cloneDeep(params);
const project_name = paramsData.project_name;
delete paramsData.project_name;

const sql_manage_id = paramsData.sql_manage_id;
delete paramsData.sql_manage_id;

return this.get<IGetSqlManageRemediationV1Return>(
`/v1/projects/${project_name}/sql_manages/${sql_manage_id}/remediation`,
paramsData,
options
);
}

public getSqlManageRemediationOverviewV1(
params: IGetSqlManageRemediationOverviewV1Params,
options?: AxiosRequestConfig
) {
const paramsData = this.cloneDeep(params);
const project_name = paramsData.project_name;
delete paramsData.project_name;

return this.get<IGetSqlManageRemediationOverviewV1Return>(
`/v1/projects/${project_name}/sql_manages/remediation_overview`,
paramsData,
options
);
}

public exportSqlManageV2(
params: IExportSqlManageV2Params,
options?: AxiosRequestConfig
Expand Down
74 changes: 74 additions & 0 deletions packages/shared/lib/api/sqle/service/common.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5103,3 +5103,77 @@ export interface ICompleteWorkflowReq {

workflow_id?: string;
}

export interface IRuleDiff {
new?: IAuditResult[];

resolved?: IAuditResult[];

unchanged?: IAuditResult[];
}

export interface ISqlManageRemediation {
first_audit_missing?: boolean;

first_audit_result?: IAuditResult[];

first_audit_time?: string;

id?: number;

latest_audit_result?: IAuditResult[];

latest_audit_time?: string;

remediation_status?: string;

rule_diff?: IRuleDiff;

sql?: string;

sql_fingerprint?: string;
}

export interface IGetSqlManageRemediationResp {
code?: number;

data?: ISqlManageRemediation;

message?: string;
}

export interface ISqlManageRemediationOverviewStatusCount {
deteriorated?: number;

newly_discovered?: number;

partially_fixed?: number;

resolved?: number;

unchanged?: number;
}

export interface ISqlManageRemediationOverview {
first_audit_missing_num?: number;

first_score?: number;

latest_score?: number;

remediation_rate?: number;

score_change?: number;

sql_total_num?: number;

remediation_status_count?: ISqlManageRemediationOverviewStatusCount;
}

export interface IGetSqlManageRemediationOverviewResp {
code?: number;

data?: ISqlManageRemediationOverview;

message?: string;
}
1 change: 1 addition & 0 deletions packages/sqle/src/data/EmitterKey.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ enum EmitterKey {
Refresh_Sql_Management_Conf_Overview_List = 'Refresh_Sql_Management_Conf_Overview_List',
Refresh_Sql_Management_Conf_Detail_Sql_List = 'Refresh_Sql_Management_Conf_Detail_Sql_List',
Export_Sql_Management_Conf_Detail_Sql_List = 'Export_Sql_Management_Conf_Detail_Sql_List',
Export_Sql_Management_Conf_Detail_Remediation = 'Export_Sql_Management_Conf_Detail_Remediation',

Refresh_Sql_management_Exception_List = 'Refresh_Sql_management_Exception_List',

Expand Down
13 changes: 13 additions & 0 deletions packages/sqle/src/locale/en-US/managementConf.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,19 @@ export default {
auditImmediately: 'Audit immediately',
auditImmediatelySuccessTips: 'Audit successfully',
exportTips: 'Exporting scan task details',
remediationExport: 'SQL remediation',
remediationExportTips: 'Exporting SQL management remediation report',
remediationExportSuccessTips:
'Export SQL management remediation report successfully',
remediationOverview: {
title: 'Remediation overview',
sqlTotal: 'SQL total',
firstScore: 'First score',
latestScore: 'Latest score',
scoreChange: 'Score change',
remediationRate: 'Remediation rate',
loadFailed: 'Failed to load remediation overview: {{message}}'
},
overview: {
title: 'Overview',
column: {
Expand Down
21 changes: 21 additions & 0 deletions packages/sqle/src/locale/en-US/sqlManagement.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,19 @@ export default {
}
}
},
remediationReport: {
pageTitle: 'SQL management remediation report',
description:
'Export SQL management remediation tracking data in global scope. The Excel file contains Overview, Rule summary and Details.',
exportButton: 'Export SQL management remediation report',
exporting: 'Exporting SQL management remediation report',
exportSuccessTips: 'Export SQL management remediation report successfully',
scopeTitle: 'Export scope',
scopeContent:
'Global scope: includes SQL management remediation data across all projects available to platform administrators.',
permissionTips:
'Only platform administrators / global operators can see and export this report.'
},
statistics: {
SQLTotalNum: 'SQL total',
problemSQlNum: 'Problem SQL',
Expand Down Expand Up @@ -67,9 +80,17 @@ export default {
occurrenceCount: 'Occurrence count',
personInCharge: 'Person in charge',
status: 'Status',
remediationStatus: 'Remediation status',
comment: 'Comment',
endpoints: 'Endpoint info'
},
remediationStatus: {
resolved: 'Resolved',
partially_fixed: 'Partially fixed',
unchanged: 'Unchanged',
deteriorated: 'Deteriorated',
newly_discovered: 'Newly discovered'
},
filter: {
time: 'Time range',
status: {
Expand Down
12 changes: 12 additions & 0 deletions packages/sqle/src/locale/zh-CN/managementConf.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,18 @@ export default {
auditImmediately: '立即审核',
auditImmediatelySuccessTips: '审核成功',
exportTips: '正在导出扫描任务详情',
remediationExport: 'SQL 管控整改',
remediationExportTips: '正在导出 SQL 管控整改报表',
remediationExportSuccessTips: 'SQL 管控整改报表导出成功',
remediationOverview: {
title: '整改概览',
sqlTotal: 'SQL 总数',
firstScore: '首次评分',
latestScore: '最末次评分',
scoreChange: '评分变化',
remediationRate: '整改率',
loadFailed: '整改概览加载失败:{{message}}'
},
overview: {
title: '概览',
column: {
Expand Down
33 changes: 33 additions & 0 deletions packages/sqle/src/locale/zh-CN/sqlManagement.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ export default {
}
}
},
remediationReport: {
pageTitle: 'SQL 管控整改报表',
description:
'导出全局范围内 SQL 管控整改追踪数据,Excel 包含概览、规则维度汇总和明细。',
exportButton: '导出 SQL 管控整改报表',
exporting: '正在导出 SQL 管控整改报表',
exportSuccessTips: 'SQL 管控整改报表导出成功',
scopeTitle: '导出范围',
scopeContent:
'全局范围:覆盖当前用户有平台管理权限的全部项目 SQL 管控整改数据',
permissionTips: '仅平台超管 / 全局运维可见并可导出。'
},
statistics: {
SQLTotalNum: 'SQL总数',
problemSQlNum: '问题SQL数',
Expand Down Expand Up @@ -92,9 +104,17 @@ export default {
occurrenceCount: '出现数量',
personInCharge: '负责人',
status: '状态',
remediationStatus: '整改状态',
comment: '备注',
endpoints: '端点信息'
},
remediationStatus: {
resolved: '已整改',
partially_fixed: '部分整改',
unchanged: '未变化',
deteriorated: '恶化',
newly_discovered: '新发现'
},
filter: {
time: '时间范围',
status: {
Expand Down Expand Up @@ -127,5 +147,18 @@ export default {
statusReport: {
title: 'SQL审核结果'
}
},
remediationCompare: {
tab: '整改对比',
title: '整改对比',
description: '对比首次审核与最末次审核结果,展示规则整改变化',
firstAuditMissing: '无首次审核快照,当前按最末次结果展示新发现问题。',
firstAuditResult: '首次审核结果',
latestAuditResult: '最末次审核结果',
ruleDiffTitle: '规则差异',
resolved: '已解决规则',
new: '新增规则',
unchanged: '维持规则',
emptyRules: '无命中规则'
}
};
Loading
Loading