Socket
Socket
Sign inDemoInstall

ag-grid-mongo-query-builder

Package Overview
Dependencies
0
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.8 to 0.2.9

2

package.json
{
"name": "ag-grid-mongo-query-builder",
"version": "0.2.8",
"version": "0.2.9",
"description": "Utility to generate Mongo DB aggregation pipeline queries starting from AgGrid server side params",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -316,2 +316,4 @@ //const mongoose = require('mongoose');

switch (obj.type) {
case "equals": return { [key]: obj.filter };
case "notEqual": return { [key]: { "$ne": obj.filter } };
case "lessThan": return { [key]: { "$lt": obj.filter } };

@@ -321,3 +323,7 @@ case "lessThanOrEqual": return { [key]: { "$lte": obj.filter } };

case "greaterThanOrEqual": return { [key]: { "$gte": obj.filter } };
case "inRange": return { "$and": [{ [key]: { "$lt": obj.lt } }, { [key]: { "$gt": obj.gt } }] };
case "inRange": return { "$and": [{ [key]: { "$lte": obj.filterTo } }, { [key]: { "$gte": obj.filter } }] };
case "blank": return { $or : [ {[key]: {"$exists": true, "$eq": "" }}, {[key]: {"$exists": false}}]};
case "notBlank": return { [key]: { "$exists": true, "$ne": "" }};
case "false": return { [key]: false};
case "true": return { [key]: true};
default: return { [key]: obj.filter };

@@ -343,2 +349,4 @@ }

case "inRange": return { "$and": [{ [key]: { "$gte": obj.dateFrom } }, { [key]: { "$lte": obj.dateTo } }] };
case "blank": return { $or : [ {[key]: {"$exists": true, "$eq": "" }}, {[key]: {"$exists": false}}]};
case "notBlank": return { [key]: { "$exists": true, "$ne": "" }};
default: return { [key]: obj.dateFrom };

@@ -357,4 +365,6 @@ }

case "endsWith": return { [key]: { "$regex": obj.filter + "$", '$options': 'i' } };
case "blank": return { [key]: { "$exists": true, "$eq": "" } };
case "blank": return { $or : [ {[key]: {"$exists": true, "$eq": "" }}, {[key]: {"$exists": false}}]};
case "notBlank": return { [key]: { "$exists": true, "$ne": "" }};
case "false": return { [key]: false};
case "true": return { [key]: true};
default: return { [key]: obj.filter };

@@ -826,2 +836,4 @@ }

let reqCurrBatch = requestPerBatch;
let flagColumns = req.body && req.body.flagColumns ? req.body.flagColumns : null;
let flagValue = req.body && req.body.flagFilters ? req.body.flagFilters : null;
const currentBatchLimit = (currBatch * requestPerBatch * recordsPerPage);

@@ -847,23 +859,33 @@ if(currentBatchLimit > totalCount) {

response.map(eachRes => {
eachRes.map(function(obj) {
let tempDataObj = {};
for (let i in keys) {
if (obj[keys[i].fieldName] && Array.isArray(obj[keys[i].fieldName])) {
tempDataObj[keys[i].fieldName] = obj[keys[i].fieldName].toString();
} else if (obj[keys[i].fieldName] == "" || obj[keys[i].fieldName] == null || obj[keys[i].fieldName] == undefined) {
tempDataObj[keys[i].fieldName] = "";
} else {
tempDataObj[keys[i].fieldName] = obj[keys[i].fieldName];
}
eachRes.map(function(obj) {
let tempDataObj = {};
for (let i in keys) {
if (obj[keys[i].fieldName] && Array.isArray(obj[keys[i].fieldName])) {
tempDataObj[keys[i].fieldName] = obj[keys[i].fieldName].toString();
} else if (keys[i].dataType && (obj[keys[i].fieldName] == "" || obj[keys[i].fieldName] == null || obj[keys[i].fieldName] == undefined)) {
tempDataObj[keys[i].fieldName] = "";
} else if(keys[i].dataType) {
tempDataObj[keys[i].fieldName] = obj[keys[i].fieldName];
}
if(keys[i].dataType === 'agDateColumnFilter') {
const dateVal = obj[keys[i].fieldName] ? new Date(obj[keys[i].fieldName]) : null;
if(dateVal) {
tempDataObj[keys[i].fieldName] = moment(dateVal).format("DD/MM/YYYY");
if(keys[i].dataType === 'agDateColumnFilter') {
const dateVal = obj[keys[i].fieldName] ? new Date(obj[keys[i].fieldName]) : null;
if(dateVal) {
tempDataObj[keys[i].fieldName] = moment(dateVal).format("DD/MM/YYYY");
}
}
}
}
}
finalExportResultArray.push(tempDataObj);
flagValue.map(eachVal => {
let match = false;
flagColumns.some(flagCol => {
const typeOfVal = typeof(obj[flagCol.field]);
match = checkFlagCondition(typeOfVal, eachVal, obj[flagCol.field]);
if(match) return match
});
tempDataObj[`Keyword - ${eachVal}`] = match;
})
finalExportResultArray.push(tempDataObj);
});
});
});
}

@@ -876,2 +898,21 @@ currBatch = currBatch + 1;

}
function checkFlagCondition(type, flagVal, value) {
switch (type) {
case "string":
if(value && flagVal && value.toLowerCase().indexOf(flagVal.toLowerCase()) >= 0) {
return true;
} else return true
case "number":
if(value && flagVal && value == flagVal) return true
else return false;
case "object":
if(value && flagVal && value.some(str => str && str.toLowerCase().includes(flagVal.toLowerCase()))) {
return true
} else return false;
default: return false;
}
}

@@ -878,0 +919,0 @@ const getCSVDataByPages = async(req, startRow, endRow, res, dbModel)=>{

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc