本文整理汇总了TypeScript中src/legacy/server/saved_objects/service/saved_objects_client.SavedObjectsClient.find方法的典型用法代码示例。如果您正苦于以下问题:TypeScript SavedObjectsClient.find方法的具体用法?TypeScript SavedObjectsClient.find怎么用?TypeScript SavedObjectsClient.find使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类src/legacy/server/saved_objects/service/saved_objects_client.SavedObjectsClient
的用法示例。
在下文中一共展示了SavedObjectsClient.find方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: find
/**
* @param {object} [options={}]
* @property {(string|Array<string>)} [options.type]
* @property {string} [options.search]
* @property {string} [options.defaultSearchOperator]
* @property {Array<string>} [options.searchFields] - see Elasticsearch Simple Query String
* Query field argument for more information
* @property {integer} [options.page=1]
* @property {integer} [options.perPage=20]
* @property {string} [options.sortField]
* @property {string} [options.sortOrder]
* @property {Array<string>} [options.fields]
* @property {string} [options.namespace]
* @property {object} [options.hasReference] - { type, id }
* @returns {promise} - { saved_objects: [{ id, type, version, attributes }], total, per_page, page }
*/
public async find(options: FindOptions = {}) {
if (options.type) {
throwErrorIfTypesContainsSpace(coerceToArray(options.type));
}
throwErrorIfNamespaceSpecified(options);
return await this.client.find({
...options,
type: (options.type ? coerceToArray(options.type) : this.types).filter(
type => type !== 'space'
),
namespace: getNamespace(this.spaceId),
});
}
示例2: moment
export const reindexActionsFactory = (
client: SavedObjectsClient,
callCluster: CallCluster
): ReindexActions => {
// ----- Internal functions
const isLocked = (reindexOp: ReindexSavedObject) => {
if (reindexOp.attributes.locked) {
const now = moment();
const lockedTime = moment(reindexOp.attributes.locked);
// If the object has been locked for more than the LOCK_WINDOW, assume the process that locked it died.
if (now.subtract(LOCK_WINDOW) < lockedTime) {
return true;
}
}
return false;
};
const acquireLock = async (reindexOp: ReindexSavedObject) => {
if (isLocked(reindexOp)) {
throw new Error(`Another Kibana process is currently modifying this reindex operation.`);
}
return client.update<ReindexOperation>(
REINDEX_OP_TYPE,
reindexOp.id,
{ ...reindexOp.attributes, locked: moment().format() },
{ version: reindexOp.version }
);
};
const releaseLock = (reindexOp: ReindexSavedObject) => {
return client.update<ReindexOperation>(
REINDEX_OP_TYPE,
reindexOp.id,
{ ...reindexOp.attributes, locked: null },
{ version: reindexOp.version }
);
};
// ----- Public interface
return {
async createReindexOp(indexName: string) {
return client.create<ReindexOperation>(REINDEX_OP_TYPE, {
indexName,
newIndexName: generateNewIndexName(indexName),
status: ReindexStatus.inProgress,
lastCompletedStep: ReindexStep.created,
locked: null,
reindexTaskId: null,
reindexTaskPercComplete: null,
errorMessage: null,
runningReindexCount: null,
});
},
deleteReindexOp(reindexOp: ReindexSavedObject) {
return client.delete(REINDEX_OP_TYPE, reindexOp.id);
},
async updateReindexOp(reindexOp: ReindexSavedObject, attrs: Partial<ReindexOperation> = {}) {
if (!isLocked(reindexOp)) {
throw new Error(`ReindexOperation must be locked before updating.`);
}
const newAttrs = { ...reindexOp.attributes, locked: moment().format(), ...attrs };
return client.update<ReindexOperation>(REINDEX_OP_TYPE, reindexOp.id, newAttrs, {
version: reindexOp.version,
});
},
async runWhileLocked(reindexOp, func) {
reindexOp = await acquireLock(reindexOp);
try {
reindexOp = await func(reindexOp);
} finally {
reindexOp = await releaseLock(reindexOp);
}
return reindexOp;
},
findReindexOperations(indexName: string) {
return client.find<ReindexOperation>({
type: REINDEX_OP_TYPE,
search: `"${indexName}"`,
searchFields: ['indexName'],
});
},
async findAllByStatus(status: ReindexStatus) {
const firstPage = await client.find<ReindexOperation>({
type: REINDEX_OP_TYPE,
search: status.toString(),
searchFields: ['status'],
});
if (firstPage.total === firstPage.saved_objects.length) {
return firstPage.saved_objects;
//.........这里部分代码省略.........