diff --git a/examples/content_management_examples/public/examples/msearch/msearch_table.tsx b/examples/content_management_examples/public/examples/msearch/msearch_table.tsx index 7176f94992034..22e36c77a3647 100644 --- a/examples/content_management_examples/public/examples/msearch/msearch_table.tsx +++ b/examples/content_management_examples/public/examples/msearch/msearch_table.tsx @@ -35,7 +35,6 @@ export const MSearchTable = () => { }, contentTypes: [ { contentTypeId: 'map' }, - { contentTypeId: 'dashboard' }, { contentTypeId: 'visualization' }, { contentTypeId: 'lens' }, { contentTypeId: 'search' }, diff --git a/src/platform/plugins/shared/dashboard/server/content_management/dashboard_storage.ts b/src/platform/plugins/shared/dashboard/server/content_management/dashboard_storage.ts index 53590b412f161..2c1875979ad2c 100644 --- a/src/platform/plugins/shared/dashboard/server/content_management/dashboard_storage.ts +++ b/src/platform/plugins/shared/dashboard/server/content_management/dashboard_storage.ts @@ -9,10 +9,7 @@ import Boom from '@hapi/boom'; import { tagsToFindOptions } from '@kbn/content-management-utils'; -import { - SavedObjectsFindOptions, - SavedObjectsFindResult, -} from '@kbn/core-saved-objects-api-server'; +import { SavedObjectsFindOptions } from '@kbn/core-saved-objects-api-server'; import type { Logger } from '@kbn/logging'; import { CreateResult, DeleteResult, SearchQuery } from '@kbn/content-management-plugin/common'; @@ -69,57 +66,11 @@ export class DashboardStorage { }) { this.logger = logger; this.throwOnResultValidationError = throwOnResultValidationError ?? false; - this.mSearch = { - savedObjectType: DASHBOARD_SAVED_OBJECT_TYPE, - additionalSearchFields: [], - toItemResult: (ctx: StorageContext, savedObject: SavedObjectsFindResult): DashboardItem => { - const transforms = ctx.utils.getTransforms(cmServicesDefinition); - - const { item, error: itemError } = savedObjectToItem( - savedObject as SavedObjectsFindResult, - false - ); - if (itemError) { - throw Boom.badRequest(`Invalid response. ${itemError.message}`); - } - - const validationError = transforms.mSearch.out.result.validate(item); - if (validationError) { - if (this.throwOnResultValidationError) { - throw Boom.badRequest(`Invalid response. ${validationError.message}`); - } else { - this.logger.warn(`Invalid response. ${validationError.message}`); - } - } - - // Validate DB response and DOWN transform to the request version - const { value, error: resultError } = transforms.mSearch.out.result.down< - DashboardItem, - DashboardItem - >( - item, - undefined, // do not override version - { validate: false } // validation is done above - ); - - if (resultError) { - throw Boom.badRequest(`Invalid response. ${resultError.message}`); - } - - return value; - }, - }; } private logger: Logger; private throwOnResultValidationError: boolean; - mSearch: { - savedObjectType: string; - toItemResult: (ctx: StorageContext, savedObject: SavedObjectsFindResult) => DashboardItem; - additionalSearchFields?: string[]; - }; - async get(ctx: StorageContext, id: string): Promise { const transforms = ctx.utils.getTransforms(cmServicesDefinition); const soClient = await savedObjectClientFromRequest(ctx); diff --git a/src/platform/plugins/shared/presentation_util/public/components/dashboard_picker/dashboard_picker.tsx b/src/platform/plugins/shared/presentation_util/public/components/dashboard_picker/dashboard_picker.tsx index 416071732b45a..9f372094677d7 100644 --- a/src/platform/plugins/shared/presentation_util/public/components/dashboard_picker/dashboard_picker.tsx +++ b/src/platform/plugins/shared/presentation_util/public/components/dashboard_picker/dashboard_picker.tsx @@ -23,6 +23,7 @@ import { import { i18n } from '@kbn/i18n'; import { ToolbarButton } from '@kbn/shared-ux-button-toolbar'; import { SavedObjectCommon } from '@kbn/saved-objects-finder-plugin/common'; +import type { SearchIn, SearchResult } from '@kbn/content-management-plugin/common'; import { contentManagementService } from '../../services/kibana_services'; @@ -73,8 +74,11 @@ export function DashboardPicker({ isDisabled, onChange, idsToOmit }: DashboardPi (async () => { setIsLoading(true); - const response = await contentManagementService.client.mSearch({ - contentTypes: [{ contentTypeId: 'dashboard' }], + const response = await contentManagementService.client.search< + SearchIn<'dashboard'>, + SearchResult + >({ + contentTypeId: 'dashboard', query: { text: debouncedQuery ? `${debouncedQuery}*` : undefined, limit: 30, diff --git a/test/examples/content_management/msearch.ts b/test/examples/content_management/msearch.ts index c02b92ab8eb39..7a4867f6d9f93 100644 --- a/test/examples/content_management/msearch.ts +++ b/test/examples/content_management/msearch.ts @@ -43,7 +43,6 @@ export default function ({ getService, getPageObjects }: PluginFunctionalProvide `kibana_sample_data_flights`, `[Flights] Airport Connections (Hover Over Airport)`, `[Flights] Departures Count Map`, - `[Flights] Global Flight Dashboard`, `[Flights] Origin Time Delayed`, `[Flights] Flight Log`, ];