mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 11:05:39 -04:00
[saved objects] Adds bulkDelete API (#139680)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
d29521e897
commit
92ca42f007
50 changed files with 2200 additions and 2 deletions
|
@ -52,4 +52,8 @@ export type {
|
|||
SavedObjectsCreatePointInTimeFinderOptions,
|
||||
SavedObjectsFindOptions,
|
||||
SavedObjectsPointInTimeFinderClient,
|
||||
SavedObjectsBulkDeleteObject,
|
||||
SavedObjectsBulkDeleteOptions,
|
||||
SavedObjectsBulkDeleteStatus,
|
||||
SavedObjectsBulkDeleteResponse,
|
||||
} from './src/apis';
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import type { SavedObjectError } from '@kbn/core-saved-objects-common';
|
||||
import type { MutatingOperationRefreshSetting, SavedObjectsBaseOptions } from './base';
|
||||
|
||||
/**
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export interface SavedObjectsBulkDeleteObject {
|
||||
type: string;
|
||||
id: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
export interface SavedObjectsBulkDeleteOptions extends SavedObjectsBaseOptions {
|
||||
/** The Elasticsearch Refresh setting for this operation */
|
||||
refresh?: MutatingOperationRefreshSetting;
|
||||
/**
|
||||
* Force deletion of all objects that exists in multiple namespaces, applied to all objects.
|
||||
*/
|
||||
force?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
export interface SavedObjectsBulkDeleteStatus {
|
||||
id: string;
|
||||
type: string;
|
||||
/** The status of deleting the object: true for deleted, false for error */
|
||||
success: boolean;
|
||||
/** Reason the object could not be deleted (success is false) */
|
||||
error?: SavedObjectError;
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
export interface SavedObjectsBulkDeleteResponse {
|
||||
statuses: SavedObjectsBulkDeleteStatus[];
|
||||
}
|
|
@ -72,3 +72,9 @@ export type {
|
|||
SavedObjectsUpdateObjectsSpacesOptions,
|
||||
SavedObjectsUpdateObjectsSpacesResponseObject,
|
||||
} from './update_objects_spaces';
|
||||
export type {
|
||||
SavedObjectsBulkDeleteObject,
|
||||
SavedObjectsBulkDeleteOptions,
|
||||
SavedObjectsBulkDeleteStatus,
|
||||
SavedObjectsBulkDeleteResponse,
|
||||
} from './bulk_delete';
|
||||
|
|
|
@ -41,6 +41,9 @@ import type {
|
|||
SavedObjectsRemoveReferencesToResponse,
|
||||
SavedObjectsCollectMultiNamespaceReferencesOptions,
|
||||
SavedObjectsBulkResponse,
|
||||
SavedObjectsBulkDeleteObject,
|
||||
SavedObjectsBulkDeleteOptions,
|
||||
SavedObjectsBulkDeleteResponse,
|
||||
} from './apis';
|
||||
|
||||
/**
|
||||
|
@ -151,6 +154,16 @@ export interface SavedObjectsClientContract {
|
|||
*/
|
||||
delete(type: string, id: string, options?: SavedObjectsDeleteOptions): Promise<{}>;
|
||||
|
||||
/**
|
||||
* Deletes multiple SavedObjects batched together as a single request
|
||||
*
|
||||
* @param objects
|
||||
* @param options
|
||||
*/
|
||||
bulkDelete(
|
||||
objects: SavedObjectsBulkDeleteObject[],
|
||||
options?: SavedObjectsBulkDeleteOptions
|
||||
): Promise<SavedObjectsBulkDeleteResponse>;
|
||||
/**
|
||||
* Find all SavedObjects matching the search query
|
||||
*
|
||||
|
|
|
@ -44,6 +44,9 @@ import type {
|
|||
SavedObjectsDeleteByNamespaceOptions,
|
||||
SavedObjectsIncrementCounterField,
|
||||
SavedObjectsIncrementCounterOptions,
|
||||
SavedObjectsBulkDeleteOptions,
|
||||
SavedObjectsBulkDeleteObject,
|
||||
SavedObjectsBulkDeleteResponse,
|
||||
} from './apis';
|
||||
|
||||
/**
|
||||
|
@ -105,6 +108,17 @@ export interface ISavedObjectsRepository {
|
|||
*/
|
||||
delete(type: string, id: string, options?: SavedObjectsDeleteOptions): Promise<{}>;
|
||||
|
||||
/**
|
||||
* Deletes multiple documents at once
|
||||
* @param {array} objects - an array of objects containing id and type
|
||||
* @param {object} [options={}]
|
||||
* @returns {promise} - { statuses: [{ id, type, success, error: { message } }] }
|
||||
*/
|
||||
bulkDelete(
|
||||
objects: SavedObjectsBulkDeleteObject[],
|
||||
options?: SavedObjectsBulkDeleteOptions
|
||||
): Promise<SavedObjectsBulkDeleteResponse>;
|
||||
|
||||
/**
|
||||
* Deletes all objects from the provided namespace.
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue