adminmate-express-mongoose
Advanced tools
Comparing version 1.1.4 to 1.1.5
{ | ||
"name": "adminmate-express-mongoose", | ||
"version": "1.1.4", | ||
"version": "1.1.5", | ||
"description": "Adminmate Express/Mongoose connector", | ||
@@ -5,0 +5,0 @@ "author": "Marc Delalonde", |
@@ -142,11 +142,12 @@ const mongoose = require('mongoose'); | ||
// Filters | ||
if (filters && filters.length) { | ||
const filter = filters[0]; | ||
params[filter.attr] = filter.value; | ||
if (filters && filters.operator && filters.list && filters.list.length) { | ||
const filtersQuery = fnHelper.constructQuery(filters.list, filters.operator); | ||
if (filtersQuery) { | ||
params = { $and: [params, filtersQuery] }; | ||
} | ||
} | ||
// Segment | ||
if (segment) { | ||
const segmentQuery = fnHelper.constructQuery(segment.data); | ||
console.log('===segmentQuery', segmentQuery['$and']); | ||
if (segment && segment.operator && segment.list && segment.list.length) { | ||
const segmentQuery = fnHelper.constructQuery(segment.list, segment.operator); | ||
if (segmentQuery) { | ||
@@ -240,9 +241,10 @@ params = { $and: [params, segmentQuery] }; | ||
// // Only keep authorized keys | ||
// Only keep authorized keys | ||
// const cleanData = {}; | ||
// for (key in data) { | ||
// if (itemEditableKeys.includes(key)) { | ||
// cleanData[key] = data[key] | ||
// updatableFields.forEach(updatableField => { | ||
// const fieldValue = global._.get(data, updatableField); | ||
// if (fieldValue) { | ||
// global._.set(cleanData, updatableField, fieldValue) | ||
// } | ||
// } | ||
// }); | ||
@@ -249,0 +251,0 @@ const cleanData = data; |
@@ -97,3 +97,7 @@ const mongoose = require('mongoose'); | ||
module.exports.constructQuery = criterias => { | ||
module.exports.constructQuery = (criterias, operator = 'and') => { | ||
if (!['and', 'or'].includes(operator)) { | ||
return {}; | ||
} | ||
const query = []; | ||
@@ -138,3 +142,3 @@ criterias.forEach(criteria => { | ||
}); | ||
return query.length ? { $and: query } : {}; | ||
return query.length ? { [`$${operator}`]: query } : {}; | ||
}; | ||
@@ -141,0 +145,0 @@ |
28147
762