From 9ea78a509d56e513ba2360e98af47a8984a1651a Mon Sep 17 00:00:00 2001 From: LZS911 <932177767@qq.com> Date: Tue, 27 Aug 2024 16:49:29 +0800 Subject: [PATCH 1/5] [chore]: build API --- .../shared/lib/api/sqle/service/common.d.ts | 2 +- .../service/instance_audit_plan/index.d.ts | 25 ++++++++++-- .../sqle/service/instance_audit_plan/index.ts | 40 +++++++++++++++++++ 3 files changed, 63 insertions(+), 4 deletions(-) diff --git a/packages/shared/lib/api/sqle/service/common.d.ts b/packages/shared/lib/api/sqle/service/common.d.ts index 51e375f51..c16458386 100644 --- a/packages/shared/lib/api/sqle/service/common.d.ts +++ b/packages/shared/lib/api/sqle/service/common.d.ts @@ -2225,7 +2225,7 @@ export interface IScheduledTaskDefaultOptionV1Rsp { export interface ISource { sql_source_desc?: string; - sql_source_id?: string; + sql_source_ids?: string[]; sql_source_type?: string; } diff --git a/packages/shared/lib/api/sqle/service/instance_audit_plan/index.d.ts b/packages/shared/lib/api/sqle/service/instance_audit_plan/index.d.ts index e66f23282..373a75415 100644 --- a/packages/shared/lib/api/sqle/service/instance_audit_plan/index.d.ts +++ b/packages/shared/lib/api/sqle/service/instance_audit_plan/index.d.ts @@ -1,4 +1,7 @@ import { + IGetAuditPlanSQLDataReqV1, + IGetAuditPlanSQLDataResV1, + IGetAuditPlanSQLMetaResV1, IGetInstanceAuditPlansResV1, ICreateInstanceAuditPlanReqV1, ICreatInstanceAuditPlanResV1, @@ -8,15 +11,31 @@ import { IUpdateInstanceAuditPlanStatusReqV1, IGetInstanceAuditPlanOverviewResV1, IUpdateAuditPlanStatusReqV1, - IGetAuditPlanSQLDataReqV1, - IGetAuditPlanSQLDataResV1, IGetAuditPlanSQLExportReqV1, - IGetAuditPlanSQLMetaResV1, IGetAuditPlanSQLsResV1, IGetSqlManageSqlAnalysisResp, IUploadInstanceAuditPlanSQLsReqV2 } from '../common.d'; +export interface IGetAuditPlanSQLDataV1Params + extends IGetAuditPlanSQLDataReqV1 { + project_name: string; + + audit_plan_id: string; +} + +export interface IGetAuditPlanSQLDataV1Return + extends IGetAuditPlanSQLDataResV1 {} + +export interface IGetAuditPlanSQLMetaV1Params { + project_name: string; + + audit_plan_id: string; +} + +export interface IGetAuditPlanSQLMetaV1Return + extends IGetAuditPlanSQLMetaResV1 {} + export interface IGetInstanceAuditPlansV1Params { project_name: string; diff --git a/packages/shared/lib/api/sqle/service/instance_audit_plan/index.ts b/packages/shared/lib/api/sqle/service/instance_audit_plan/index.ts index e2bba32cf..61169dd94 100644 --- a/packages/shared/lib/api/sqle/service/instance_audit_plan/index.ts +++ b/packages/shared/lib/api/sqle/service/instance_audit_plan/index.ts @@ -7,6 +7,10 @@ import ServiceBase from '../Service.base'; import { AxiosRequestConfig } from 'axios'; import { + IGetAuditPlanSQLDataV1Params, + IGetAuditPlanSQLDataV1Return, + IGetAuditPlanSQLMetaV1Params, + IGetAuditPlanSQLMetaV1Return, IGetInstanceAuditPlansV1Params, IGetInstanceAuditPlansV1Return, ICreateInstanceAuditPlanV1Params, @@ -41,6 +45,42 @@ import { } from './index.d'; class InstanceAuditPlanService extends ServiceBase { + public getAuditPlanSQLDataV1( + params: IGetAuditPlanSQLDataV1Params, + options?: AxiosRequestConfig + ) { + const paramsData = this.cloneDeep(params); + const project_name = paramsData.project_name; + delete paramsData.project_name; + + const audit_plan_id = paramsData.audit_plan_id; + delete paramsData.audit_plan_id; + + return this.post( + `/v1/projects/${project_name}/audit_plans/${audit_plan_id}/sql_data`, + paramsData, + options + ); + } + + public getAuditPlanSQLMetaV1( + params: IGetAuditPlanSQLMetaV1Params, + options?: AxiosRequestConfig + ) { + const paramsData = this.cloneDeep(params); + const project_name = paramsData.project_name; + delete paramsData.project_name; + + const audit_plan_id = paramsData.audit_plan_id; + delete paramsData.audit_plan_id; + + return this.get( + `/v1/projects/${project_name}/audit_plans/${audit_plan_id}/sql_meta`, + paramsData, + options + ); + } + public getInstanceAuditPlansV1( params: IGetInstanceAuditPlansV1Params, options?: AxiosRequestConfig From 381ae5b5d5af3963e64f8d7cd11ccc32d5ab50df Mon Sep 17 00:00:00 2001 From: LZS911 <932177767@qq.com> Date: Tue, 27 Aug 2024 16:49:56 +0800 Subject: [PATCH 2/5] [feature]: (SqlManagement) implement quick review functionality from list view --- .../sqle/src/page/SqlAudit/List/index.tsx | 4 +- .../__snapshots__/index.test.tsx.snap | 329 +++++++++++++++++- .../component/SQLEEIndex/column.tsx | 24 +- .../src/testUtils/mockApi/sqlManage/data.ts | 33 +- 4 files changed, 379 insertions(+), 11 deletions(-) diff --git a/packages/sqle/src/page/SqlAudit/List/index.tsx b/packages/sqle/src/page/SqlAudit/List/index.tsx index 2fa57a4fd..ba78973ec 100644 --- a/packages/sqle/src/page/SqlAudit/List/index.tsx +++ b/packages/sqle/src/page/SqlAudit/List/index.tsx @@ -57,10 +57,10 @@ const SqlAuditList = () => { const searchStr = new URLSearchParams(location.search); if (searchStr.has(SQLAuditRecordListUrlParamsKey.SQLAuditRecordID)) { return ( - searchStr.get(SQLAuditRecordListUrlParamsKey.SQLAuditRecordID) ?? '' + searchStr.get(SQLAuditRecordListUrlParamsKey.SQLAuditRecordID) ?? + undefined ); } - return ''; }, [location.search]); const [filterStatus, setFilterStatus] = useState< getSQLAuditRecordsV1FilterSqlAuditStatusEnum | 'all' diff --git a/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/__snapshots__/index.test.tsx.snap index f6669fdb1..3743a80dc 100644 --- a/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/__snapshots__/index.test.tsx.snap +++ b/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/__snapshots__/index.test.tsx.snap @@ -3505,7 +3505,8 @@ exports[`page/SqlManagement/SQLEEIndex render table data 1`] = ` class="ant-table-cell" > 慢日志 @@ -3896,7 +3897,8 @@ exports[`page/SqlManagement/SQLEEIndex render table data 1`] = ` class="ant-table-cell" > 慢日志 @@ -4256,7 +4258,8 @@ exports[`page/SqlManagement/SQLEEIndex render table data 1`] = ` class="ant-table-cell" > 慢日志 @@ -4422,6 +4425,326 @@ exports[`page/SqlManagement/SQLEEIndex render table data 1`] = ` + + + + + +
+
+ + + SELECT + + ? + +
+
+ + + +
+
+ + +
+
+ + + SELECT + + + + 1 + + ; + +
+
+ + + +
+
+ + + + SQL审核 + + + +
+
+
+ + + + + + + 白名单 + +
+
+
+ + + MYSQL_3307 + + + db1 + + + - + + +
+
+
+ + + T + + +
+
+
+
+ + + T + + +
+
+
+ + + - + + + + 未处理 + + + + + + +
+
+
+ +
+
+ +
+
+ +
+ + diff --git a/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/column.tsx b/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/column.tsx index f8dfae156..212c8651b 100644 --- a/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/column.tsx +++ b/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/column.tsx @@ -18,6 +18,7 @@ import { Avatar } from 'antd'; import StatusTag from './StatusTag'; import { BasicTag, BasicTypographyEllipsis } from '@actiontech/shared'; import { ACTIONTECH_TABLE_ACTION_BUTTON_WIDTH } from '@actiontech/shared/lib/components/ActiontechTable/hooks/useTableAction'; +import { SQLAuditRecordListUrlParamsKey } from './index.data'; export type SqlManagementTableFilterParamType = PageInfoWithoutIndexAndSize< IGetSqlManageListV2Params, @@ -230,11 +231,28 @@ const SqlManagementColumn: ( dataIndex: 'source', title: () => t('sqlManagement.table.column.source'), render: (source) => { - //todo 本期只支持跳转至 sql管控配置,后续调整 - if (source && source.sql_source_id && source.sql_source_type) { + if ( + !!source && + !!source.sql_source_ids && + source.sql_source_ids.length > 0 && + !!source.sql_source_type + ) { + if (source.sql_source_type === 'sql_audit_record') { + return ( + + {source.sql_source_desc} + + ); + } return ( {source.sql_source_desc ?? source.sql_source_type} diff --git a/packages/sqle/src/testUtils/mockApi/sqlManage/data.ts b/packages/sqle/src/testUtils/mockApi/sqlManage/data.ts index 144b1b2a9..fde559a79 100644 --- a/packages/sqle/src/testUtils/mockApi/sqlManage/data.ts +++ b/packages/sqle/src/testUtils/mockApi/sqlManage/data.ts @@ -56,7 +56,7 @@ export const sqlManageListData = { source: { sql_source_type: 'mysql_slow_log', sql_source_desc: '慢日志', - sql_source_id: '123' + sql_source_ids: ['123'] }, first_appear_timestamp: '', last_receive_timestamp: '', @@ -74,7 +74,7 @@ export const sqlManageListData = { source: { sql_source_type: 'mysql_slow_log', sql_source_desc: '慢日志', - sql_source_id: '123' + sql_source_ids: ['123'] }, instance_name: 'mysql', schema_name: 'dms', @@ -101,7 +101,7 @@ export const sqlManageListData = { source: { sql_source_type: 'mysql_slow_log', sql_source_desc: '慢日志', - sql_source_id: '123' + sql_source_ids: ['123'] }, instance_name: 'mysql', schema_name: 'dms', @@ -119,6 +119,33 @@ export const sqlManageListData = { status: 'unhandled', remark: '', endpoints: '34' + }, + { + id: 1150087, + sql_fingerprint: 'SELECT ?', + sql: 'SELECT 1;', + source: { + sql_source_type: 'sql_audit_record', + sql_source_desc: 'SQL审核', + sql_source_ids: ['123'] + }, + instance_name: 'MYSQL_3307', + schema_name: 'db1', + audit_result: [ + { + level: 'normal', + message: '白名单', + rule_name: '' + } + ], + first_appear_timestamp: '', + last_receive_timestamp: '', + fp_count: 0, + assignees: ['t3', 't2'], + status: 'unhandled', + remark: '', + endpoints: '', + priority: '' } ], sql_manage_bad_num: 1, From 1e225471e1e9f07ccf0842f322d7be214e830bf8 Mon Sep 17 00:00:00 2001 From: LZS911 <932177767@qq.com> Date: Tue, 27 Aug 2024 16:51:12 +0800 Subject: [PATCH 3/5] [chore]: (SqlManagementConf) replace deprecated API interface --- .../__tests__/index.test.tsx | 30 ++++++++----------- .../Detail/ScanTypeSqlCollection/indx.tsx | 18 +++++------ .../mockApi/instanceAuditPlan/index.ts | 18 ++++------- 3 files changed, 25 insertions(+), 41 deletions(-) diff --git a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/__tests__/index.test.tsx b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/__tests__/index.test.tsx index a7306f329..95809a8d5 100644 --- a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/__tests__/index.test.tsx +++ b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/__tests__/index.test.tsx @@ -9,17 +9,15 @@ import { getAllBySelector } from '@actiontech/shared/lib/testUtil/customQuery'; import rule_template from '../../../../../testUtils/mockApi/rule_template'; describe('test ScanTypeSqlCollection', () => { - let getInstanceAuditPlanSQLMetaSpy: jest.SpyInstance; - let getInstanceAuditPlanSQLDataSpy: jest.SpyInstance; + let getAuditPlanSQLMetaSpy: jest.SpyInstance; + let getAuditPlanSQLDataSpy: jest.SpyInstance; beforeEach(() => { jest.useFakeTimers(); mockUseCurrentProject(); mockUseCurrentUser(); instanceAuditPlan.mockAllApi(); - getInstanceAuditPlanSQLMetaSpy = - instanceAuditPlan.getInstanceAuditPlanSQLMeta(); - getInstanceAuditPlanSQLDataSpy = - instanceAuditPlan.getInstanceAuditPlanSQLData(); + getAuditPlanSQLMetaSpy = instanceAuditPlan.getAuditPlanSQLMeta(); + getAuditPlanSQLDataSpy = instanceAuditPlan.getAuditPlanSQLData(); }); afterEach(() => { jest.useRealTimers(); @@ -47,16 +45,14 @@ describe('test ScanTypeSqlCollection', () => { it('should match snapshot', async () => { const { container } = customRender(); - expect(getInstanceAuditPlanSQLMetaSpy).toHaveBeenCalledTimes(1); - expect(getInstanceAuditPlanSQLMetaSpy).toHaveBeenNthCalledWith(1, { + expect(getAuditPlanSQLMetaSpy).toHaveBeenCalledTimes(1); + expect(getAuditPlanSQLMetaSpy).toHaveBeenNthCalledWith(1, { project_name: mockProjectInfo.projectName, - instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId }); - expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenCalledTimes(1); - expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(1, { + expect(getAuditPlanSQLDataSpy).toHaveBeenCalledTimes(1); + expect(getAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(1, { project_name: mockProjectInfo.projectName, - instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId, page_index: 1, page_size: 20, @@ -86,10 +82,9 @@ describe('test ScanTypeSqlCollection', () => { keyCode: 13 }); - expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenCalledTimes(2); - expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(2, { + expect(getAuditPlanSQLDataSpy).toHaveBeenCalledTimes(2); + expect(getAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(2, { project_name: mockProjectInfo.projectName, - instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId, page_index: 1, page_size: 20, @@ -110,10 +105,9 @@ describe('test ScanTypeSqlCollection', () => { keyCode: 13 }); - expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenCalledTimes(3); - expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(3, { + expect(getAuditPlanSQLDataSpy).toHaveBeenCalledTimes(3); + expect(getAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(3, { project_name: mockProjectInfo.projectName, - instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId, page_index: 1, page_size: 20, diff --git a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx index 16fda8696..9d8a5bb82 100644 --- a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx +++ b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx @@ -36,7 +36,7 @@ import { import ResultIconRender from '../../../../components/AuditResultMessage/ResultIconRender'; import AuditResultMessage from '../../../../components/AuditResultMessage'; import { - IGetInstanceAuditPlanSQLDataV1Params, + IGetAuditPlanSQLDataV1Params, IGetInstanceAuditPlanSQLExportV1Params } from '@actiontech/shared/lib/api/sqle/service/instance_audit_plan/index.d'; import { mergeFilterButtonMeta } from '@actiontech/shared/lib/components/ActiontechTable/hooks/useTableFilterContainer'; @@ -98,9 +98,8 @@ const ScanTypeSqlCollection: React.FC = ({ } = useRequest( () => instance_audit_plan - .getInstanceAuditPlanSQLMetaV1({ + .getAuditPlanSQLMetaV1({ project_name: projectName, - instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId }) .then((res) => { @@ -168,21 +167,18 @@ const ScanTypeSqlCollection: React.FC = ({ error: getTableRowError } = useRequest( () => { - const params: IGetInstanceAuditPlanSQLDataV1Params = { + const params: IGetAuditPlanSQLDataV1Params = { project_name: projectName, - instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId, page_index: pagination.page_index, page_size: pagination.page_size, filter_list: getFilterListByTableFilterInfo() }; createSortParams(params); - return instance_audit_plan - .getInstanceAuditPlanSQLDataV1(params) - .then((res) => ({ - data: res.data.data?.rows, - total: res.data.total_nums ?? 0 - })); + return instance_audit_plan.getAuditPlanSQLDataV1(params).then((res) => ({ + data: res.data.data?.rows, + total: res.data.total_nums ?? 0 + })); }, { refreshDeps: [pagination, tableFilterInfo, sortInfo], diff --git a/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/index.ts b/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/index.ts index 3a2215d04..e3ccb55fc 100644 --- a/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/index.ts +++ b/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/index.ts @@ -25,8 +25,8 @@ class MockInstanceAuditPlanApi implements MockSpyApy { this.getInstanceAuditPlanDetail(); this.updateInstanceAuditPlan(); this.getInstanceAuditPlanOverview(); - this.getInstanceAuditPlanSQLMeta(); - this.getInstanceAuditPlanSQLData(); + this.getAuditPlanSQLMeta(); + this.getAuditPlanSQLData(); this.getInstanceAuditPlanSQLExport(); this.deleteAuditPlanByType(); this.updateAuditPlanStatus(); @@ -114,11 +114,8 @@ class MockInstanceAuditPlanApi implements MockSpyApy { return spy; } - public getInstanceAuditPlanSQLMeta() { - const spy = jest.spyOn( - instance_audit_plan, - 'getInstanceAuditPlanSQLMetaV1' - ); + public getAuditPlanSQLMeta() { + const spy = jest.spyOn(instance_audit_plan, 'getAuditPlanSQLMetaV1'); spy.mockImplementation(() => createSpySuccessResponse({ data: mockAuditPlanSQLMeta @@ -127,11 +124,8 @@ class MockInstanceAuditPlanApi implements MockSpyApy { return spy; } - public getInstanceAuditPlanSQLData() { - const spy = jest.spyOn( - instance_audit_plan, - 'getInstanceAuditPlanSQLDataV1' - ); + public getAuditPlanSQLData() { + const spy = jest.spyOn(instance_audit_plan, 'getAuditPlanSQLDataV1'); spy.mockImplementation(() => createSpySuccessResponse({ data: mockAuditPlanSQLData, From 2d062b5edeffd743951f8e224295cfc09cedb530 Mon Sep 17 00:00:00 2001 From: LZS911 <932177767@qq.com> Date: Tue, 27 Aug 2024 17:02:20 +0800 Subject: [PATCH 4/5] [fix]: resolve ci error --- packages/sqle/src/page/SqlAudit/List/index.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sqle/src/page/SqlAudit/List/index.test.tsx b/packages/sqle/src/page/SqlAudit/List/index.test.tsx index fc03f8ee9..196b03db4 100644 --- a/packages/sqle/src/page/SqlAudit/List/index.test.tsx +++ b/packages/sqle/src/page/SqlAudit/List/index.test.tsx @@ -138,7 +138,7 @@ describe('sqle/SqlAudit/List', () => { fuzzy_search_tags: 'test', page_index: 1, page_size: 20, - filter_sql_audit_record_ids: '' + filter_sql_audit_record_ids: undefined }); }); From 32921e68fd3e67bc924ad849c8d65947f94ea531 Mon Sep 17 00:00:00 2001 From: LZS911 <932177767@qq.com> Date: Wed, 28 Aug 2024 11:17:30 +0800 Subject: [PATCH 5/5] [revert]: (SqlManagementConf)restore old interface replaced by a deprecated one --- .../service/instance_audit_plan/index.d.ts | 25 ++---------- .../sqle/service/instance_audit_plan/index.ts | 40 ------------------- .../__tests__/index.test.tsx | 30 ++++++++------ .../Detail/ScanTypeSqlCollection/indx.tsx | 18 +++++---- .../mockApi/instanceAuditPlan/index.ts | 18 ++++++--- 5 files changed, 44 insertions(+), 87 deletions(-) diff --git a/packages/shared/lib/api/sqle/service/instance_audit_plan/index.d.ts b/packages/shared/lib/api/sqle/service/instance_audit_plan/index.d.ts index 373a75415..e66f23282 100644 --- a/packages/shared/lib/api/sqle/service/instance_audit_plan/index.d.ts +++ b/packages/shared/lib/api/sqle/service/instance_audit_plan/index.d.ts @@ -1,7 +1,4 @@ import { - IGetAuditPlanSQLDataReqV1, - IGetAuditPlanSQLDataResV1, - IGetAuditPlanSQLMetaResV1, IGetInstanceAuditPlansResV1, ICreateInstanceAuditPlanReqV1, ICreatInstanceAuditPlanResV1, @@ -11,31 +8,15 @@ import { IUpdateInstanceAuditPlanStatusReqV1, IGetInstanceAuditPlanOverviewResV1, IUpdateAuditPlanStatusReqV1, + IGetAuditPlanSQLDataReqV1, + IGetAuditPlanSQLDataResV1, IGetAuditPlanSQLExportReqV1, + IGetAuditPlanSQLMetaResV1, IGetAuditPlanSQLsResV1, IGetSqlManageSqlAnalysisResp, IUploadInstanceAuditPlanSQLsReqV2 } from '../common.d'; -export interface IGetAuditPlanSQLDataV1Params - extends IGetAuditPlanSQLDataReqV1 { - project_name: string; - - audit_plan_id: string; -} - -export interface IGetAuditPlanSQLDataV1Return - extends IGetAuditPlanSQLDataResV1 {} - -export interface IGetAuditPlanSQLMetaV1Params { - project_name: string; - - audit_plan_id: string; -} - -export interface IGetAuditPlanSQLMetaV1Return - extends IGetAuditPlanSQLMetaResV1 {} - export interface IGetInstanceAuditPlansV1Params { project_name: string; diff --git a/packages/shared/lib/api/sqle/service/instance_audit_plan/index.ts b/packages/shared/lib/api/sqle/service/instance_audit_plan/index.ts index 61169dd94..e2bba32cf 100644 --- a/packages/shared/lib/api/sqle/service/instance_audit_plan/index.ts +++ b/packages/shared/lib/api/sqle/service/instance_audit_plan/index.ts @@ -7,10 +7,6 @@ import ServiceBase from '../Service.base'; import { AxiosRequestConfig } from 'axios'; import { - IGetAuditPlanSQLDataV1Params, - IGetAuditPlanSQLDataV1Return, - IGetAuditPlanSQLMetaV1Params, - IGetAuditPlanSQLMetaV1Return, IGetInstanceAuditPlansV1Params, IGetInstanceAuditPlansV1Return, ICreateInstanceAuditPlanV1Params, @@ -45,42 +41,6 @@ import { } from './index.d'; class InstanceAuditPlanService extends ServiceBase { - public getAuditPlanSQLDataV1( - params: IGetAuditPlanSQLDataV1Params, - options?: AxiosRequestConfig - ) { - const paramsData = this.cloneDeep(params); - const project_name = paramsData.project_name; - delete paramsData.project_name; - - const audit_plan_id = paramsData.audit_plan_id; - delete paramsData.audit_plan_id; - - return this.post( - `/v1/projects/${project_name}/audit_plans/${audit_plan_id}/sql_data`, - paramsData, - options - ); - } - - public getAuditPlanSQLMetaV1( - params: IGetAuditPlanSQLMetaV1Params, - options?: AxiosRequestConfig - ) { - const paramsData = this.cloneDeep(params); - const project_name = paramsData.project_name; - delete paramsData.project_name; - - const audit_plan_id = paramsData.audit_plan_id; - delete paramsData.audit_plan_id; - - return this.get( - `/v1/projects/${project_name}/audit_plans/${audit_plan_id}/sql_meta`, - paramsData, - options - ); - } - public getInstanceAuditPlansV1( params: IGetInstanceAuditPlansV1Params, options?: AxiosRequestConfig diff --git a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/__tests__/index.test.tsx b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/__tests__/index.test.tsx index 95809a8d5..a7306f329 100644 --- a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/__tests__/index.test.tsx +++ b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/__tests__/index.test.tsx @@ -9,15 +9,17 @@ import { getAllBySelector } from '@actiontech/shared/lib/testUtil/customQuery'; import rule_template from '../../../../../testUtils/mockApi/rule_template'; describe('test ScanTypeSqlCollection', () => { - let getAuditPlanSQLMetaSpy: jest.SpyInstance; - let getAuditPlanSQLDataSpy: jest.SpyInstance; + let getInstanceAuditPlanSQLMetaSpy: jest.SpyInstance; + let getInstanceAuditPlanSQLDataSpy: jest.SpyInstance; beforeEach(() => { jest.useFakeTimers(); mockUseCurrentProject(); mockUseCurrentUser(); instanceAuditPlan.mockAllApi(); - getAuditPlanSQLMetaSpy = instanceAuditPlan.getAuditPlanSQLMeta(); - getAuditPlanSQLDataSpy = instanceAuditPlan.getAuditPlanSQLData(); + getInstanceAuditPlanSQLMetaSpy = + instanceAuditPlan.getInstanceAuditPlanSQLMeta(); + getInstanceAuditPlanSQLDataSpy = + instanceAuditPlan.getInstanceAuditPlanSQLData(); }); afterEach(() => { jest.useRealTimers(); @@ -45,14 +47,16 @@ describe('test ScanTypeSqlCollection', () => { it('should match snapshot', async () => { const { container } = customRender(); - expect(getAuditPlanSQLMetaSpy).toHaveBeenCalledTimes(1); - expect(getAuditPlanSQLMetaSpy).toHaveBeenNthCalledWith(1, { + expect(getInstanceAuditPlanSQLMetaSpy).toHaveBeenCalledTimes(1); + expect(getInstanceAuditPlanSQLMetaSpy).toHaveBeenNthCalledWith(1, { project_name: mockProjectInfo.projectName, + instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId }); - expect(getAuditPlanSQLDataSpy).toHaveBeenCalledTimes(1); - expect(getAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(1, { + expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenCalledTimes(1); + expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(1, { project_name: mockProjectInfo.projectName, + instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId, page_index: 1, page_size: 20, @@ -82,9 +86,10 @@ describe('test ScanTypeSqlCollection', () => { keyCode: 13 }); - expect(getAuditPlanSQLDataSpy).toHaveBeenCalledTimes(2); - expect(getAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(2, { + expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenCalledTimes(2); + expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(2, { project_name: mockProjectInfo.projectName, + instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId, page_index: 1, page_size: 20, @@ -105,9 +110,10 @@ describe('test ScanTypeSqlCollection', () => { keyCode: 13 }); - expect(getAuditPlanSQLDataSpy).toHaveBeenCalledTimes(3); - expect(getAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(3, { + expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenCalledTimes(3); + expect(getInstanceAuditPlanSQLDataSpy).toHaveBeenNthCalledWith(3, { project_name: mockProjectInfo.projectName, + instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId, page_index: 1, page_size: 20, diff --git a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx index 9d8a5bb82..16fda8696 100644 --- a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx +++ b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx @@ -36,7 +36,7 @@ import { import ResultIconRender from '../../../../components/AuditResultMessage/ResultIconRender'; import AuditResultMessage from '../../../../components/AuditResultMessage'; import { - IGetAuditPlanSQLDataV1Params, + IGetInstanceAuditPlanSQLDataV1Params, IGetInstanceAuditPlanSQLExportV1Params } from '@actiontech/shared/lib/api/sqle/service/instance_audit_plan/index.d'; import { mergeFilterButtonMeta } from '@actiontech/shared/lib/components/ActiontechTable/hooks/useTableFilterContainer'; @@ -98,8 +98,9 @@ const ScanTypeSqlCollection: React.FC = ({ } = useRequest( () => instance_audit_plan - .getAuditPlanSQLMetaV1({ + .getInstanceAuditPlanSQLMetaV1({ project_name: projectName, + instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId }) .then((res) => { @@ -167,18 +168,21 @@ const ScanTypeSqlCollection: React.FC = ({ error: getTableRowError } = useRequest( () => { - const params: IGetAuditPlanSQLDataV1Params = { + const params: IGetInstanceAuditPlanSQLDataV1Params = { project_name: projectName, + instance_audit_plan_id: instanceAuditPlanId, audit_plan_id: auditPlanId, page_index: pagination.page_index, page_size: pagination.page_size, filter_list: getFilterListByTableFilterInfo() }; createSortParams(params); - return instance_audit_plan.getAuditPlanSQLDataV1(params).then((res) => ({ - data: res.data.data?.rows, - total: res.data.total_nums ?? 0 - })); + return instance_audit_plan + .getInstanceAuditPlanSQLDataV1(params) + .then((res) => ({ + data: res.data.data?.rows, + total: res.data.total_nums ?? 0 + })); }, { refreshDeps: [pagination, tableFilterInfo, sortInfo], diff --git a/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/index.ts b/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/index.ts index e3ccb55fc..3a2215d04 100644 --- a/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/index.ts +++ b/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/index.ts @@ -25,8 +25,8 @@ class MockInstanceAuditPlanApi implements MockSpyApy { this.getInstanceAuditPlanDetail(); this.updateInstanceAuditPlan(); this.getInstanceAuditPlanOverview(); - this.getAuditPlanSQLMeta(); - this.getAuditPlanSQLData(); + this.getInstanceAuditPlanSQLMeta(); + this.getInstanceAuditPlanSQLData(); this.getInstanceAuditPlanSQLExport(); this.deleteAuditPlanByType(); this.updateAuditPlanStatus(); @@ -114,8 +114,11 @@ class MockInstanceAuditPlanApi implements MockSpyApy { return spy; } - public getAuditPlanSQLMeta() { - const spy = jest.spyOn(instance_audit_plan, 'getAuditPlanSQLMetaV1'); + public getInstanceAuditPlanSQLMeta() { + const spy = jest.spyOn( + instance_audit_plan, + 'getInstanceAuditPlanSQLMetaV1' + ); spy.mockImplementation(() => createSpySuccessResponse({ data: mockAuditPlanSQLMeta @@ -124,8 +127,11 @@ class MockInstanceAuditPlanApi implements MockSpyApy { return spy; } - public getAuditPlanSQLData() { - const spy = jest.spyOn(instance_audit_plan, 'getAuditPlanSQLDataV1'); + public getInstanceAuditPlanSQLData() { + const spy = jest.spyOn( + instance_audit_plan, + 'getInstanceAuditPlanSQLDataV1' + ); spy.mockImplementation(() => createSpySuccessResponse({ data: mockAuditPlanSQLData,