c2-mongoose 2.1.99 → 2.1.101

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.
@@ -176,7 +176,12 @@ var SearchFlow = /** @class */ (function () {
176
176
  .replace(/%20/, ' ') //Replace espaço em branco para nao quebrar o proximo replace
177
177
  .replace(/\*/g, '.*?') //Replace % para o padrão regex (% é muito utilizado como o .*? e é mais simples para o usuario digitar)
178
178
  .replace(/%/g, '.*?') //Replace % para o padrão regex (% é muito utilizado como o .*? e é mais simples para o usuario digitar)
179
- .replace(/[ç|c|C]/g, '[c]');
179
+ .replace(/[ç|Ç|c|C]/g, '[c,C,ç,Ç]')
180
+ .replace(/[a|á|à|ä|â|A|Á|Â|Ã|Ä]/g, '[a,á,à,ä,â,A,Á,Â,Ã,Ä]')
181
+ .replace(/[e|é|ë|è|E|É|Ë|È]/g, '[e,é,ë,è,E,É,Ë,È]')
182
+ .replace(/[i|í|ï|ì|I|Í|Ï|Ì]/g, '[i,í,ï,ì,I,Í,Ï,Ì]')
183
+ .replace(/[o|ó|ö|ò|õ|O|Ó|Ö|Ô|Õ]/g, '[o,ó,ö,ò,õ,O,Ó,Ö,Ô,Õ]')
184
+ .replace(/[u|ü|ú|ù|U|Ú|Ü|Ù]/g, '[u,ü,ú,ù,U,Ú,Ü,Ù]');
180
185
  return new RegExp("".concat(regexExpression), 'i');
181
186
  };
182
187
  SearchFlow.prototype.searchPageable = function (model, options) {
@@ -455,6 +460,12 @@ var SearchFlow = /** @class */ (function () {
455
460
  condition[key] = value;
456
461
  }
457
462
  else {
463
+ for (var _i = 0, value_1 = value; _i < value_1.length; _i++) {
464
+ var val = value_1[_i];
465
+ if (typeof val === 'string' && _this.isValidObjectId(val)) {
466
+ val = new mongoose_1.Types.ObjectId(val);
467
+ }
468
+ }
458
469
  condition[key] = { $in: value };
459
470
  }
460
471
  filters.$and.push(condition);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c2-mongoose",
3
- "version": "2.1.99",
3
+ "version": "2.1.101",
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",
@@ -113,7 +113,12 @@ abstract class SearchFlow {
113
113
  .replace(/%20/, ' ') //Replace espaço em branco para nao quebrar o proximo replace
114
114
  .replace(/\*/g, '.*?') //Replace % para o padrão regex (% é muito utilizado como o .*? e é mais simples para o usuario digitar)
115
115
  .replace(/%/g, '.*?') //Replace % para o padrão regex (% é muito utilizado como o .*? e é mais simples para o usuario digitar)
116
- .replace(/[ç|c|C]/g, '[c]')
116
+ .replace(/[ç|Ç|c|C]/g, '[c,C,ç,Ç]')
117
+ .replace(/[a|á|à|ä|â|A|Á|Â|Ã|Ä]/g, '[a,á,à,ä,â,A,Á,Â,Ã,Ä]')
118
+ .replace(/[e|é|ë|è|E|É|Ë|È]/g, '[e,é,ë,è,E,É,Ë,È]')
119
+ .replace(/[i|í|ï|ì|I|Í|Ï|Ì]/g, '[i,í,ï,ì,I,Í,Ï,Ì]')
120
+ .replace(/[o|ó|ö|ò|õ|O|Ó|Ö|Ô|Õ]/g, '[o,ó,ö,ò,õ,O,Ó,Ö,Ô,Õ]')
121
+ .replace(/[u|ü|ú|ù|U|Ú|Ü|Ù]/g, '[u,ü,ú,ù,U,Ú,Ü,Ù]')
117
122
  return new RegExp(`${regexExpression}`, 'i');
118
123
  }
119
124
 
@@ -380,6 +385,12 @@ abstract class SearchFlow {
380
385
  if (!Array.isArray(value)) {
381
386
  condition[key] = value
382
387
  } else {
388
+ for(let val of value) {
389
+ if (typeof val === 'string' && this.isValidObjectId(val as string)) {
390
+ val = new Types.ObjectId(val as string)
391
+ }
392
+ }
393
+
383
394
  condition[key] = { $in: value }
384
395
  }
385
396
  filters.$and.push(condition)