mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-11-04 20:29:01 +00:00
change how tags are checked
This commit is contained in:
+15
-13
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user