c2-mongoose 2.1.119 → 2.1.121

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.
@@ -24,6 +24,7 @@ declare abstract class SearchFlow {
24
24
  buildOrdenation(): any;
25
25
  buildRegex(searchText: string): RegExp;
26
26
  searchPageable(model: mongoose.Model<any>, options: SearchOptions): Promise<any>;
27
+ transformObject(originalObject: any): any;
27
28
  search(model: mongoose.Model<any>, options?: SearchOptions): Promise<SearchResponse<any>>;
28
29
  /**
29
30
  *
@@ -185,11 +185,10 @@ var SearchFlow = /** @class */ (function () {
185
185
  return new RegExp("".concat(regexExpression), 'i');
186
186
  };
187
187
  SearchFlow.prototype.searchPageable = function (model, options) {
188
- var _a;
189
188
  return __awaiter(this, void 0, void 0, function () {
190
- var stagesItems, stagesPaging, stagesMetadata, facet, _i, stagesMetadata_1, metadata, result, items, _b, _c, populate;
191
- return __generator(this, function (_d) {
192
- switch (_d.label) {
189
+ var stagesItems, stagesPaging, stagesMetadata, facet, _i, stagesMetadata_1, metadata, result, items, _a, _b, populate, resultAux;
190
+ return __generator(this, function (_c) {
191
+ switch (_c.label) {
193
192
  case 0:
194
193
  stagesItems = [{ $match: this.filters }];
195
194
  if ((0, Utils_1.isNotEmpty)(options.unions)) {
@@ -228,26 +227,47 @@ var SearchFlow = /** @class */ (function () {
228
227
  },
229
228
  ]).session(options === null || options === void 0 ? void 0 : options.session)];
230
229
  case 1:
231
- result = _d.sent();
230
+ result = _c.sent();
232
231
  items = result[0].items;
233
232
  if (!((0, Utils_1.isNotEmpty)(this.populate) && Array.isArray(this.populate))) return [3 /*break*/, 5];
234
- _b = 0, _c = this.populate;
235
- _d.label = 2;
233
+ _a = 0, _b = this.populate;
234
+ _c.label = 2;
236
235
  case 2:
237
- if (!(_b < _c.length)) return [3 /*break*/, 5];
238
- populate = _c[_b];
236
+ if (!(_a < _b.length)) return [3 /*break*/, 5];
237
+ populate = _b[_a];
239
238
  return [4 /*yield*/, model.populate(result[0].items, populate)];
240
239
  case 3:
241
- items = _d.sent();
242
- _d.label = 4;
240
+ items = _c.sent();
241
+ _c.label = 4;
243
242
  case 4:
244
- _b++;
243
+ _a++;
245
244
  return [3 /*break*/, 2];
246
- case 5: return [2 /*return*/, __assign(__assign({}, result[0]), { items: items, paging: ((_a = result[0]) === null || _a === void 0 ? void 0 : _a.paging[0]) || { total: 0, page: 1, limit: this.limit } })];
245
+ case 5:
246
+ resultAux = this.transformObject(result[0]);
247
+ return [2 /*return*/, resultAux
248
+ // return {
249
+ // ...result[0],
250
+ // items,
251
+ // paging: result[0]?.paging[0] || { total: 0, page: 1, limit: this.limit },
252
+ // }
253
+ ];
247
254
  }
248
255
  });
249
256
  });
250
257
  };
258
+ SearchFlow.prototype.transformObject = function (originalObject) {
259
+ var metadata = {};
260
+ var transformedObject = {};
261
+ for (var key in originalObject) {
262
+ if (key.startsWith('metadata-')) {
263
+ metadata[key] = originalObject[key.replace("metadata-", "")];
264
+ }
265
+ else {
266
+ transformedObject[key] = originalObject[key];
267
+ }
268
+ }
269
+ return __assign(__assign({}, transformedObject), { metadata: metadata, paging: (originalObject === null || originalObject === void 0 ? void 0 : originalObject.paging[0]) || { total: 0, page: 1, limit: this.limit } });
270
+ };
251
271
  SearchFlow.prototype.search = function (model, options) {
252
272
  return __awaiter(this, void 0, void 0, function () {
253
273
  return __generator(this, function (_a) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c2-mongoose",
3
- "version": "2.1.119",
3
+ "version": "2.1.121",
4
4
  "description": "Lib to make any search in database mongoose and use as basic crud",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -183,11 +183,32 @@ abstract class SearchFlow {
183
183
  }
184
184
  }
185
185
 
186
- return {
187
- ...result[0],
188
- items,
189
- paging: result[0]?.paging[0] || { total: 0, page: 1, limit: this.limit },
186
+ let resultAux = this.transformObject(result[0])
187
+ return resultAux
188
+ // return {
189
+ // ...result[0],
190
+ // items,
191
+ // paging: result[0]?.paging[0] || { total: 0, page: 1, limit: this.limit },
192
+ // }
193
+ }
194
+
195
+ transformObject(originalObject: any): any {
196
+ const metadata: any = {};
197
+ const transformedObject: any = {};
198
+
199
+ for (const key in originalObject) {
200
+ if (key.startsWith('metadata-')) {
201
+ metadata[key] = originalObject[key.replace("metadata-", "")];
202
+ } else {
203
+ transformedObject[key] = originalObject[key];
204
+ }
190
205
  }
206
+
207
+ return {
208
+ ...transformedObject,
209
+ metadata,
210
+ paging: originalObject?.paging[0] || { total: 0, page: 1, limit: this.limit },
211
+ };
191
212
  }
192
213
 
193
214
  public async search(model: mongoose.Model<any>, options?: SearchOptions): Promise<SearchResponse<any>> {