diff --git a/src/plugins/data_views/common/data_views/data_views.ts b/src/plugins/data_views/common/data_views/data_views.ts index af40e4137f75f2..fb0be8ffdd2f3d 100644 --- a/src/plugins/data_views/common/data_views/data_views.ts +++ b/src/plugins/data_views/common/data_views/data_views.ts @@ -1011,6 +1011,7 @@ export class DataViewsService { body, { id: dataView.id, + initialNamespaces: dataView.namespaces.length > 0 ? dataView.namespaces : undefined, } )) as SavedObject; diff --git a/src/plugins/data_views/common/types.ts b/src/plugins/data_views/common/types.ts index 4e2d308692afe9..d44f8fd34df47e 100644 --- a/src/plugins/data_views/common/types.ts +++ b/src/plugins/data_views/common/types.ts @@ -296,7 +296,7 @@ export interface SavedObjectsClientCommon { create: ( type: string, attributes: DataViewAttributes, - options: SavedObjectsCreateOptions + options: SavedObjectsCreateOptions & { initialNamespaces?: string[] } ) => Promise; /** * Delete a saved object by id diff --git a/src/plugins/data_views/server/rest_api_routes/create_data_view.ts b/src/plugins/data_views/server/rest_api_routes/create_data_view.ts index 00897c364e0855..58bc36ed1c8693 100644 --- a/src/plugins/data_views/server/rest_api_routes/create_data_view.ts +++ b/src/plugins/data_views/server/rest_api_routes/create_data_view.ts @@ -70,6 +70,7 @@ const dataViewSpecSchema = schema.object({ allowNoIndex: schema.maybe(schema.boolean()), runtimeFieldMap: schema.maybe(schema.recordOf(schema.string(), runtimeFieldSchema)), name: schema.maybe(schema.string()), + namespaces: schema.maybe(schema.arrayOf(schema.string())), }); const registerCreateDataViewRouteFactory = @@ -124,7 +125,10 @@ const registerCreateDataViewRouteFactory = 'content-type': 'application/json', }, body: { - [serviceKey]: dataView.toSpec(), + [serviceKey]: { + ...dataView.toSpec(), + namespaces: dataView.namespaces, + }, }, }); })