blixify-server 0.2.19 → 0.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"mongoWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/mongoWrapper.ts"],"names":[],"mappings":"AASA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAGrD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAiID;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,EAAE,GAAG,CAAM;IAClB,UAAU,SAAM;IAChB,MAAM,UAAS;IACf,MAAM,EAAE,cAAc,CAQpB;IACF,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,SAAM;IACb,KAAK,SAAM;IACX,WAAW,EAAE,GAAG,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IAEX,YAAY,QAAS,GAAG,aAEtB;gBAGA,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,EACrD,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACzC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI;IAe3D,UAAU,SAAU,GAAG,SAIrB;IAEF,aAAa,YACF,GAAG,QACN,QAAQ,GAAG,QAAQ,GAAG,QAAQ,OAC/B,GAAG,UACA;QACN,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,GAAG,CAAC,EAAE,GAAG,CAAC;KACX,mBA8CD;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;mBAyE5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAkDtC;IAEF,OAAO,QAAe,GAAG,OAAO,GAAG;;mBAuCjC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAgKtC;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAqGtC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;mBA0I5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAwCtC;IAEF,mBAAmB,CAAC,GAAG,EAAE,GAAG;IAsM5B,QAAQ,QAAe,GAAG,OAAO,GAAG;;;;;mBAgQlC;IAEF,IAAI,YA+EF;CACH"}
1
+ {"version":3,"file":"mongoWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/mongoWrapper.ts"],"names":[],"mappings":"AASA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAGrD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAgJD;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,EAAE,GAAG,CAAM;IAClB,UAAU,SAAM;IAChB,MAAM,UAAS;IACf,MAAM,EAAE,cAAc,CAQpB;IACF,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,SAAM;IACb,KAAK,SAAM;IACX,WAAW,EAAE,GAAG,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IAEX,YAAY,QAAS,GAAG,aAEtB;gBAGA,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,EACrD,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACzC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI;IAe3D,UAAU,SAAU,GAAG,SAIrB;IAEF,aAAa,YACF,GAAG,QACN,QAAQ,GAAG,QAAQ,GAAG,QAAQ,OAC/B,GAAG,UACA;QACN,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,GAAG,CAAC,EAAE,GAAG,CAAC;KACX,mBA8CD;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;mBAyE5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAkDtC;IAEF,OAAO,QAAe,GAAG,OAAO,GAAG;;mBAuCjC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAgKtC;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAqGtC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;mBA0I5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAwCtC;IAEF,mBAAmB,CAAC,GAAG,EAAE,GAAG;IAiN5B,QAAQ,QAAe,GAAG,OAAO,GAAG;;;;;mBAgQlC;IAEF,IAAI,YA+EF;CACH"}
@@ -22,13 +22,13 @@ const handleParseQueryFilter = (queryList, prefix) => {
22
22
  const queryGroupValues = {};
23
23
  if (queryList && queryList.length > 0) {
24
24
  queryList.map((eachQuery) => {
25
- var _a, _b;
25
+ var _a, _b, _c;
26
26
  let queryId = (_a = eachQuery.queryId) !== null && _a !== void 0 ? _a : "";
27
27
  if (prefix)
28
28
  queryId = `${prefix}.${queryId}`;
29
29
  const value = eachQuery.value;
30
30
  const queryValues = {};
31
- let orOption = false;
31
+ let orOption = eachQuery.orQuery ? true : false;
32
32
  switch (eachQuery.type) {
33
33
  case "search":
34
34
  if (eachQuery.searchIds && eachQuery.searchIds.length > 0) {
@@ -92,7 +92,7 @@ const handleParseQueryFilter = (queryList, prefix) => {
92
92
  };
93
93
  break;
94
94
  case "!in":
95
- queryFilter[queryId] = {
95
+ queryValues[queryId] = {
96
96
  $nin: value,
97
97
  };
98
98
  break;
@@ -105,23 +105,40 @@ const handleParseQueryFilter = (queryList, prefix) => {
105
105
  default:
106
106
  break;
107
107
  }
108
- if (eachQuery.orQuery)
109
- orOption = true;
110
108
  //INFO : Delete Query Values as it's added outside
111
109
  if (eachQuery.orQueryGroupId) {
112
- const groupValue = queryValues[queryId];
113
- if (groupValue) {
114
- if (queryGroupValues[eachQuery.orQueryGroupId]) {
115
- queryGroupValues[eachQuery.orQueryGroupId]["$and"].push({
116
- [queryId]: queryValues[queryId],
117
- });
118
- }
119
- else {
120
- queryGroupValues[eachQuery.orQueryGroupId] = {
121
- $and: [{ [queryId]: queryValues[queryId] }],
122
- };
110
+ if (eachQuery.type === "search") {
111
+ (_c = eachQuery === null || eachQuery === void 0 ? void 0 : eachQuery.searchIds) === null || _c === void 0 ? void 0 : _c.map((eachSearchId) => {
112
+ if (eachQuery.orQueryGroupId) {
113
+ if (queryGroupValues[eachQuery === null || eachQuery === void 0 ? void 0 : eachQuery.orQueryGroupId]) {
114
+ queryGroupValues[eachQuery === null || eachQuery === void 0 ? void 0 : eachQuery.orQueryGroupId]["$and"].push({
115
+ [eachSearchId]: queryValues[eachSearchId],
116
+ });
117
+ }
118
+ else {
119
+ queryGroupValues[eachQuery === null || eachQuery === void 0 ? void 0 : eachQuery.orQueryGroupId] = {
120
+ $and: [{ [eachSearchId]: queryValues[eachSearchId] }],
121
+ };
122
+ }
123
+ delete queryValues[eachSearchId];
124
+ }
125
+ });
126
+ }
127
+ else {
128
+ const groupValue = queryValues[queryId];
129
+ if (groupValue !== undefined) {
130
+ if (queryGroupValues[eachQuery.orQueryGroupId]) {
131
+ queryGroupValues[eachQuery.orQueryGroupId]["$and"].push({
132
+ [queryId]: queryValues[queryId],
133
+ });
134
+ }
135
+ else {
136
+ queryGroupValues[eachQuery.orQueryGroupId] = {
137
+ $and: [{ [queryId]: queryValues[queryId] }],
138
+ };
139
+ }
140
+ delete queryValues[queryId];
123
141
  }
124
- delete queryValues[queryId];
125
142
  }
126
143
  }
127
144
  Object.keys(queryValues).map((eachKey) => {
@@ -1036,7 +1053,7 @@ class MongoWrapper {
1036
1053
  * query - Query interface (Optional)
1037
1054
  * cursor - any (Optional)
1038
1055
  * limit - number (Optional)
1039
- * sort - Sort interface (Optional)
1056
+ * sort - Array Sort or Sort interface (Optional)
1040
1057
  * stopLimit - boolean to retreive all data (Optional)
1041
1058
  */
1042
1059
  router.post("/list", (req, res) => {
@@ -1196,10 +1213,19 @@ class MongoWrapper {
1196
1213
  const filter = handleParseQueryFilter(query);
1197
1214
  pipelineList.push({ $match: filter });
1198
1215
  }
1199
- if (sort && sort.sortId) {
1200
- pipelineList.push({
1201
- $sort: { [sort.sortId]: sort.type === "asc" ? 1 : -1 },
1216
+ if (sort) {
1217
+ const sortStage = { $sort: {} };
1218
+ const sortItems = Array.isArray(JSON.parse(JSON.stringify(sort)))
1219
+ ? sort
1220
+ : [sort];
1221
+ sortItems.forEach((sortItem) => {
1222
+ if (sortItem.sortId) {
1223
+ sortStage.$sort[sortItem.sortId] = sortItem.type === "asc" ? 1 : -1;
1224
+ }
1202
1225
  });
1226
+ if (Object.keys(sortStage.$sort).length > 0) {
1227
+ pipelineList.push(sortStage);
1228
+ }
1203
1229
  }
1204
1230
  if (cursor) {
1205
1231
  pipelineList.push({ $skip: Number.parseInt(cursor) });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blixify-server",
3
- "version": "0.2.19",
3
+ "version": "0.2.21",
4
4
  "license": "MIT",
5
5
  "main": "dist/apis/index.js",
6
6
  "private": false,