itrm-tools 1.0.18 → 1.0.20

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.
@@ -23,6 +23,7 @@ export declare abstract class APIRequest {
23
23
  method: RequestMethod;
24
24
  path: string;
25
25
  private params;
26
+ private bodyParams;
26
27
  constructor(method: RequestMethod, config: APIRequestConfig);
27
28
  abstract addToApp(app: Express): void;
28
29
  abstract addToRouter(router: Router): void;
@@ -30,6 +31,9 @@ export declare abstract class APIRequest {
30
31
  process(req: Request, res: Response): Promise<any>;
31
32
  static buildKey(req: Request): string;
32
33
  private checkParameters;
34
+ private checkValuesPropertyParameters;
35
+ private hasValidValuesProperty;
36
+ private checkItem;
33
37
  private buildResponseMessage;
34
38
  private buildMissingParametersMessage;
35
39
  private findMissingParameters;
@@ -30,15 +30,21 @@ class APIRequest {
30
30
  this.method = method;
31
31
  this.path = config.path;
32
32
  this.params = config.params;
33
+ this.bodyParams = config.params.filter(param => { return param.context === RequestContext.BODY; });
33
34
  }
34
35
  process(req, res) {
35
36
  return __awaiter(this, void 0, void 0, function* () {
36
- let request = APIService_1.ITRMAPIServiceGlobal.requests[APIRequest.buildKey(req)];
37
- let check = request.checkParameters(req);
38
- for (let key of Object.keys(check))
39
- if (check[key].status !== 'OK')
40
- return yield res.status(400).json(check[key]);
41
- return yield request.apply(req, res);
37
+ try {
38
+ let request = APIService_1.ITRMAPIServiceGlobal.requests[APIRequest.buildKey(req)];
39
+ let check = request.checkParameters(req);
40
+ for (let key of Object.keys(check))
41
+ if (check[key].status !== 'OK')
42
+ return yield res.status(400).json(check[key]);
43
+ return yield request.apply(req, res);
44
+ }
45
+ catch (err) {
46
+ return yield res.status(500).json({ type: 'InternalRequestError', error: 'An error has ocurred when procesing the request', payload: err });
47
+ }
42
48
  });
43
49
  }
44
50
  static buildKey(req) {
@@ -47,20 +53,38 @@ class APIRequest {
47
53
  return req.method + "_" + req.baseUrl + req.route.path;
48
54
  }
49
55
  checkParameters(req) {
56
+ let result = this.checkItem(req, this.params);
57
+ if (this.hasValidValuesProperty(req.body))
58
+ result = this.checkValuesPropertyParameters(req);
59
+ return result;
60
+ }
61
+ checkValuesPropertyParameters(req) {
50
62
  let result = {};
51
- for (let group of this.params)
52
- if (req[group.context]) {
53
- let missing = this.findMissingParameters(req[group.context], group.properties);
54
- result[group.context] = this.buildResponseMessage(result[group.context], group.context, missing);
63
+ for (let i = 0; i < req.body.values.length; i++) {
64
+ result = this.checkItem({ body: req.body.values[i] }, this.bodyParams);
65
+ if (result[RequestContext.BODY].status === 'Error') {
66
+ result[RequestContext.BODY].message += ', item ' + (i + 1);
67
+ return result;
55
68
  }
69
+ }
70
+ return result;
71
+ }
72
+ hasValidValuesProperty(context) {
73
+ return context && context.values && Array.isArray(context.values);
74
+ }
75
+ checkItem(item, params) {
76
+ let result = {};
77
+ for (let group of params)
78
+ if (item[group.context])
79
+ result[group.context] = this.buildResponseMessage(result[group.context], group, this.findMissingParameters(item[group.context], group.properties));
56
80
  else
57
81
  return { status: 'Error', message: group.context + " was not found, check your express configuration" };
58
82
  return result;
59
83
  }
60
- buildResponseMessage(response, context, missing) {
84
+ buildResponseMessage(response, group, missing) {
61
85
  if (missing.length > 0)
62
- return response ? response : { status: 'Error', message: this.buildMissingParametersMessage(context, missing) };
63
- return { status: 'OK' };
86
+ return (response && response.blocked) ? response : { status: 'Error', message: this.buildMissingParametersMessage(group.context, missing), blocked: group.properties.length > missing.length };
87
+ return { status: 'OK', blocked: true };
64
88
  }
65
89
  buildMissingParametersMessage(context, missing) {
66
90
  let message = "Parameters";
@@ -1 +1 @@
1
- {"version":3,"file":"APIRequest.js","sourceRoot":"","sources":["../../src/api/APIRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"APIRequest.js","sourceRoot":"","sources":["../../src/api/APIRequest.ts"],"names":[],"mappings":"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"}
@@ -23,11 +23,16 @@ class CheckableAPIRequest extends APIRequest_1.APIRequest {
23
23
  }
24
24
  check(req, res, next) {
25
25
  return __awaiter(this, void 0, void 0, function* () {
26
- let request = APIService_1.ITRMAPIServiceGlobal.requests[APIRequest_1.APIRequest.buildKey(req)];
27
- let result = yield request.checker.applyChecks(req);
28
- if (result.approved)
29
- return next();
30
- return request.checker.reject(res, result);
26
+ try {
27
+ let request = APIService_1.ITRMAPIServiceGlobal.requests[APIRequest_1.APIRequest.buildKey(req)];
28
+ let result = yield request.checker.applyChecks(req);
29
+ if (result.approved)
30
+ return next();
31
+ return request.checker.reject(res, result);
32
+ }
33
+ catch (err) {
34
+ return yield res.status(500).json({ type: 'InternalRequestCheckError', error: 'An error has ocurred when runing the checks for the request', payload: err });
35
+ }
31
36
  });
32
37
  }
33
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CheckableAPIRequest.js","sourceRoot":"","sources":["../../../src/api/check/CheckableAPIRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,8CAA4E;AAC5E,8CAAqD;AACrD,6CAA+E;AAE/E,MAAsB,mBAAoB,SAAQ,uBAAU;IAGxD,YAAY,MAAqB,EAAE,MAAwB;QACvD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAHlB,YAAO,GAAe,IAAI,uBAAU,EAAE,CAAC;IAI/C,CAAC;IAEM,QAAQ,CAAC,KAAe;QAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAEY,KAAK,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YAC9D,IAAI,OAAO,GAAwB,iCAAoB,CAAC,QAAQ,CAAC,uBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3F,IAAI,MAAM,GAAmB,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACnE,IAAI,MAAM,CAAC,QAAQ;gBACf,OAAO,IAAI,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;KAAA;CACJ;AAlBD,kDAkBC"}
1
+ {"version":3,"file":"CheckableAPIRequest.js","sourceRoot":"","sources":["../../../src/api/check/CheckableAPIRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,8CAA4E;AAC5E,8CAAqD;AACrD,6CAA+E;AAE/E,MAAsB,mBAAoB,SAAQ,uBAAU;IAGxD,YAAY,MAAqB,EAAE,MAAwB;QACvD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAHlB,YAAO,GAAe,IAAI,uBAAU,EAAE,CAAC;IAI/C,CAAC;IAEM,QAAQ,CAAC,KAAe;QAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAEY,KAAK,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YAC9D,IAAI;gBACA,IAAI,OAAO,GAAwB,iCAAoB,CAAC,QAAQ,CAAC,uBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3F,IAAI,MAAM,GAAmB,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;gBACnE,IAAI,MAAM,CAAC,QAAQ;oBACf,OAAO,IAAI,EAAE,CAAC;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aAC9C;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,6DAA6D,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;aAChK;QACL,CAAC;KAAA;CACJ;AAtBD,kDAsBC"}
@@ -26,11 +26,16 @@ class CheckableAPIRouter extends APIRouter_1.APIRouter {
26
26
  }
27
27
  check(req, res, next) {
28
28
  return __awaiter(this, void 0, void 0, function* () {
29
- let route = APIService_1.ITRMAPIServiceGlobal.routers[req.baseUrl];
30
- let result = yield route.checker.applyChecks(req);
31
- if (result.approved)
32
- return route.runMiddleware(req, res, next);
33
- return route.checker.reject(res, result);
29
+ try {
30
+ let route = APIService_1.ITRMAPIServiceGlobal.routers[req.baseUrl];
31
+ let result = yield route.checker.applyChecks(req);
32
+ if (result.approved)
33
+ return route.runMiddleware(req, res, next);
34
+ return route.checker.reject(res, result);
35
+ }
36
+ catch (err) {
37
+ return yield res.status(500).json({ type: 'InternalRouterCheckError', error: 'An error has ocurred when runing the checks for the router', payload: err });
38
+ }
34
39
  });
35
40
  }
36
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CheckableAPIRouter.js","sourceRoot":"","sources":["../../../src/api/check/CheckableAPIRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4CAAyC;AACzC,8CAAqD;AACrD,6CAA+E;AAE/E,MAAsB,kBAAmB,SAAQ,qBAAS;IAGtD,YAAY,IAAY,EAAE,OAAuB;QAC7C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAHjB,YAAO,GAAe,IAAI,uBAAU,EAAE,CAAC;IAI/C,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,QAAQ,CAAC,OAAiB;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEY,KAAK,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YAC9D,IAAI,KAAK,GAAuB,iCAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,MAAM,GAAmB,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACjE,IAAI,MAAM,CAAC,QAAQ;gBACf,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;KAAA;CACJ;AAtBD,gDAsBC"}
1
+ {"version":3,"file":"CheckableAPIRouter.js","sourceRoot":"","sources":["../../../src/api/check/CheckableAPIRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4CAAyC;AACzC,8CAAqD;AACrD,6CAA+E;AAE/E,MAAsB,kBAAmB,SAAQ,qBAAS;IAGtD,YAAY,IAAY,EAAE,OAAuB;QAC7C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAHjB,YAAO,GAAe,IAAI,uBAAU,EAAE,CAAC;IAI/C,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,QAAQ,CAAC,OAAiB;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEY,KAAK,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;;YAC9D,IAAI;gBACA,IAAI,KAAK,GAAuB,iCAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1E,IAAI,MAAM,GAAmB,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;gBACjE,IAAI,MAAM,CAAC,QAAQ;oBACf,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aAC5C;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,4DAA4D,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;aAC9J;QACL,CAAC;KAAA;CACJ;AA1BD,gDA0BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestAxiosCall.js","sourceRoot":"","sources":["../../../src/api/request/RequestAxiosCall.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAgE;AAChE,8DAAqC;AAErC,IAAA,qBAAU,EAAC,eAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAElC,MAAa,gBAAgB;IAClB,MAAM,CAAO,GAAG,CAAC,GAAW,EAAE,MAAgC;;YACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;qBAC5E,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;qBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,MAAM,CAAO,IAAI,CAAC,GAAW,EAAE,IAAS,EAAE,MAA2B;;YACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;qBACnF,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;qBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,MAAM,CAAO,GAAG,CAAC,GAAW,EAAE,IAAS,EAAE,MAA2B;;YACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;qBAClF,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;qBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,MAAM,CAAO,MAAM,CAAC,GAAW,EAAE,MAA2B;;YAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,eAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;qBAC/E,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;qBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;CACJ;AAhCD,4CAgCC"}
1
+ {"version":3,"file":"RequestAxiosCall.js","sourceRoot":"","sources":["../../../src/api/request/RequestAxiosCall.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAkD;AAClD,8DAAqC;AAErC,IAAA,qBAAU,EAAC,eAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAElC,MAAa,gBAAgB;IAClB,MAAM,CAAO,GAAG,CAAC,GAAW,EAAE,MAAgC;;YACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;qBAC5E,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;qBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,MAAM,CAAO,IAAI,CAAC,GAAW,EAAE,IAAS,EAAE,MAA2B;;YACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;qBACnF,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;qBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,MAAM,CAAO,GAAG,CAAC,GAAW,EAAE,IAAS,EAAE,MAA2B;;YACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;qBAClF,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;qBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,MAAM,CAAO,MAAM,CAAC,GAAW,EAAE,MAA2B;;YAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,eAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC;qBAC/E,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC;qBAC5C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;CACJ;AAhCD,4CAgCC"}
@@ -32,16 +32,16 @@ export declare class MongooseModelManager<S> {
32
32
  } & Required<{
33
33
  _id: unknown;
34
34
  }>)>;
35
- createMany(data: S[]): Promise<import("mongodb").BulkWriteResult>;
35
+ createMany(data: S[]): Promise<any>;
36
36
  exists(filter: FilterQuery<S>): import("mongoose").Query<{
37
37
  _id: import("mongoose").InferId<S>;
38
38
  } | null, import("mongoose").HydratedDocument<S, {}, {}>, {}, S>;
39
39
  find(filter: FilterQuery<S>): import("mongoose").Query<import("mongoose").HydratedDocument<S, {}, {}> | null, import("mongoose").HydratedDocument<S, {}, {}>, {}, S>;
40
40
  findMany(filter: FilterQuery<S>): import("mongoose").Query<import("mongoose").HydratedDocument<S, {}, {}>[], import("mongoose").HydratedDocument<S, {}, {}>, {}, S>;
41
41
  batch(filter: FilterQuery<S>, from: number, size: number): import("mongoose").Query<import("mongoose").HydratedDocument<S, {}, {}>[], import("mongoose").HydratedDocument<S, {}, {}>, {}, S>;
42
- updateOne(filter: FilterQuery<S>, data: UpdateWithAggregationPipeline | UpdateQuery<S>): import("mongoose").Query<import("mongodb").UpdateResult, import("mongoose").HydratedDocument<S, {}, {}>, {}, S>;
43
- bulkWrite(writes: any[], options?: MongooseBulkWriteOptions): Promise<import("mongodb").BulkWriteResult>;
44
- delete(filter: FilterQuery<S>): import("mongoose").Query<import("mongodb").DeleteResult, import("mongoose").HydratedDocument<S, {}, {}>, {}, S>;
45
- deleteMany(filter: FilterQuery<S>): import("mongoose").Query<import("mongodb").DeleteResult, import("mongoose").HydratedDocument<S, {}, {}>, {}, S>;
42
+ updateOne(filter: FilterQuery<S>, data: UpdateWithAggregationPipeline | UpdateQuery<S>): any;
43
+ bulkWrite(writes: any[], options?: MongooseBulkWriteOptions): Promise<any>;
44
+ delete(filter: FilterQuery<S>): any;
45
+ deleteMany(filter: FilterQuery<S>): any;
46
46
  countDocuments(filter: FilterQuery<S>): import("mongoose").Query<number, import("mongoose").HydratedDocument<S, {}, {}>, {}, S>;
47
47
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itrm-tools",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -51,7 +51,7 @@
51
51
  "cors": "^2.8.5",
52
52
  "express": "^4.18.2",
53
53
  "https": "^1.0.0",
54
- "mongoose": "^6.8.3",
54
+ "mongoose": "^6.9.1",
55
55
  "pg": "^8.8.0",
56
56
  "pg-hstore": "^2.3.4",
57
57
  "redis": "^4.5.1",