From 54c5ae14418c88d7f8d1109e839f1b8ffdce402e Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Mon, 25 Oct 2021 13:34:48 +0100 Subject: [PATCH 1/2] Scope view filters to table always --- packages/server/src/api/controllers/view/viewBuilder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/api/controllers/view/viewBuilder.js b/packages/server/src/api/controllers/view/viewBuilder.js index b0f39b2f1f..6e2e5c8527 100644 --- a/packages/server/src/api/controllers/view/viewBuilder.js +++ b/packages/server/src/api/controllers/view/viewBuilder.js @@ -126,7 +126,7 @@ function viewTemplate({ field, tableId, groupBy, filters = [], calculation }) { delete filters[0].conjunction } const parsedFilters = parseFilterExpression(filters) - const filterExpression = parsedFilters ? `&& ${parsedFilters}` : "" + const filterExpression = parsedFilters ? `&& (${parsedFilters})` : "" const emitExpression = parseEmitExpression(field, groupBy) From 21da90056779601d56da63b301be92879a2f2786 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 26 Oct 2021 09:43:00 +0100 Subject: [PATCH 2/2] Update snapshot --- .../view/tests/__snapshots__/viewBuilder.spec.js.snap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/api/controllers/view/tests/__snapshots__/viewBuilder.spec.js.snap b/packages/server/src/api/controllers/view/tests/__snapshots__/viewBuilder.spec.js.snap index dfe5f78c46..27c8615a46 100644 --- a/packages/server/src/api/controllers/view/tests/__snapshots__/viewBuilder.spec.js.snap +++ b/packages/server/src/api/controllers/view/tests/__snapshots__/viewBuilder.spec.js.snap @@ -44,7 +44,7 @@ Object { exports[`viewBuilder Filter creates a view with multiple filters and conjunctions 1`] = ` Object { "map": "function (doc) { - if (doc.tableId === \\"14f1c4e94d6a47b682ce89d35d4c78b0\\" && doc[\\"Name\\"] === \\"Test\\" || doc[\\"Yes\\"] > \\"Value\\") { + if (doc.tableId === \\"14f1c4e94d6a47b682ce89d35d4c78b0\\" && (doc[\\"Name\\"] === \\"Test\\" || doc[\\"Yes\\"] > \\"Value\\")) { emit(doc[\\"_id\\"], doc[\\"undefined\\"]); } }",