From dae1538e106694cb4dd080485ca3e0df28d0f431 Mon Sep 17 00:00:00 2001 From: zzyangh <799463087@qq.com> Date: Mon, 16 Dec 2024 15:18:00 +0800 Subject: [PATCH] [fix](SqlManagementConf): Add audit status field --- .../AuditResultMessage/ResultIconRender.tsx | 2 +- .../__tests__/index.test.tsx | 9 ++-- .../Detail/ScanTypeSqlCollection/indx.tsx | 42 +++++++++---------- .../mockApi/instanceAuditPlan/data.ts | 3 +- 4 files changed, 27 insertions(+), 29 deletions(-) diff --git a/packages/sqle/src/components/AuditResultMessage/ResultIconRender.tsx b/packages/sqle/src/components/AuditResultMessage/ResultIconRender.tsx index 864baeb3b..a99864019 100644 --- a/packages/sqle/src/components/AuditResultMessage/ResultIconRender.tsx +++ b/packages/sqle/src/components/AuditResultMessage/ResultIconRender.tsx @@ -39,7 +39,7 @@ const ResultIconRender = (props: IResultIconRender) => { if={!isAuditing} defaultNode={ - {t(`sqlAudit.list.status.auditStatus.auditing`)} + {t('sqlAudit.list.status.auditStatus.auditing')} } > 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 f5c97a740..6fe5d7a42 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 @@ -141,7 +141,8 @@ describe('test ScanTypeSqlCollection', () => { rows: [ { ...mockAuditPlanSQLData?.rows?.[0], - audit_results: 'being_audited' + audit_results: '[]', + audit_status: 'being_audited' } ] } @@ -152,8 +153,7 @@ describe('test ScanTypeSqlCollection', () => { data: { rows: [ { - ...mockAuditPlanSQLData?.rows?.[0], - audit_results: '' + ...mockAuditPlanSQLData?.rows?.[0] } ] } @@ -173,8 +173,7 @@ describe('test ScanTypeSqlCollection', () => { data: { rows: [ { - ...mockAuditPlanSQLData?.rows?.[0], - audit_results: '' + ...mockAuditPlanSQLData?.rows?.[0] } ] } diff --git a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx index 6f59046b2..c62921661 100644 --- a/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx +++ b/packages/sqle/src/page/SqlManagementConf/Detail/ScanTypeSqlCollection/indx.tsx @@ -195,7 +195,7 @@ const ScanTypeSqlCollection: React.FC = ({ pollingInterval: 1000, pollingErrorRetryCount: 3, onSuccess: (res) => { - if (res.data?.some((i) => i?.audit_results === BEING_AUDITED)) { + if (res.data?.some((i) => i?.audit_status === BEING_AUDITED)) { startPollRequest(); } else { cancel(); @@ -290,6 +290,19 @@ const ScanTypeSqlCollection: React.FC = ({ [polling, getFilterMetaListLoading, getTableRowLoading] ); + const parseAuditResult = (resultString: string) => { + let results: IAuditResult[] = []; + try { + results = JSON.parse(resultString ?? '[]') as IAuditResult[]; + } catch (error) { + results = []; + } + + return results?.map((item) => { + return item.level ?? ''; + }); + }; + return ( @@ -312,32 +325,21 @@ const ScanTypeSqlCollection: React.FC = ({ columnClassName: (type) => type === 'sql' ? 'ellipsis-column-large-width' : undefined, customRender: (text, record, fieldName, type) => { + const currentAuditStatusIsBeingAudited = + record.audit_status === BEING_AUDITED; if (fieldName === 'audit_results') { - let isAuditing = false; - let results: IAuditResult[] = []; - if (text === BEING_AUDITED) { - isAuditing = true; - } else { - try { - results = JSON.parse(text ?? '[]') as IAuditResult[]; - } catch (error) { - results = []; - } - } return (
{ - if (!isAuditing) { + if (!currentAuditStatusIsBeingAudited) { onClickAuditResult(record); } }} > { - return item.level ?? ''; - })} - isAuditing={isAuditing} + iconLevels={parseAuditResult(text)} + isAuditing={currentAuditStatusIsBeingAudited} />
); @@ -352,16 +354,12 @@ const ScanTypeSqlCollection: React.FC = ({ } if (type === 'sql') { - let isAuditing = false; - if (record?.audit_results === BEING_AUDITED) { - isAuditing = true; - } return ( { - if (!isAuditing) { + if (!currentAuditStatusIsBeingAudited) { onClickAuditResult(record); } }} diff --git a/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/data.ts b/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/data.ts index e141b51e2..d1c42cf03 100644 --- a/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/data.ts +++ b/packages/sqle/src/testUtils/mockApi/instanceAuditPlan/data.ts @@ -804,7 +804,8 @@ export const mockAuditPlanSQLData: IAuditPlanSQLDataResV1 = { }, { id: '1234567', - audit_results: 'being_audited', + audit_results: '[]', + audit_status: 'being_audited', counter: '598', db_user: '', fingerprint: 'SELECT ?,SLEEP(?) LIMIT ?,?',