From b3aa58033c204578747669a023af5f898800e6d7 Mon Sep 17 00:00:00 2001 From: Peter Pisljar Date: Wed, 3 May 2023 12:47:44 +0200 Subject: [PATCH] [visulizations] adding schema to saved object mapping (#154514) ## Summary Removes remaining properties that are not searched on from the mapping for the visualizations saved object and adds a schema definition to it. part of https://github.com/elastic/kibana/pull/153070 --- .../group2/check_registered_types.test.ts | 2 +- .../server/saved_objects/visualization.ts | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts index 93b3b73393a85..8e76b093039d2 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts @@ -150,7 +150,7 @@ describe('checking migration metadata changes on all registered SO types', () => "uptime-synthetics-api-key": "599319bedbfa287e8761e1ba49d536417a33fa13", "url": "816fa15bfe460ce39108ed8095e60fdbfcc40f11", "usage-counters": "f478b2668be350f5bdc08d9e1cf6fbce0e079f61", - "visualization": "55530e57ffe86bfd7c2a2b50461398c1f7a99e95", + "visualization": "cee4d02c56af349054642c6744bf9c471c1ad941", "workplace_search_telemetry": "10e278fe9ae1396bfc36ae574bc387d7e696d43f", } `); diff --git a/src/plugins/visualizations/server/saved_objects/visualization.ts b/src/plugins/visualizations/server/saved_objects/visualization.ts index c7c3ae37ab0dd..b322da60330c4 100644 --- a/src/plugins/visualizations/server/saved_objects/visualization.ts +++ b/src/plugins/visualizations/server/saved_objects/visualization.ts @@ -7,6 +7,7 @@ */ import { ANALYTICS_SAVED_OBJECT_INDEX } from '@kbn/core-saved-objects-server'; +import { schema } from '@kbn/config-schema'; import { SavedObjectsType } from '@kbn/core/server'; import { MigrateFunctionsObject } from '@kbn/kibana-utils-plugin/common'; import { getAllMigrations } from '../migrations/visualization_saved_object_migrations'; @@ -37,12 +38,23 @@ export const getVisualizationSavedObjectType = ( dynamic: false, // declared here to prevent indexing root level attribute fields properties: { description: { type: 'text' }, + title: { type: 'text' }, + version: { type: 'integer' }, kibanaSavedObjectMeta: { properties: {}, }, - title: { type: 'text' }, - version: { type: 'integer' }, }, }, + schemas: { + '8.8.0': schema.object({ + title: schema.string(), + description: schema.maybe(schema.string()), + version: schema.maybe(schema.number()), + kibanaSavedObjectMeta: schema.maybe(schema.object({ searchSourceJSON: schema.string() })), + uiStateJSON: schema.maybe(schema.string()), + visState: schema.maybe(schema.string()), + savedSearchRefName: schema.maybe(schema.string()), + }), + }, migrations: () => getAllMigrations(getSearchSourceMigrations()), });