Skip to content

Commit

Permalink
Cleanup repeated code
Browse files Browse the repository at this point in the history
  • Loading branch information
mikecote committed Apr 20, 2021
1 parent f40d408 commit bb356c9
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@ import {
} from 'kibana/server';
import { TaskInstance } from '../../../task_manager/server';
import { SpacesPluginStart } from '../../../spaces/server';
import { bulkDelete, extractBulkResponseDeleteFailures } from './lib';
import { spaceIdToNamespace } from '../lib';
import {
bulkDelete,
extractBulkResponseDeleteFailures,
getRawActionTaskParamsIdFromTask,
} from './lib';

export interface CleanupTasksOpts {
logger: Logger;
Expand Down Expand Up @@ -59,15 +62,9 @@ export async function cleanupTasks({
}));

// Remove accumulated action task params
const actionTaskParamIdsToDelete = deserializedTasks.map((task) => {
const { spaceId, actionTaskParamsId } = task.attributes.params;
const namespace = spaceIdToNamespace(spaces, spaceId);
return savedObjectsSerializer.generateRawId(
namespace,
'action_task_params',
actionTaskParamsId
);
});
const actionTaskParamIdsToDelete = deserializedTasks.map((task) =>
getRawActionTaskParamsIdFromTask({ task, spaces, savedObjectsSerializer })
);
const actionTaskParamBulkDeleteResult = await bulkDelete(
esClient,
kibanaIndex,
Expand All @@ -87,13 +84,7 @@ export async function cleanupTasks({
// Remove accumulated tasks
const taskIdsToDelete = deserializedTasks
.map((task) => {
const { spaceId, actionTaskParamsId } = task.attributes.params;
const namespace = spaceIdToNamespace(spaces, spaceId);
const rawId = savedObjectsSerializer.generateRawId(
namespace,
'action_task_params',
actionTaskParamsId
);
const rawId = getRawActionTaskParamsIdFromTask({ task, spaces, savedObjectsSerializer });
// Avoid removing tasks that failed to remove linked objects
if (failedActionTaskParams?.find((item) => item._id === rawId)) {
return null;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* 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; you may not use this file except in compliance with the Elastic License
* 2.0.
*/

import { SavedObjectsFindResult, SavedObjectsSerializer } from 'kibana/server';
import { spaceIdToNamespace } from '../../lib';
import { TaskInstance } from '../../../../task_manager/server';
import { SpacesPluginStart } from '../../../../spaces/server';

interface GetRawActionTaskParamsIdFromTaskOpts {
task: SavedObjectsFindResult<TaskInstance>;
spaces?: SpacesPluginStart;
savedObjectsSerializer: SavedObjectsSerializer;
}

export function getRawActionTaskParamsIdFromTask({
task,
spaces,
savedObjectsSerializer,
}: GetRawActionTaskParamsIdFromTaskOpts) {
const { spaceId, actionTaskParamsId } = task.attributes.params;
const namespace = spaceIdToNamespace(spaces, spaceId);
return savedObjectsSerializer.generateRawId(namespace, 'action_task_params', actionTaskParamsId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@

export { extractBulkResponseDeleteFailures } from './extract_bulk_response_delete_failures';
export { bulkDelete } from './bulk_delete';
export { getRawActionTaskParamsIdFromTask } from './get_raw_action_task_params_id_from_task';

0 comments on commit bb356c9

Please sign in to comment.