diff --git a/plugins/scaffolder-backend/api-report.md b/plugins/scaffolder-backend/api-report.md index 98f0af527c..cc16791390 100644 --- a/plugins/scaffolder-backend/api-report.md +++ b/plugins/scaffolder-backend/api-report.md @@ -406,11 +406,9 @@ export class DatabaseTaskStore implements TaskStore { }[]; }>; // (undocumented) - recoverTasks(options: TaskStoreRecoverTaskOptions): Promise< - { - id: string; - }[] - >; + recoverTasks(options: TaskStoreRecoverTaskOptions): Promise<{ + ids: string[]; + }>; // (undocumented) shutdownTask(options: TaskStoreShutDownTaskOptions): Promise; } @@ -563,11 +561,9 @@ export interface TaskStore { }[]; }>; // (undocumented) - recoverTasks?(options: TaskStoreRecoverTaskOptions): Promise< - { - id: string; - }[] - >; + recoverTasks?(options: TaskStoreRecoverTaskOptions): Promise<{ + ids: string[]; + }>; // (undocumented) shutdownTask?(options: TaskStoreShutDownTaskOptions): Promise; } diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts index 901bf012ac..766db4646e 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts @@ -483,8 +483,8 @@ export class DatabaseTaskStore implements TaskStore { async recoverTasks( options: TaskStoreRecoverTaskOptions, - ): Promise<{ id: string }[]> { - const taskIdsToRecover: { id: string }[] = []; + ): Promise<{ ids: string[] }> { + const taskIdsToRecover: string[] = []; const timeoutS = Duration.fromObject(options.timeout).as('seconds'); await this.db.transaction(async tx => { @@ -501,7 +501,7 @@ export class DatabaseTaskStore implements TaskStore { ['id', 'spec'], ); - taskIdsToRecover.push(...result.map(i => ({ id: i.id }))); + taskIdsToRecover.push(...result.map(i => i.id)); for (const { id, spec } of result) { const taskSpec = JSON.parse(spec as string) as TaskSpec; @@ -516,6 +516,6 @@ export class DatabaseTaskStore implements TaskStore { } }); - return taskIdsToRecover; + return { ids: taskIdsToRecover }; } } diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.ts index 96300bec58..8b49f492e8 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/StorageTaskBroker.ts @@ -220,10 +220,9 @@ export class StorageTaskBroker implements TaskBroker { 'scaffolder.EXPERIMENTAL_recoverTasksTimeout', defaultTimeout, ); - const recoveredTaskIds = - (await this.storage.recoverTasks?.({ - timeout, - })) ?? []; + const { ids: recoveredTaskIds } = (await this.storage.recoverTasks?.({ + timeout, + })) ?? { ids: [] }; if (recoveredTaskIds.length > 0) { this.signalDispatch(); } diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts index 85c5b6f69e..c5783ccb49 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts @@ -172,7 +172,7 @@ export interface TaskStore { recoverTasks?( options: TaskStoreRecoverTaskOptions, - ): Promise<{ id: string }[]>; + ): Promise<{ ids: string[] }>; getTask(taskId: string): Promise;