From 798f14feba0e1d8b237621fc929fe943437ba183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Tue, 3 Nov 2026 00:15:01 +0100 Subject: [PATCH] change how tags are checked --- server/vault.api.js | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/server/vault.api.js b/server/vault.api.js index 14b89bc3f..3cb0ec75a 100644 --- a/server/vault.api.js +++ b/server/vault.api.js @@ -29,25 +29,27 @@ const rendererConditions = (legacy, v3)=>{ return {}; // If all renderers selected, renderer field not needed in query for speed }; -const tagConditions = (tagsAnd, tagsOr, tagsNot)=>{ +const tagConditions = (tagsAnd, tagsOr, tagsNot) => { const conditions = {}; - if(tagsAnd.length > 0) { - conditions.$and = tagsAnd.map((tag)=>({ - tags : tag.trim() - })); + if (tagsAnd.length > 0) { + conditions.tags = { + $all: tagsAnd.map(tag => tag.trim()) + }; } - if(tagsOr.length > 0) { - conditions.$or = tagsOr.map((tag)=>({ - tags : tag.trim() - })); + if (tagsOr.length > 0) { + conditions.tags = { + ...conditions.tags, + $in: tagsOr.map(tag => tag.trim()) + }; } - if(tagsNot.length > 0) { - conditions.$nor = tagsNot.map((tag)=>({ - tags : tag.trim() - })); + if (tagsNot.length > 0) { + conditions.tags = { + ...conditions.tags, + $nin: tagsNot.map(tag => tag.trim()) + }; } return conditions;