From dc5a7dbc621d92d9862c6a7c19860de1205a1777 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Wed, 21 Aug 2024 14:25:48 +0200 Subject: [PATCH] Fixes --- packages/backend-core/src/sql/sql.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/backend-core/src/sql/sql.ts b/packages/backend-core/src/sql/sql.ts index 21baa5adcc..a837ce61ef 100644 --- a/packages/backend-core/src/sql/sql.ts +++ b/packages/backend-core/src/sql/sql.ts @@ -337,7 +337,7 @@ class InternalBuilder { if (!filters) { return query } - filters = this.parseFilters(filters) + filters = this.parseFilters({ ...filters }) const aliases = this.query.tableAliases // if all or specified in filters, then everything is an or const allOr = filters.allOr @@ -466,15 +466,21 @@ class InternalBuilder { if (filters.$and) { const { $and } = filters for (const condition of $and.conditions) { - query = query.andWhere(b => this.addFilters(b, condition, opts)) + query = query.where(b => { + this.addFilters(b, condition, opts) + }) } } if (filters.$or) { const { $or } = filters - for (const condition of $or.conditions) { - query = query.orWhere(b => this.addFilters(b, condition, opts)) - } + query = query.where(b => { + for (const condition of $or.conditions) { + b.orWhere(c => + this.addFilters(c, { ...condition, allOr: true }, opts) + ) + } + }) } if (filters.oneOf) {