Commit 58b47ee85b69d585fd7c427b94a52c61523ef1fc
1 parent
33ead877
Exists in
master
and in
1 other branch
update query mongodb
Showing
6 changed files
with
405 additions
and
5 deletions
Show diff stats
app.js
| @@ -88,6 +88,11 @@ app.use(function (req, res, next) { | @@ -88,6 +88,11 @@ app.use(function (req, res, next) { | ||
| 88 | }); | 88 | }); |
| 89 | 89 | ||
| 90 | 90 | ||
| 91 | +const utils = require('utils/utils'); | ||
| 92 | +app.use( function( req, res, next ) { | ||
| 93 | + req = utils.findQueryString(req); | ||
| 94 | + next(); | ||
| 95 | +}); | ||
| 91 | 96 | ||
| 92 | 97 | ||
| 93 | // get BE api configs | 98 | // get BE api configs |
controllers/mongo-db/mongoConnect.js
controllers/mongo-db/query.js
| 1 | let express = require('express'); | 1 | let express = require('express'); |
| 2 | let router = express.Router(); | 2 | let router = express.Router(); |
| 3 | let connection = require("./mongoConnect.js") | 3 | let connection = require("./mongoConnect.js") |
| 4 | - | 4 | +var parseFilter = require('ldapjs').parseFilter; |
| 5 | +let utils = require('../../utils/utils') | ||
| 5 | 6 | ||
| 6 | router.get('/',async function (req, res) { | 7 | router.get('/',async function (req, res) { |
| 7 | - var query = Object.assign(req.params, req.query); | ||
| 8 | - var result = await connection.reqMongo(req, query) | ||
| 9 | - res.status(200).json(result); | 8 | + |
| 9 | + var filter = parseFilter(req.query.filter) | ||
| 10 | + | ||
| 11 | + // var objectData = Object.assign(req.query,req.params); | ||
| 12 | + // var filter = utils.getUpdateFilter(objectData); | ||
| 13 | + | ||
| 14 | + var query = await utils.getQuery(filter); | ||
| 15 | + console.log(query) | ||
| 16 | + | ||
| 17 | + // var query = Object.assign(req.params, req.query); | ||
| 18 | + var result = await connection.reqMongo(req, query, 'config') | ||
| 19 | + res.status(200).send(result); | ||
| 10 | }); | 20 | }); |
| 11 | 21 | ||
| 12 | router.post('/', (req, res) => { | 22 | router.post('/', (req, res) => { |
package-lock.json
| @@ -88,6 +88,20 @@ | @@ -88,6 +88,20 @@ | ||
| 88 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", | 88 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", |
| 89 | "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" | 89 | "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" |
| 90 | }, | 90 | }, |
| 91 | + "backoff": { | ||
| 92 | + "version": "2.5.0", | ||
| 93 | + "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", | ||
| 94 | + "integrity": "sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=", | ||
| 95 | + "requires": { | ||
| 96 | + "precond": "0.2.3" | ||
| 97 | + } | ||
| 98 | + }, | ||
| 99 | + "balanced-match": { | ||
| 100 | + "version": "1.0.0", | ||
| 101 | + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", | ||
| 102 | + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", | ||
| 103 | + "optional": true | ||
| 104 | + }, | ||
| 91 | "bcrypt-pbkdf": { | 105 | "bcrypt-pbkdf": { |
| 92 | "version": "1.0.2", | 106 | "version": "1.0.2", |
| 93 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", | 107 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", |
| @@ -154,11 +168,32 @@ | @@ -154,11 +168,32 @@ | ||
| 154 | "hoek": "2.16.3" | 168 | "hoek": "2.16.3" |
| 155 | } | 169 | } |
| 156 | }, | 170 | }, |
| 171 | + "brace-expansion": { | ||
| 172 | + "version": "1.1.11", | ||
| 173 | + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||
| 174 | + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||
| 175 | + "optional": true, | ||
| 176 | + "requires": { | ||
| 177 | + "balanced-match": "1.0.0", | ||
| 178 | + "concat-map": "0.0.1" | ||
| 179 | + } | ||
| 180 | + }, | ||
| 157 | "bson": { | 181 | "bson": { |
| 158 | "version": "1.1.0", | 182 | "version": "1.1.0", |
| 159 | "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.0.tgz", | 183 | "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.0.tgz", |
| 160 | "integrity": "sha512-9Aeai9TacfNtWXOYarkFJRW2CWo+dRon+fuLZYJmvLV3+MiUp0bEI6IAZfXEIg7/Pl/7IWlLaDnhzTsD81etQA==" | 184 | "integrity": "sha512-9Aeai9TacfNtWXOYarkFJRW2CWo+dRon+fuLZYJmvLV3+MiUp0bEI6IAZfXEIg7/Pl/7IWlLaDnhzTsD81etQA==" |
| 161 | }, | 185 | }, |
| 186 | + "bunyan": { | ||
| 187 | + "version": "1.8.12", | ||
| 188 | + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz", | ||
| 189 | + "integrity": "sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c=", | ||
| 190 | + "requires": { | ||
| 191 | + "dtrace-provider": "0.8.7", | ||
| 192 | + "moment": "2.22.2", | ||
| 193 | + "mv": "2.1.1", | ||
| 194 | + "safe-json-stringify": "1.2.0" | ||
| 195 | + } | ||
| 196 | + }, | ||
| 162 | "bytes": { | 197 | "bytes": { |
| 163 | "version": "3.0.0", | 198 | "version": "3.0.0", |
| 164 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", | 199 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", |
| @@ -281,6 +316,12 @@ | @@ -281,6 +316,12 @@ | ||
| 281 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", | 316 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", |
| 282 | "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" | 317 | "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" |
| 283 | }, | 318 | }, |
| 319 | + "concat-map": { | ||
| 320 | + "version": "0.0.1", | ||
| 321 | + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||
| 322 | + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", | ||
| 323 | + "optional": true | ||
| 324 | + }, | ||
| 284 | "connect-flash": { | 325 | "connect-flash": { |
| 285 | "version": "0.1.1", | 326 | "version": "0.1.1", |
| 286 | "resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz", | 327 | "resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz", |
| @@ -435,6 +476,15 @@ | @@ -435,6 +476,15 @@ | ||
| 435 | "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", | 476 | "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", |
| 436 | "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=" | 477 | "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=" |
| 437 | }, | 478 | }, |
| 479 | + "dtrace-provider": { | ||
| 480 | + "version": "0.8.7", | ||
| 481 | + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.7.tgz", | ||
| 482 | + "integrity": "sha1-3JObTT4GIM/gwc2APQ0tftBP/QQ=", | ||
| 483 | + "optional": true, | ||
| 484 | + "requires": { | ||
| 485 | + "nan": "2.11.1" | ||
| 486 | + } | ||
| 487 | + }, | ||
| 438 | "ecc-jsbn": { | 488 | "ecc-jsbn": { |
| 439 | "version": "0.1.2", | 489 | "version": "0.1.2", |
| 440 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", | 490 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", |
| @@ -689,6 +739,19 @@ | @@ -689,6 +739,19 @@ | ||
| 689 | } | 739 | } |
| 690 | } | 740 | } |
| 691 | }, | 741 | }, |
| 742 | + "glob": { | ||
| 743 | + "version": "6.0.4", | ||
| 744 | + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", | ||
| 745 | + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", | ||
| 746 | + "optional": true, | ||
| 747 | + "requires": { | ||
| 748 | + "inflight": "1.0.6", | ||
| 749 | + "inherits": "2.0.3", | ||
| 750 | + "minimatch": "3.0.4", | ||
| 751 | + "once": "1.4.0", | ||
| 752 | + "path-is-absolute": "1.0.1" | ||
| 753 | + } | ||
| 754 | + }, | ||
| 692 | "har-validator": { | 755 | "har-validator": { |
| 693 | "version": "2.0.6", | 756 | "version": "2.0.6", |
| 694 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", | 757 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", |
| @@ -777,6 +840,16 @@ | @@ -777,6 +840,16 @@ | ||
| 777 | "pope": "1.0.5" | 840 | "pope": "1.0.5" |
| 778 | } | 841 | } |
| 779 | }, | 842 | }, |
| 843 | + "inflight": { | ||
| 844 | + "version": "1.0.6", | ||
| 845 | + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", | ||
| 846 | + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", | ||
| 847 | + "optional": true, | ||
| 848 | + "requires": { | ||
| 849 | + "once": "1.4.0", | ||
| 850 | + "wrappy": "1.0.2" | ||
| 851 | + } | ||
| 852 | + }, | ||
| 780 | "inherits": { | 853 | "inherits": { |
| 781 | "version": "2.0.3", | 854 | "version": "2.0.3", |
| 782 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | 855 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", |
| @@ -898,6 +971,50 @@ | @@ -898,6 +971,50 @@ | ||
| 898 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", | 971 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", |
| 899 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" | 972 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" |
| 900 | }, | 973 | }, |
| 974 | + "ldap-filter": { | ||
| 975 | + "version": "0.2.2", | ||
| 976 | + "resolved": "https://registry.npmjs.org/ldap-filter/-/ldap-filter-0.2.2.tgz", | ||
| 977 | + "integrity": "sha1-8rhCvguG2jNSeYUFsx68rlkNd9A=", | ||
| 978 | + "requires": { | ||
| 979 | + "assert-plus": "0.1.5" | ||
| 980 | + }, | ||
| 981 | + "dependencies": { | ||
| 982 | + "assert-plus": { | ||
| 983 | + "version": "0.1.5", | ||
| 984 | + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", | ||
| 985 | + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=" | ||
| 986 | + } | ||
| 987 | + } | ||
| 988 | + }, | ||
| 989 | + "ldapjs": { | ||
| 990 | + "version": "1.0.2", | ||
| 991 | + "resolved": "https://registry.npmjs.org/ldapjs/-/ldapjs-1.0.2.tgz", | ||
| 992 | + "integrity": "sha1-VE/3Ayt7g8aPBwEyjZKXqmlDQPk=", | ||
| 993 | + "requires": { | ||
| 994 | + "asn1": "0.2.3", | ||
| 995 | + "assert-plus": "1.0.0", | ||
| 996 | + "backoff": "2.5.0", | ||
| 997 | + "bunyan": "1.8.12", | ||
| 998 | + "dashdash": "1.14.1", | ||
| 999 | + "dtrace-provider": "0.8.7", | ||
| 1000 | + "ldap-filter": "0.2.2", | ||
| 1001 | + "once": "1.4.0", | ||
| 1002 | + "vasync": "1.6.4", | ||
| 1003 | + "verror": "1.10.0" | ||
| 1004 | + }, | ||
| 1005 | + "dependencies": { | ||
| 1006 | + "asn1": { | ||
| 1007 | + "version": "0.2.3", | ||
| 1008 | + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", | ||
| 1009 | + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" | ||
| 1010 | + }, | ||
| 1011 | + "assert-plus": { | ||
| 1012 | + "version": "1.0.0", | ||
| 1013 | + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||
| 1014 | + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" | ||
| 1015 | + } | ||
| 1016 | + } | ||
| 1017 | + }, | ||
| 901 | "lodash": { | 1018 | "lodash": { |
| 902 | "version": "4.17.11", | 1019 | "version": "4.17.11", |
| 903 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", | 1020 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", |
| @@ -998,6 +1115,15 @@ | @@ -998,6 +1115,15 @@ | ||
| 998 | "mime-db": "1.36.0" | 1115 | "mime-db": "1.36.0" |
| 999 | } | 1116 | } |
| 1000 | }, | 1117 | }, |
| 1118 | + "minimatch": { | ||
| 1119 | + "version": "3.0.4", | ||
| 1120 | + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | ||
| 1121 | + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | ||
| 1122 | + "optional": true, | ||
| 1123 | + "requires": { | ||
| 1124 | + "brace-expansion": "1.1.11" | ||
| 1125 | + } | ||
| 1126 | + }, | ||
| 1001 | "minimist": { | 1127 | "minimist": { |
| 1002 | "version": "0.0.8", | 1128 | "version": "0.0.8", |
| 1003 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", | 1129 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", |
| @@ -1041,6 +1167,29 @@ | @@ -1041,6 +1167,29 @@ | ||
| 1041 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | 1167 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
| 1042 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | 1168 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
| 1043 | }, | 1169 | }, |
| 1170 | + "mv": { | ||
| 1171 | + "version": "2.1.1", | ||
| 1172 | + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", | ||
| 1173 | + "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", | ||
| 1174 | + "optional": true, | ||
| 1175 | + "requires": { | ||
| 1176 | + "mkdirp": "0.5.1", | ||
| 1177 | + "ncp": "2.0.0", | ||
| 1178 | + "rimraf": "2.4.5" | ||
| 1179 | + } | ||
| 1180 | + }, | ||
| 1181 | + "nan": { | ||
| 1182 | + "version": "2.11.1", | ||
| 1183 | + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", | ||
| 1184 | + "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", | ||
| 1185 | + "optional": true | ||
| 1186 | + }, | ||
| 1187 | + "ncp": { | ||
| 1188 | + "version": "2.0.0", | ||
| 1189 | + "resolved": "http://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", | ||
| 1190 | + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", | ||
| 1191 | + "optional": true | ||
| 1192 | + }, | ||
| 1044 | "negotiator": { | 1193 | "negotiator": { |
| 1045 | "version": "0.6.1", | 1194 | "version": "0.6.1", |
| 1046 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", | 1195 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", |
| @@ -1074,6 +1223,14 @@ | @@ -1074,6 +1223,14 @@ | ||
| 1074 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", | 1223 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", |
| 1075 | "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" | 1224 | "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" |
| 1076 | }, | 1225 | }, |
| 1226 | + "once": { | ||
| 1227 | + "version": "1.4.0", | ||
| 1228 | + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", | ||
| 1229 | + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", | ||
| 1230 | + "requires": { | ||
| 1231 | + "wrappy": "1.0.2" | ||
| 1232 | + } | ||
| 1233 | + }, | ||
| 1077 | "one-time": { | 1234 | "one-time": { |
| 1078 | "version": "0.0.4", | 1235 | "version": "0.0.4", |
| 1079 | "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", | 1236 | "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", |
| @@ -1166,6 +1323,12 @@ | @@ -1166,6 +1323,12 @@ | ||
| 1166 | "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", | 1323 | "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", |
| 1167 | "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" | 1324 | "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" |
| 1168 | }, | 1325 | }, |
| 1326 | + "path-is-absolute": { | ||
| 1327 | + "version": "1.0.1", | ||
| 1328 | + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | ||
| 1329 | + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", | ||
| 1330 | + "optional": true | ||
| 1331 | + }, | ||
| 1169 | "path-to-regexp": { | 1332 | "path-to-regexp": { |
| 1170 | "version": "0.1.7", | 1333 | "version": "0.1.7", |
| 1171 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | 1334 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", |
| @@ -1199,6 +1362,11 @@ | @@ -1199,6 +1362,11 @@ | ||
| 1199 | "resolved": "https://registry.npmjs.org/pope/-/pope-1.0.5.tgz", | 1362 | "resolved": "https://registry.npmjs.org/pope/-/pope-1.0.5.tgz", |
| 1200 | "integrity": "sha512-53FgeyiX79LOvZvviqFSLFT3otSRIpPv4uTDRscoWaJlr1LWCaTB+ouhvCouj08Ag28pM18FZv9Y2+wmimILAA==" | 1363 | "integrity": "sha512-53FgeyiX79LOvZvviqFSLFT3otSRIpPv4uTDRscoWaJlr1LWCaTB+ouhvCouj08Ag28pM18FZv9Y2+wmimILAA==" |
| 1201 | }, | 1364 | }, |
| 1365 | + "precond": { | ||
| 1366 | + "version": "0.2.3", | ||
| 1367 | + "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", | ||
| 1368 | + "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=" | ||
| 1369 | + }, | ||
| 1202 | "process-nextick-args": { | 1370 | "process-nextick-args": { |
| 1203 | "version": "2.0.0", | 1371 | "version": "2.0.0", |
| 1204 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", | 1372 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", |
| @@ -1378,11 +1546,26 @@ | @@ -1378,11 +1546,26 @@ | ||
| 1378 | "align-text": "0.1.4" | 1546 | "align-text": "0.1.4" |
| 1379 | } | 1547 | } |
| 1380 | }, | 1548 | }, |
| 1549 | + "rimraf": { | ||
| 1550 | + "version": "2.4.5", | ||
| 1551 | + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", | ||
| 1552 | + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", | ||
| 1553 | + "optional": true, | ||
| 1554 | + "requires": { | ||
| 1555 | + "glob": "6.0.4" | ||
| 1556 | + } | ||
| 1557 | + }, | ||
| 1381 | "safe-buffer": { | 1558 | "safe-buffer": { |
| 1382 | "version": "5.1.2", | 1559 | "version": "5.1.2", |
| 1383 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | 1560 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |
| 1384 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | 1561 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" |
| 1385 | }, | 1562 | }, |
| 1563 | + "safe-json-stringify": { | ||
| 1564 | + "version": "1.2.0", | ||
| 1565 | + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", | ||
| 1566 | + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", | ||
| 1567 | + "optional": true | ||
| 1568 | + }, | ||
| 1386 | "safer-buffer": { | 1569 | "safer-buffer": { |
| 1387 | "version": "2.1.2", | 1570 | "version": "2.1.2", |
| 1388 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | 1571 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
| @@ -1661,6 +1844,29 @@ | @@ -1661,6 +1844,29 @@ | ||
| 1661 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 1844 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
| 1662 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | 1845 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" |
| 1663 | }, | 1846 | }, |
| 1847 | + "vasync": { | ||
| 1848 | + "version": "1.6.4", | ||
| 1849 | + "resolved": "https://registry.npmjs.org/vasync/-/vasync-1.6.4.tgz", | ||
| 1850 | + "integrity": "sha1-3+k2Fq0OeugBszKp2Iv8XNyOHR8=", | ||
| 1851 | + "requires": { | ||
| 1852 | + "verror": "1.6.0" | ||
| 1853 | + }, | ||
| 1854 | + "dependencies": { | ||
| 1855 | + "extsprintf": { | ||
| 1856 | + "version": "1.2.0", | ||
| 1857 | + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz", | ||
| 1858 | + "integrity": "sha1-WtlGwi9bMrp/jNdCZxHG6KP8JSk=" | ||
| 1859 | + }, | ||
| 1860 | + "verror": { | ||
| 1861 | + "version": "1.6.0", | ||
| 1862 | + "resolved": "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz", | ||
| 1863 | + "integrity": "sha1-fROyex+swuLakEBetepuW90lLqU=", | ||
| 1864 | + "requires": { | ||
| 1865 | + "extsprintf": "1.2.0" | ||
| 1866 | + } | ||
| 1867 | + } | ||
| 1868 | + } | ||
| 1869 | + }, | ||
| 1664 | "verror": { | 1870 | "verror": { |
| 1665 | "version": "1.10.0", | 1871 | "version": "1.10.0", |
| 1666 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | 1872 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", |
| @@ -1721,6 +1927,11 @@ | @@ -1721,6 +1927,11 @@ | ||
| 1721 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", | 1927 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", |
| 1722 | "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" | 1928 | "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" |
| 1723 | }, | 1929 | }, |
| 1930 | + "wrappy": { | ||
| 1931 | + "version": "1.0.2", | ||
| 1932 | + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | ||
| 1933 | + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" | ||
| 1934 | + }, | ||
| 1724 | "xml-crypto": { | 1935 | "xml-crypto": { |
| 1725 | "version": "0.10.1", | 1936 | "version": "0.10.1", |
| 1726 | "resolved": "https://registry.npmjs.org/xml-crypto/-/xml-crypto-0.10.1.tgz", | 1937 | "resolved": "https://registry.npmjs.org/xml-crypto/-/xml-crypto-0.10.1.tgz", |
package.json
| @@ -18,6 +18,7 @@ | @@ -18,6 +18,7 @@ | ||
| 18 | "express-request-id": "^1.4.1", | 18 | "express-request-id": "^1.4.1", |
| 19 | "express-session": "^1.15.6", | 19 | "express-session": "^1.15.6", |
| 20 | "indicative": "^3.0.6", | 20 | "indicative": "^3.0.6", |
| 21 | + "ldapjs": "^1.0.2", | ||
| 21 | "log4js": "^3.0.6", | 22 | "log4js": "^3.0.6", |
| 22 | "moment": "^2.22.2", | 23 | "moment": "^2.22.2", |
| 23 | "mongodb": "^3.1.8", | 24 | "mongodb": "^3.1.8", |
| @@ -0,0 +1,174 @@ | @@ -0,0 +1,174 @@ | ||
| 1 | + | ||
| 2 | + | ||
| 3 | +utils = {}; | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +utils.findQueryString = function(req) | ||
| 7 | +{ | ||
| 8 | + var keywords = ["filter","offset","orderby","limit","fields"]; | ||
| 9 | + | ||
| 10 | + var baseUrl = decodeURIComponent(req.url); | ||
| 11 | + | ||
| 12 | + if(baseUrl && baseUrl.indexOf("filter=(") != -1) | ||
| 13 | + { | ||
| 14 | + baseUrl = "&"+baseUrl.split("?")[1]; | ||
| 15 | + | ||
| 16 | + var indexList = []; | ||
| 17 | + var listData = {}; | ||
| 18 | + for(var i=0;i<keywords.length;i++) | ||
| 19 | + { | ||
| 20 | + var foundIndex = baseUrl.indexOf("&"+keywords[i]+"="); | ||
| 21 | + if(foundIndex != -1) | ||
| 22 | + { | ||
| 23 | + listData[foundIndex] = keywords[i]; | ||
| 24 | + indexList.push(foundIndex); | ||
| 25 | + } | ||
| 26 | + | ||
| 27 | + } | ||
| 28 | + indexList.sort(function(a, b){return a - b}) | ||
| 29 | + | ||
| 30 | + for(var i = 0;i<keywords.length;i++) | ||
| 31 | + { | ||
| 32 | + baseUrl = baseUrl.replace("&"+keywords[i]+"=","[split]") | ||
| 33 | + } | ||
| 34 | + var splitUrl = baseUrl.split("[split]"); | ||
| 35 | + | ||
| 36 | + req.query = {}; | ||
| 37 | + for(var i=0;i<indexList.length;i++) | ||
| 38 | + req.query[listData[indexList[i]]] = splitUrl[i+1]; | ||
| 39 | + | ||
| 40 | + } | ||
| 41 | + return req; | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | +utils.getUpdateFilter = function(obj) | ||
| 45 | +{ | ||
| 46 | + | ||
| 47 | + if(obj.filter) | ||
| 48 | + { | ||
| 49 | + | ||
| 50 | + var filter = findValueInBracket(obj.filter); | ||
| 51 | + obj = Object.assign(obj, filter); | ||
| 52 | + | ||
| 53 | + delete obj.filter; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + | ||
| 57 | + return obj; | ||
| 58 | +} | ||
| 59 | + | ||
| 60 | +utils.getQuery = async function(data,query){ | ||
| 61 | + if(!query) | ||
| 62 | + var query = {}; | ||
| 63 | + //type !(xx) connot be use | ||
| 64 | + var temFilter = data.filters; | ||
| 65 | + for(var i = 0; i < temFilter.length; i++){ | ||
| 66 | + // console.log(temFilter[i].filters) | ||
| 67 | + if(temFilter[i].filters){ | ||
| 68 | + query = getQuery(temFilter[i],query); | ||
| 69 | + } else { | ||
| 70 | + var operate = ""; | ||
| 71 | + switch(temFilter[i].type){ | ||
| 72 | + case 'equal': operate = '$eq'; break; | ||
| 73 | + case 'ge': operate = '$gte'; break;//>= | ||
| 74 | + case 'le': operate = '$lte'; break;//<= | ||
| 75 | + case 'approx' : operate = '$in'; break; | ||
| 76 | + default : operate = "$"+temFilter[i].type; break; | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + switch(operate){ | ||
| 80 | + case '$present' : | ||
| 81 | + break; | ||
| 82 | + case '$substring' : | ||
| 83 | + // if(temFilter[i].initial){ | ||
| 84 | + // query += temFilter[i].attribute +" LIKE '"+ temFilter[i].initial + "%'" | ||
| 85 | + // } else if(temFilter[i].final){ | ||
| 86 | + // query += temFilter[i].attribute +" LIKE '%" + temFilter[i].final + "'" | ||
| 87 | + // } else { | ||
| 88 | + // var any = "%"; | ||
| 89 | + // for(var j = 0; j < temFilter[i].any.length; j++){ | ||
| 90 | + // any += temFilter[i].any[j]+"%"; | ||
| 91 | + // } | ||
| 92 | + // query += temFilter[i].attribute +" LIKE '" + any + "'" | ||
| 93 | + // } | ||
| 94 | + break; | ||
| 95 | + default : | ||
| 96 | + // query += temFilter[i].attribute +" "+ operate +" "+ temFilter[i].value; | ||
| 97 | + var regexValue = new RegExp(temFilter[i].value,"g") | ||
| 98 | + if(data.type == 'or'){ | ||
| 99 | + var objOr = {} | ||
| 100 | + var attribute = temFilter[i].attribute; | ||
| 101 | + objOr[attribute] = regexValue | ||
| 102 | + if(!query['$or']) | ||
| 103 | + query['$or'] = [] | ||
| 104 | + query['$or'].push(objOr) | ||
| 105 | + } else { | ||
| 106 | + var attribute = temFilter[i].attribute; | ||
| 107 | + query[attribute] = regexValue | ||
| 108 | + } | ||
| 109 | + // query = Object.assign(obj, obj) | ||
| 110 | + break; | ||
| 111 | + } | ||
| 112 | + // query += temFilter[i].attribute +" "+ operate +" "+ temFilter[i].value; | ||
| 113 | + } | ||
| 114 | + // if(i != temFilter.length-1) | ||
| 115 | + // query += " "+data.type.toUpperCase()+" " | ||
| 116 | + } | ||
| 117 | + return query; | ||
| 118 | +} | ||
| 119 | + | ||
| 120 | +function findValueInBracket(data) | ||
| 121 | +{ | ||
| 122 | + data = data.substring(1,data.length-1); | ||
| 123 | + var returnData = {}; | ||
| 124 | + | ||
| 125 | + | ||
| 126 | + if(data.indexOf("&") == -1 && data.indexOf("|") == -1) | ||
| 127 | + { | ||
| 128 | + //single data | ||
| 129 | + var t = data.split("="); | ||
| 130 | + returnData[t[0]] = t[1]; | ||
| 131 | + | ||
| 132 | + }else | ||
| 133 | + { | ||
| 134 | + //multi data | ||
| 135 | + var left = []; | ||
| 136 | + var splitData = data.split(""); | ||
| 137 | + for(var i=0;i<splitData.length;i++) | ||
| 138 | + { | ||
| 139 | + if(splitData[i] === "(") | ||
| 140 | + { | ||
| 141 | + left.push(i); | ||
| 142 | + } | ||
| 143 | + else if(splitData[i] === ")") | ||
| 144 | + { | ||
| 145 | + var pop = left.pop(); | ||
| 146 | + var rawdata = data.substring(pop+1,i); | ||
| 147 | + if(rawdata.indexOf("&") == -1 && rawdata.indexOf("|") == -1) | ||
| 148 | + { | ||
| 149 | + var t = rawdata.split("="); | ||
| 150 | + | ||
| 151 | + if(!returnData[t[0]]) | ||
| 152 | + returnData[t[0]] = []; | ||
| 153 | + | ||
| 154 | + returnData[t[0]].push(t[1]); | ||
| 155 | + } | ||
| 156 | + | ||
| 157 | + | ||
| 158 | + } | ||
| 159 | + } | ||
| 160 | + | ||
| 161 | + var keylist = Object.keys(returnData) | ||
| 162 | + for(var i=0;i<keylist.length;i++) | ||
| 163 | + { | ||
| 164 | + | ||
| 165 | + if(returnData[keylist[i]].length == 1) | ||
| 166 | + returnData[keylist[i]] = returnData[keylist[i]][0]; | ||
| 167 | + } | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + return returnData; | ||
| 171 | + | ||
| 172 | +} | ||
| 173 | + | ||
| 174 | +module.exports = utils; | ||
| 0 | \ No newline at end of file | 175 | \ No newline at end of file |