diff --git a/public/app/percona/check/__mocks__/stubs.ts b/public/app/percona/check/__mocks__/stubs.ts index f1c11bf70fc1..69cf46c93524 100644 --- a/public/app/percona/check/__mocks__/stubs.ts +++ b/public/app/percona/check/__mocks__/stubs.ts @@ -171,6 +171,7 @@ export const allChecksStub: CheckDetails[] = [ interval: 'STANDARD', readMoreUrl: 'https://example.com', category: '', + family: 'ADVISOR_CHECK_FAMILY_MONGODB', }, { name: 'test2', @@ -178,6 +179,7 @@ export const allChecksStub: CheckDetails[] = [ description: 'Test number 2', interval: 'RARE', category: '', + family: 'ADVISOR_CHECK_FAMILY_MONGODB', }, { name: 'test3', @@ -187,12 +189,14 @@ export const allChecksStub: CheckDetails[] = [ disabled: true, readMoreUrl: 'https://example.com', category: '', + family: 'ADVISOR_CHECK_FAMILY_MONGODB', }, { name: 'test4', summary: 'Test 4', interval: 'FREQUENT', category: '', + family: 'ADVISOR_CHECK_FAMILY_MONGODB', }, { name: 'test5', @@ -200,5 +204,6 @@ export const allChecksStub: CheckDetails[] = [ disabled: true, interval: 'STANDARD', category: '', + family: 'ADVISOR_CHECK_FAMILY_MONGODB', }, ]; diff --git a/public/app/percona/check/components/AllChecksTab/AllChecksTab.messages.ts b/public/app/percona/check/components/AllChecksTab/AllChecksTab.messages.ts index 37b6b9e91659..9b0d7c0890bc 100644 --- a/public/app/percona/check/components/AllChecksTab/AllChecksTab.messages.ts +++ b/public/app/percona/check/components/AllChecksTab/AllChecksTab.messages.ts @@ -11,6 +11,7 @@ export const Messages = { description: 'Description', category: 'Category', status: 'Status', + family: 'Technology', interval: 'Interval', actions: 'Actions', }, diff --git a/public/app/percona/check/components/AllChecksTab/AllChecksTab.tsx b/public/app/percona/check/components/AllChecksTab/AllChecksTab.tsx index 09fe59d0a5f8..21b4c4ebc7aa 100644 --- a/public/app/percona/check/components/AllChecksTab/AllChecksTab.tsx +++ b/public/app/percona/check/components/AllChecksTab/AllChecksTab.tsx @@ -129,6 +129,12 @@ export const AllChecksTab: FC> }, ], }, + { + Header: Messages.table.columns.family, + accessor: 'family', + type: FilterFieldTypes.TEXT, + noHiddenOverflow: true, + }, { Header: Messages.table.columns.interval, accessor: 'interval', diff --git a/public/app/percona/check/components/AllChecksTab/ChangeCheckIntervalModal/ChangeCheckIntervalModal.test.tsx b/public/app/percona/check/components/AllChecksTab/ChangeCheckIntervalModal/ChangeCheckIntervalModal.test.tsx index 47a7c258625e..3b0f848fc83b 100644 --- a/public/app/percona/check/components/AllChecksTab/ChangeCheckIntervalModal/ChangeCheckIntervalModal.test.tsx +++ b/public/app/percona/check/components/AllChecksTab/ChangeCheckIntervalModal/ChangeCheckIntervalModal.test.tsx @@ -21,6 +21,7 @@ const TEST_CHECK: CheckDetails = { description: 'test description', disabled: false, category: '', + family: 'ADVISOR_CHECK_FAMILY_MONGODB', }; describe('ChangeCheckIntervalModal', () => { diff --git a/public/app/percona/check/types.ts b/public/app/percona/check/types.ts index 6ddc5c349294..0b60d1ccd858 100644 --- a/public/app/percona/check/types.ts +++ b/public/app/percona/check/types.ts @@ -87,6 +87,7 @@ export interface CheckDetails { summary: string; interval: keyof typeof Interval; category: string; + family: string; description?: string; disabled?: boolean; readMoreUrl?: string; diff --git a/public/app/percona/shared/services/advisors/Advisors.types.ts b/public/app/percona/shared/services/advisors/Advisors.types.ts index 6faa35077b33..a68a4361155f 100644 --- a/public/app/percona/shared/services/advisors/Advisors.types.ts +++ b/public/app/percona/shared/services/advisors/Advisors.types.ts @@ -4,6 +4,12 @@ export enum Interval { FREQUENT = 'Frequent', } +export const Family: { [key: string]: string } = { + ADVISOR_CHECK_FAMILY_MYSQL: 'MySQL', + ADVISOR_CHECK_FAMILY_POSTGRESQL: 'PostgreSQL', + ADVISOR_CHECK_FAMILY_MONGODB: 'MongoDB', +}; + export interface Advisor { // Machine-readable name (ID) that is used in expression. name: string; @@ -25,6 +31,7 @@ export interface AdvisorCheck { description: string; summary: string; interval: keyof typeof Interval; + family?: string; } export interface CategorizedAdvisor { diff --git a/public/app/percona/shared/services/advisors/Advisors.utils.ts b/public/app/percona/shared/services/advisors/Advisors.utils.ts index 56a4b3c9e381..bc34581e1c0f 100644 --- a/public/app/percona/shared/services/advisors/Advisors.utils.ts +++ b/public/app/percona/shared/services/advisors/Advisors.utils.ts @@ -1,4 +1,4 @@ -import { Advisor, CategorizedAdvisor } from './Advisors.types'; +import { Advisor, CategorizedAdvisor, Family } from './Advisors.types'; export const groupAdvisorsIntoCategories = (advisors: Advisor[]): CategorizedAdvisor => { const result: CategorizedAdvisor = {}; @@ -8,6 +8,7 @@ export const groupAdvisorsIntoCategories = (advisors: Advisor[]): CategorizedAdv const modifiedChecks = checks.map((check) => ({ ...check, + family: check.family ? Family[check.family] : undefined, disabled: check.disabled ? true : false, }));