var parseFilter = require('ldapjs').parseFilter;
var utils = {};
utils.findQueryString = function(req)
{
var keywords = ["filter","offset","orderby","limit","fields"];
var baseUrl = decodeURIComponent(req.url);
if(baseUrl && baseUrl.indexOf("filter=(") != -1)
{
baseUrl = "&"+baseUrl.split("?")[1];
var indexList = [];
var listData = {};
for(var i=0;i=
case 'le': operate = '$lte'; break;//<=
case 'approx' : operate = '$in'; break;
default : operate = "$"+temFilter[i].type; break;
}
switch(operate){
case '$present' :
break;
case '$substring' :
// if(temFilter[i].initial){
// query += temFilter[i].attribute +" LIKE '"+ temFilter[i].initial + "%'"
// } else if(temFilter[i].final){
// query += temFilter[i].attribute +" LIKE '%" + temFilter[i].final + "'"
// } else {
// var any = "%";
// for(var j = 0; j < temFilter[i].any.length; j++){
// any += temFilter[i].any[j]+"%";
// }
// query += temFilter[i].attribute +" LIKE '" + any + "'"
// }
break;
default :
// query += temFilter[i].attribute +" "+ operate +" "+ temFilter[i].value;
var regexValue = temFilter[i].value;
if(data.type == 'or'){
var objOr = {}
var attribute = temFilter[i].attribute;
objOr[attribute] = regexValue
if(!query['$or'])
query['$or'] = []
query['$or'].push(objOr)
} else {
var attribute = temFilter[i].attribute;
query[attribute] = regexValue
}
// query = Object.assign(obj, obj)
break;
}
// query += temFilter[i].attribute +" "+ operate +" "+ temFilter[i].value;
}
// if(i != temFilter.length-1)
// query += " "+data.type.toUpperCase()+" "
}
return query;
}
function findValueInBracket(data)
{
data = data.substring(1,data.length-1);
var returnData = {};
if(data.indexOf("&") == -1 && data.indexOf("|") == -1)
{
//single data
var t = data.split("=");
returnData[t[0]] = t[1];
}else
{
//multi data
var left = [];
var splitData = data.split("");
for(var i=0;i