From f2122e7573088eca04018197acf88b6396761df6 Mon Sep 17 00:00:00 2001 From: Omar Ajoue Date: Thu, 8 Dec 2022 10:13:49 +0100 Subject: [PATCH] fix: Issue listing executions with Postgres --- .../cli/src/executions/executions.service.ts | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/packages/cli/src/executions/executions.service.ts b/packages/cli/src/executions/executions.service.ts index 19982c7573eac..139b9278180e7 100644 --- a/packages/cli/src/executions/executions.service.ts +++ b/packages/cli/src/executions/executions.service.ts @@ -110,6 +110,19 @@ export class ExecutionsService { return { count, estimated: false }; } + static massageFilters(filter: IDataObject): void { + if (filter) { + if (filter.waitTill === true) { + filter.waitTill = Not(IsNull()); + // eslint-disable-next-line @typescript-eslint/no-unnecessary-boolean-literal-compare + } else if (filter.finished === false) { + filter.waitTill = IsNull(); + } else { + delete filter.waitTill; + } + } + } + static async getExecutionsList(req: ExecutionRequest.GetAll): Promise { const sharedWorkflowIds = await this.getWorkflowIdsForUser(req.user); if (sharedWorkflowIds.length === 0) { @@ -215,19 +228,14 @@ export class ExecutionsService { .take(limit) .where(findWhere); + const countFilter = deepCopy(filter ?? {}); + if (filter) { - if (filter.waitTill === true) { - filter.waitTill = Not(IsNull()); - // eslint-disable-next-line @typescript-eslint/no-unnecessary-boolean-literal-compare - } else if (filter.finished === false) { - filter.waitTill = IsNull(); - } else { - delete filter.waitTill; - } + this.massageFilters(filter as IDataObject); query = query.andWhere(filter); } - const countFilter = deepCopy(filter ?? {}); + this.massageFilters(countFilter as IDataObject); countFilter.id = Not(In(executingWorkflowIds)); const executions = await query.getMany();