@adaptivestone/framework 4.8.0 → 4.8.1

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.
Files changed (74) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/commands/migration/Create.js +4 -3
  3. package/coverage/clover.xml +2820 -2789
  4. package/coverage/coverage-final.json +43 -43
  5. package/coverage/framework/config/auth.js.html +6 -6
  6. package/coverage/framework/config/http.js.html +10 -10
  7. package/coverage/framework/config/i18n.js.html +13 -13
  8. package/coverage/framework/config/index.html +1 -1
  9. package/coverage/framework/config/log.js.html +23 -23
  10. package/coverage/framework/config/mail.js.html +30 -30
  11. package/coverage/framework/config/mongo.js.html +4 -4
  12. package/coverage/framework/config/rateLimiter.js.html +17 -17
  13. package/coverage/framework/config/redis.js.html +5 -5
  14. package/coverage/framework/config/validate.js.html +4 -4
  15. package/coverage/framework/controllers/Auth.js.html +90 -90
  16. package/coverage/framework/controllers/Home.js.html +39 -39
  17. package/coverage/framework/controllers/index.html +17 -17
  18. package/coverage/framework/controllers/index.js.html +54 -54
  19. package/coverage/framework/controllers/test/SomeController.js.html +106 -106
  20. package/coverage/framework/controllers/test/index.html +19 -19
  21. package/coverage/framework/helpers/files.js.html +66 -66
  22. package/coverage/framework/helpers/index.html +1 -1
  23. package/coverage/framework/helpers/logger.js.html +14 -14
  24. package/coverage/framework/helpers/redis/clearNamespace.js.html +28 -28
  25. package/coverage/framework/helpers/redis/index.html +17 -17
  26. package/coverage/framework/index.html +19 -19
  27. package/coverage/framework/models/Migration.js.html +16 -16
  28. package/coverage/framework/models/Sequence.js.html +39 -39
  29. package/coverage/framework/models/User.js.html +192 -192
  30. package/coverage/framework/models/index.html +28 -28
  31. package/coverage/framework/modules/AbstractController.js.html +478 -478
  32. package/coverage/framework/modules/AbstractModel.js.html +54 -54
  33. package/coverage/framework/modules/Base.js.html +52 -52
  34. package/coverage/framework/modules/index.html +21 -21
  35. package/coverage/framework/server.js.html +478 -385
  36. package/coverage/framework/services/cache/Cache.js.html +216 -216
  37. package/coverage/framework/services/cache/index.html +20 -20
  38. package/coverage/framework/services/documentation/DocumentationGenerator.js.html +17 -17
  39. package/coverage/framework/services/documentation/index.html +1 -1
  40. package/coverage/framework/services/http/HttpServer.js.html +90 -90
  41. package/coverage/framework/services/http/index.html +1 -1
  42. package/coverage/framework/services/http/middleware/AbstractMiddleware.js.html +60 -60
  43. package/coverage/framework/services/http/middleware/Auth.js.html +16 -16
  44. package/coverage/framework/services/http/middleware/GetUserByToken.js.html +60 -60
  45. package/coverage/framework/services/http/middleware/I18n.js.html +129 -129
  46. package/coverage/framework/services/http/middleware/Pagination.js.html +95 -95
  47. package/coverage/framework/services/http/middleware/PrepareAppInfo.js.html +27 -27
  48. package/coverage/framework/services/http/middleware/RateLimiter.js.html +166 -166
  49. package/coverage/framework/services/http/middleware/RequestLogger.js.html +21 -21
  50. package/coverage/framework/services/http/middleware/RequestParser.js.html +47 -47
  51. package/coverage/framework/services/http/middleware/Role.js.html +55 -55
  52. package/coverage/framework/services/http/middleware/index.html +99 -99
  53. package/coverage/framework/services/http/middleware/test/CheckFlag.js.html +36 -36
  54. package/coverage/framework/services/http/middleware/test/index.html +19 -19
  55. package/coverage/framework/services/messaging/email/index.html +1 -1
  56. package/coverage/framework/services/messaging/email/index.js.html +67 -67
  57. package/coverage/framework/services/messaging/index.html +1 -1
  58. package/coverage/framework/services/messaging/index.js.html +6 -6
  59. package/coverage/framework/services/validate/ValidateService.js.html +202 -202
  60. package/coverage/framework/services/validate/drivers/AbstractValidator.js.html +24 -24
  61. package/coverage/framework/services/validate/drivers/CustomValidator.js.html +14 -14
  62. package/coverage/framework/services/validate/drivers/YupValidator.js.html +55 -55
  63. package/coverage/framework/services/validate/drivers/index.html +1 -1
  64. package/coverage/framework/services/validate/index.html +21 -21
  65. package/coverage/index.html +110 -110
  66. package/models/User.test.js +3 -3
  67. package/package.json +2 -1
  68. package/server.d.ts +9 -1
  69. package/server.js +50 -19
  70. package/services/http/middleware/I18n.test.js +1 -1
  71. package/services/http/middleware/RateLimiter.test.js +7 -7
  72. package/services/validate/ValidateService.test.js +3 -3
  73. package/tests/setup.js +3 -1
  74. package/tests/setupVitest.js +3 -5
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">75.19% </span>
26
+ <span class="strong">56.58% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>97/129</span>
28
+ <span class='fraction'>73/129</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">85.29% </span>
33
+ <span class="strong">53.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>29/34</span>
35
+ <span class='fraction'>7/13</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">80% </span>
40
+ <span class="strong">60% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/10</span>
42
+ <span class='fraction'>3/5</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">75.19% </span>
47
+ <span class="strong">56.58% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>97/129</span>
49
+ <span class='fraction'>73/129</span>
50
50
  </div>
51
51
 
52
52
 
@@ -192,42 +192,54 @@
192
192
  <a name='L127'></a><a href='#L127'>127</a>
193
193
  <a name='L128'></a><a href='#L128'>128</a>
194
194
  <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">15x</span>
196
- <span class="cline-any cline-yes">15x</span>
197
- <span class="cline-any cline-yes">15x</span>
198
- <span class="cline-any cline-yes">15x</span>
199
- <span class="cline-any cline-yes">15x</span>
200
- <span class="cline-any cline-yes">15x</span>
195
+ <a name='L130'></a><a href='#L130'>130</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
196
+ <span class="cline-any cline-yes">2x</span>
197
+ <span class="cline-any cline-yes">2x</span>
198
+ <span class="cline-any cline-yes">2x</span>
199
+ <span class="cline-any cline-yes">2x</span>
200
+ <span class="cline-any cline-yes">2x</span>
201
+ <span class="cline-any cline-yes">2x</span>
202
+ <span class="cline-any cline-yes">2x</span>
203
+ <span class="cline-any cline-yes">2x</span>
204
+ <span class="cline-any cline-yes">2x</span>
205
+ <span class="cline-any cline-yes">2x</span>
206
+ <span class="cline-any cline-yes">2x</span>
207
+ <span class="cline-any cline-yes">2x</span>
201
208
  <span class="cline-any cline-no">&nbsp;</span>
202
209
  <span class="cline-any cline-no">&nbsp;</span>
210
+ <span class="cline-any cline-yes">2x</span>
211
+ <span class="cline-any cline-yes">2x</span>
212
+ <span class="cline-any cline-yes">24x</span>
213
+ <span class="cline-any cline-yes">24x</span>
214
+ <span class="cline-any cline-yes">24x</span>
215
+ <span class="cline-any cline-yes">24x</span>
216
+ <span class="cline-any cline-yes">24x</span>
217
+ <span class="cline-any cline-yes">24x</span>
218
+ <span class="cline-any cline-yes">24x</span>
219
+ <span class="cline-any cline-yes">24x</span>
220
+ <span class="cline-any cline-yes">24x</span>
221
+ <span class="cline-any cline-yes">24x</span>
222
+ <span class="cline-any cline-yes">24x</span>
223
+ <span class="cline-any cline-yes">24x</span>
203
224
  <span class="cline-any cline-no">&nbsp;</span>
204
- <span class="cline-any cline-yes">15x</span>
205
- <span class="cline-any cline-yes">209x</span>
206
- <span class="cline-any cline-yes">209x</span>
207
- <span class="cline-any cline-yes">209x</span>
208
- <span class="cline-any cline-yes">1x</span>
209
- <span class="cline-any cline-yes">1x</span>
210
- <span class="cline-any cline-yes">209x</span>
211
- <span class="cline-any cline-yes">209x</span>
212
- <span class="cline-any cline-yes">11x</span>
213
- <span class="cline-any cline-yes">11x</span>
214
- <span class="cline-any cline-yes">11x</span>
215
- <span class="cline-any cline-yes">11x</span>
216
- <span class="cline-any cline-yes">11x</span>
217
- <span class="cline-any cline-yes">11x</span>
218
- <span class="cline-any cline-yes">11x</span>
219
- <span class="cline-any cline-yes">11x</span>
225
+ <span class="cline-any cline-no">&nbsp;</span>
226
+ <span class="cline-any cline-yes">24x</span>
227
+ <span class="cline-any cline-yes">24x</span>
228
+ <span class="cline-any cline-no">&nbsp;</span>
229
+ <span class="cline-any cline-no">&nbsp;</span>
230
+ <span class="cline-any cline-no">&nbsp;</span>
231
+ <span class="cline-any cline-no">&nbsp;</span>
232
+ <span class="cline-any cline-no">&nbsp;</span>
233
+ <span class="cline-any cline-yes">24x</span>
234
+ <span class="cline-any cline-yes">24x</span>
235
+ <span class="cline-any cline-no">&nbsp;</span>
236
+ <span class="cline-any cline-no">&nbsp;</span>
237
+ <span class="cline-any cline-no">&nbsp;</span>
238
+ <span class="cline-any cline-no">&nbsp;</span>
239
+ <span class="cline-any cline-yes">24x</span>
240
+ <span class="cline-any cline-yes">24x</span>
220
241
  <span class="cline-any cline-yes">2x</span>
221
242
  <span class="cline-any cline-yes">2x</span>
222
- <span class="cline-any cline-yes">11x</span>
223
- <span class="cline-any cline-yes">11x</span>
224
- <span class="cline-any cline-yes">6x</span>
225
- <span class="cline-any cline-yes">6x</span>
226
- <span class="cline-any cline-yes">11x</span>
227
- <span class="cline-any cline-yes">11x</span>
228
- <span class="cline-any cline-yes">1x</span>
229
- <span class="cline-any cline-yes">1x</span>
230
- <span class="cline-any cline-yes">1x</span>
231
243
  <span class="cline-any cline-no">&nbsp;</span>
232
244
  <span class="cline-any cline-no">&nbsp;</span>
233
245
  <span class="cline-any cline-no">&nbsp;</span>
@@ -240,42 +252,7 @@
240
252
  <span class="cline-any cline-no">&nbsp;</span>
241
253
  <span class="cline-any cline-no">&nbsp;</span>
242
254
  <span class="cline-any cline-no">&nbsp;</span>
243
- <span class="cline-any cline-yes">6x</span>
244
- <span class="cline-any cline-yes">6x</span>
245
- <span class="cline-any cline-yes">6x</span>
246
- <span class="cline-any cline-yes">6x</span>
247
- <span class="cline-any cline-yes">6x</span>
248
- <span class="cline-any cline-yes">6x</span>
249
- <span class="cline-any cline-yes">6x</span>
250
- <span class="cline-any cline-yes">6x</span>
251
- <span class="cline-any cline-yes">6x</span>
252
- <span class="cline-any cline-yes">6x</span>
253
- <span class="cline-any cline-yes">6x</span>
254
255
  <span class="cline-any cline-no">&nbsp;</span>
255
- <span class="cline-any cline-yes">6x</span>
256
- <span class="cline-any cline-yes">6x</span>
257
- <span class="cline-any cline-yes">6x</span>
258
- <span class="cline-any cline-yes">6x</span>
259
- <span class="cline-any cline-yes">6x</span>
260
- <span class="cline-any cline-yes">6x</span>
261
- <span class="cline-any cline-yes">6x</span>
262
- <span class="cline-any cline-yes">43x</span>
263
- <span class="cline-any cline-yes">43x</span>
264
- <span class="cline-any cline-yes">43x</span>
265
- <span class="cline-any cline-yes">43x</span>
266
- <span class="cline-any cline-yes">43x</span>
267
- <span class="cline-any cline-yes">43x</span>
268
- <span class="cline-any cline-yes">43x</span>
269
- <span class="cline-any cline-yes">43x</span>
270
- <span class="cline-any cline-yes">43x</span>
271
- <span class="cline-any cline-yes">43x</span>
272
- <span class="cline-any cline-yes">65x</span>
273
- <span class="cline-any cline-yes">65x</span>
274
- <span class="cline-any cline-yes">65x</span>
275
- <span class="cline-any cline-yes">65x</span>
276
- <span class="cline-any cline-yes">65x</span>
277
- <span class="cline-any cline-yes">65x</span>
278
- <span class="cline-any cline-yes">65x</span>
279
256
  <span class="cline-any cline-no">&nbsp;</span>
280
257
  <span class="cline-any cline-no">&nbsp;</span>
281
258
  <span class="cline-any cline-no">&nbsp;</span>
@@ -284,154 +261,177 @@
284
261
  <span class="cline-any cline-no">&nbsp;</span>
285
262
  <span class="cline-any cline-no">&nbsp;</span>
286
263
  <span class="cline-any cline-no">&nbsp;</span>
287
- <span class="cline-any cline-yes">1x</span>
288
- <span class="cline-any cline-yes">1x</span>
289
- <span class="cline-any cline-yes">1x</span>
290
- <span class="cline-any cline-yes">43x</span>
291
264
  <span class="cline-any cline-no">&nbsp;</span>
292
265
  <span class="cline-any cline-no">&nbsp;</span>
293
266
  <span class="cline-any cline-no">&nbsp;</span>
294
267
  <span class="cline-any cline-no">&nbsp;</span>
295
268
  <span class="cline-any cline-no">&nbsp;</span>
296
269
  <span class="cline-any cline-no">&nbsp;</span>
270
+ <span class="cline-any cline-yes">2x</span>
271
+ <span class="cline-any cline-yes">2x</span>
272
+ <span class="cline-any cline-yes">30x</span>
273
+ <span class="cline-any cline-yes">30x</span>
274
+ <span class="cline-any cline-yes">30x</span>
275
+ <span class="cline-any cline-yes">30x</span>
276
+ <span class="cline-any cline-yes">30x</span>
277
+ <span class="cline-any cline-yes">30x</span>
278
+ <span class="cline-any cline-yes">30x</span>
279
+ <span class="cline-any cline-yes">30x</span>
280
+ <span class="cline-any cline-yes">30x</span>
281
+ <span class="cline-any cline-yes">30x</span>
297
282
  <span class="cline-any cline-no">&nbsp;</span>
298
283
  <span class="cline-any cline-no">&nbsp;</span>
299
- <span class="cline-any cline-yes">43x</span>
300
- <span class="cline-any cline-yes">64x</span>
301
- <span class="cline-any cline-yes">1x</span>
302
- <span class="cline-any cline-yes">1x</span>
303
- <span class="cline-any cline-yes">1x</span>
304
- <span class="cline-any cline-yes">1x</span>
305
- <span class="cline-any cline-yes">1x</span>
306
- <span class="cline-any cline-yes">63x</span>
307
- <span class="cline-any cline-yes">63x</span>
308
- <span class="cline-any cline-yes">63x</span>
309
- <span class="cline-any cline-yes">63x</span>
284
+ <span class="cline-any cline-yes">30x</span>
285
+ <span class="cline-any cline-yes">30x</span>
286
+ <span class="cline-any cline-no">&nbsp;</span>
287
+ <span class="cline-any cline-no">&nbsp;</span>
288
+ <span class="cline-any cline-no">&nbsp;</span>
289
+ <span class="cline-any cline-no">&nbsp;</span>
290
+ <span class="cline-any cline-no">&nbsp;</span>
291
+ <span class="cline-any cline-no">&nbsp;</span>
292
+ <span class="cline-any cline-no">&nbsp;</span>
293
+ <span class="cline-any cline-no">&nbsp;</span>
294
+ <span class="cline-any cline-no">&nbsp;</span>
295
+ <span class="cline-any cline-yes">30x</span>
296
+ <span class="cline-any cline-yes">30x</span>
297
+ <span class="cline-any cline-yes">30x</span>
310
298
  <span class="cline-any cline-yes">2x</span>
311
- <span class="cline-any cline-yes">63x</span>
312
- <span class="cline-any cline-yes">63x</span>
313
- <span class="cline-any cline-yes">63x</span>
314
- <span class="cline-any cline-yes">23x</span>
315
- <span class="cline-any cline-yes">63x</span>
316
- <span class="cline-any cline-yes">64x</span>
317
- <span class="cline-any cline-yes">40x</span>
318
- <span class="cline-any cline-yes">40x</span>
319
- <span class="cline-any cline-yes">23x</span>
320
- <span class="cline-any cline-yes">64x</span>
321
- <span class="cline-any cline-yes">1x</span>
299
+ <span class="cline-any cline-yes">2x</span>
300
+ <span class="cline-any cline-yes">30x</span>
301
+ <span class="cline-any cline-no">&nbsp;</span>
302
+ <span class="cline-any cline-no">&nbsp;</span>
303
+ <span class="cline-any cline-no">&nbsp;</span>
304
+ <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-no">&nbsp;</span>
306
+ <span class="cline-any cline-yes">30x</span>
307
+ <span class="cline-any cline-yes">30x</span>
308
+ <span class="cline-any cline-yes">30x</span>
309
+ <span class="cline-any cline-yes">30x</span>
310
+ <span class="cline-any cline-yes">30x</span>
311
+ <span class="cline-any cline-yes">30x</span>
312
+ <span class="cline-any cline-yes">30x</span>
313
+ <span class="cline-any cline-yes">30x</span>
322
314
  <span class="cline-any cline-yes">1x</span>
315
+ <span class="cline-any cline-yes">30x</span>
316
+ <span class="cline-any cline-yes">30x</span>
317
+ <span class="cline-any cline-yes">29x</span>
318
+ <span class="cline-any cline-yes">29x</span>
323
319
  <span class="cline-any cline-yes">1x</span>
320
+ <span class="cline-any cline-yes">30x</span>
321
+ <span class="cline-any cline-yes">2x</span>
322
+ <span class="cline-any cline-yes">2x</span>
323
+ <span class="cline-any cline-yes">2x</span>
324
324
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
325
325
  RateLimiterMemory,
326
326
  RateLimiterRedis,
327
327
  RateLimiterMongo,
328
328
  } = require('rate-limiter-flexible');
329
329
  const merge = require('deepmerge');
330
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >const redis = require('redis');</span></span>
331
- <span class="cstat-no" title="statement not covered" >const mongoose = require('mongoose');</span>
332
- <span class="cstat-no" title="statement not covered" ></span>
330
+ const redis = require('redis');
331
+ const mongoose = require('mongoose');
332
+ &nbsp;
333
333
  const AbstractMiddleware = require('./AbstractMiddleware');
334
334
  &nbsp;
335
335
  class RateLimiter extends AbstractMiddleware {
336
- static get description() {
337
- return 'Rate limiter middleware. Limit amount of request. Please refer to documentation';
338
- }
336
+ static <span class="fstat-no" title="function not covered" >get description() {</span>
337
+ <span class="cstat-no" title="statement not covered" > return 'Rate limiter middleware. Limit amount of request. Please refer to documentation';</span>
338
+ <span class="cstat-no" title="statement not covered" > }</span>
339
339
  &nbsp;
340
340
  constructor(app, params) {
341
341
  super(app, params);
342
342
  const limiterOptions = this.app.getConfig('rateLimiter');
343
343
  &nbsp;
344
344
  this.finalOptions = merge(limiterOptions, params);
345
- <span class="branch-0 cbranch-no" title="branch not covered" > this.limiter = null;</span>
345
+ this.limiter = null;
346
346
  &nbsp;
347
347
  switch (this.finalOptions.driver) {
348
348
  case 'memory':
349
- <span class="branch-0 cbranch-no" title="branch not covered" > this.limiter = new RateLimiterMemory(this.finalOptions.limiterOptions);</span>
349
+ this.limiter = new RateLimiterMemory(this.finalOptions.limiterOptions);
350
350
  break;
351
351
  &nbsp;
352
- case 'redis':
353
- this.limiter = this.initRedisLimiter();
354
- break;
352
+ <span class="branch-0 cbranch-no" title="branch not covered" > case 'redis':</span>
353
+ <span class="cstat-no" title="statement not covered" > this.limiter = this.initRedisLimiter();</span>
354
+ <span class="cstat-no" title="statement not covered" > break;</span>
355
355
  &nbsp;
356
356
  <span class="branch-0 cbranch-no" title="branch not covered" > case 'mongo':</span>
357
- this.limiter = new RateLimiterMongo({
358
- storeClient: mongoose.connection,
359
- ...this.finalOptions.<span class="fstat-no" title="function not covered" >limiterOptions,</span>
357
+ <span class="cstat-no" title="statement not covered" > this.limiter = new RateLimiterMongo({</span>
358
+ <span class="cstat-no" title="statement not covered" > storeClient: mongoose.connection,</span>
359
+ <span class="cstat-no" title="statement not covered" > ...this.finalOptions.limiterOptions,</span>
360
360
  <span class="cstat-no" title="statement not covered" > });</span>
361
361
  <span class="cstat-no" title="statement not covered" > break;</span>
362
- <span class="cstat-no" title="statement not covered" ></span>
363
- <span class="cstat-no" title="statement not covered" > default:</span>
362
+ &nbsp;
363
+ <span class="branch-0 cbranch-no" title="branch not covered" > default:</span>
364
364
  <span class="cstat-no" title="statement not covered" > this.logger.error(</span>
365
365
  <span class="cstat-no" title="statement not covered" > `Unknwon option for driver ${this.finalOptions.driver}`,</span>
366
366
  <span class="cstat-no" title="statement not covered" > );</span>
367
367
  <span class="cstat-no" title="statement not covered" > break;</span>
368
- <span class="cstat-no" title="statement not covered" > }</span>
369
- <span class="cstat-no" title="statement not covered" > }</span>
370
- <span class="cstat-no" title="statement not covered" ></span>
371
- <span class="cstat-no" title="statement not covered" > initRedisLimiter() {</span>
372
- const redisConfig = this.app.getConfig('redis');
373
- const redisClient = redis.createClient({
374
- url: redisConfig.url,
375
- });
376
- &nbsp;
377
- // TODO: change it
378
- (async () =&gt; {
379
- await redisClient.connect();
380
- })();
368
+ }
369
+ }
381
370
  &nbsp;
382
- redisClient.on('error', (error, b, c) =&gt; {
371
+ <span class="fstat-no" title="function not covered" > initRedisLimiter() {</span>
372
+ <span class="cstat-no" title="statement not covered" > const redisConfig = this.app.getConfig('redis');</span>
373
+ <span class="cstat-no" title="statement not covered" > const redisClient = redis.createClient({</span>
374
+ <span class="cstat-no" title="statement not covered" > url: redisConfig.url,</span>
375
+ <span class="cstat-no" title="statement not covered" > });</span>
376
+ <span class="cstat-no" title="statement not covered" ></span>
377
+ <span class="cstat-no" title="statement not covered" > // TODO: change it</span>
378
+ <span class="cstat-no" title="statement not covered" > (async () =&gt; {</span>
379
+ <span class="cstat-no" title="statement not covered" > await redisClient.connect();</span>
380
+ <span class="cstat-no" title="statement not covered" > })();</span>
381
+ <span class="cstat-no" title="statement not covered" ></span>
382
+ <span class="cstat-no" title="statement not covered" > redisClient.on('error', (error, b, c) =&gt; {</span>
383
383
  <span class="cstat-no" title="statement not covered" > this.logger.error(error, b, c);</span>
384
- });
385
- redisClient.on('connect', () =&gt; {
386
- this.logger.info('Redis connection success');
387
- });
388
- &nbsp;
389
- this.app.events.on('shutdown', async () =&gt; {
390
- await redisClient.disconnect();
391
- });
392
- &nbsp;
393
- return new RateLimiterRedis({
394
- storeClient: redisClient,
395
- useRedisPackage: true,
396
- ...this.finalOptions.limiterOptions,
397
- });
398
- }
384
+ <span class="cstat-no" title="statement not covered" > });</span>
385
+ <span class="cstat-no" title="statement not covered" > redisClient.on('connect', () =&gt; {</span>
386
+ <span class="cstat-no" title="statement not covered" > this.logger.info('Redis connection success');</span>
387
+ <span class="cstat-no" title="statement not covered" > });</span>
388
+ <span class="cstat-no" title="statement not covered" ></span>
389
+ <span class="cstat-no" title="statement not covered" > this.app.events.on('shutdown', async () =&gt; {</span>
390
+ <span class="cstat-no" title="statement not covered" > await redisClient.disconnect();</span>
391
+ <span class="cstat-no" title="statement not covered" > });</span>
392
+ <span class="cstat-no" title="statement not covered" ></span>
393
+ <span class="cstat-no" title="statement not covered" > return new RateLimiterRedis({</span>
394
+ <span class="cstat-no" title="statement not covered" > storeClient: redisClient,</span>
395
+ <span class="cstat-no" title="statement not covered" > useRedisPackage: true,</span>
396
+ <span class="cstat-no" title="statement not covered" > ...this.finalOptions.limiterOptions,</span>
397
+ <span class="cstat-no" title="statement not covered" > });</span>
398
+ <span class="cstat-no" title="statement not covered" > }</span>
399
399
  &nbsp;
400
400
  gerenateConsumeKey(req) {
401
401
  const { ip, route, user, request } = this.finalOptions.consumeKeyComponents;
402
402
  &nbsp;
403
403
  const key = [];
404
404
  if (ip) {
405
- key.push(req<span class="branch-0 cbranch-no" title="branch not covered" >.ip);</span>
405
+ key.push(req.ip);
406
406
  }
407
407
  if (route) {
408
- <span class="cstat-no" title="statement not covered" > key.push(req.originalUrl);</span>
409
- <span class="cstat-no" title="statement not covered" > }</span>
410
- <span class="cstat-no" title="statement not covered" > if (user &amp;&amp; req.appInfo?.user) {</span>
408
+ key.push(req.originalUrl);
409
+ }
410
+ if (user &amp;&amp; req.appInfo?.user) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
411
411
  <span class="cstat-no" title="statement not covered" > key.push(req.appInfo?.user.id);</span>
412
412
  <span class="cstat-no" title="statement not covered" > }</span>
413
- <span class="cstat-no" title="statement not covered" ></span>
414
- <span class="cstat-no" title="statement not covered" > if (request &amp;&amp; request.length) {</span>
413
+ &nbsp;
414
+ if (request &amp;&amp; request.length) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
415
415
  <span class="cstat-no" title="statement not covered" > request.forEach((val) =&gt; {</span>
416
- if (req.body &amp;&amp; req.body[val]) {
417
- key.push(req.body[val]);
418
- }
419
- // if (req.appInfo.request &amp;&amp; req.appInfo.<span class="branch-0 cbranch-no" title="branch not covered" >request[val]) {</span>
416
+ <span class="cstat-no" title="statement not covered" > if (req.body &amp;&amp; req.body[val]) {</span>
417
+ <span class="cstat-no" title="statement not covered" > key.push(req.body[val]);</span>
418
+ <span class="cstat-no" title="statement not covered" > }</span>
419
+ <span class="cstat-no" title="statement not covered" > // if (req.appInfo.request &amp;&amp; req.appInfo.request[val]) {</span>
420
420
  <span class="cstat-no" title="statement not covered" > // key.push(req.appInfo.request[val]);</span>
421
421
  <span class="cstat-no" title="statement not covered" > // }</span>
422
422
  <span class="cstat-no" title="statement not covered" > });</span>
423
423
  <span class="cstat-no" title="statement not covered" > }</span>
424
- <span class="cstat-no" title="statement not covered" ></span>
425
- <span class="cstat-no" title="statement not covered" > return key.join('_');</span>
426
- <span class="cstat-no" title="statement not covered" > }</span>
427
- <span class="cstat-no" title="statement not covered" ></span>
424
+ &nbsp;
425
+ return key.join('_');
426
+ }
427
+ &nbsp;
428
428
  async middleware(req, res, next) {
429
- if (!this.limiter) {
430
- this.logger.info(
431
- `RateLimmiter not inited correclty! Please check init logs `,
432
- );
433
- return res.status(500).send('');
434
- }
429
+ if (!this.limiter) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
430
+ <span class="cstat-no" title="statement not covered" > this.logger.info(</span>
431
+ <span class="cstat-no" title="statement not covered" > `RateLimmiter not inited correclty! Please check init logs `,</span>
432
+ <span class="cstat-no" title="statement not covered" > );</span>
433
+ <span class="cstat-no" title="statement not covered" > return res.status(500).send('');</span>
434
+ <span class="cstat-no" title="statement not covered" > }</span>
435
435
  &nbsp;
436
436
  const { namespace } = this.app.getConfig('redis');
437
437
  &nbsp;
@@ -457,7 +457,7 @@ module.exports = RateLimiter;
457
457
  <div class='footer quiet pad2 space-top1 center small'>
458
458
  Code coverage generated by
459
459
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
460
- at 2023-09-21T04:47:08.309Z
460
+ at 2023-09-21T12:04:18.148Z
461
461
  </div>
462
462
  <script src="../../../../prettify.js"></script>
463
463
  <script>
@@ -85,28 +85,28 @@
85
85
  <a name='L20'></a><a href='#L20'>20</a>
86
86
  <a name='L21'></a><a href='#L21'>21</a>
87
87
  <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">15x</span>
89
- <span class="cline-any cline-yes">15x</span>
90
- <span class="cline-any cline-yes">15x</span>
91
- <span class="cline-any cline-yes">15x</span>
88
+ <a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
89
+ <span class="cline-any cline-yes">2x</span>
90
+ <span class="cline-any cline-yes">2x</span>
91
+ <span class="cline-any cline-yes">2x</span>
92
92
  <span class="cline-any cline-no">&nbsp;</span>
93
93
  <span class="cline-any cline-no">&nbsp;</span>
94
- <span class="cline-any cline-yes">15x</span>
95
- <span class="cline-any cline-yes">15x</span>
96
- <span class="cline-any cline-yes">54x</span>
97
- <span class="cline-any cline-yes">54x</span>
98
- <span class="cline-any cline-yes">54x</span>
99
- <span class="cline-any cline-yes">54x</span>
100
- <span class="cline-any cline-yes">54x</span>
101
- <span class="cline-any cline-yes">54x</span>
102
- <span class="cline-any cline-yes">54x</span>
103
- <span class="cline-any cline-yes">54x</span>
104
- <span class="cline-any cline-yes">54x</span>
105
- <span class="cline-any cline-yes">54x</span>
106
- <span class="cline-any cline-yes">54x</span>
107
- <span class="cline-any cline-yes">15x</span>
108
- <span class="cline-any cline-yes">15x</span>
109
- <span class="cline-any cline-yes">15x</span>
94
+ <span class="cline-any cline-yes">2x</span>
95
+ <span class="cline-any cline-yes">2x</span>
96
+ <span class="cline-any cline-yes">30x</span>
97
+ <span class="cline-any cline-yes">30x</span>
98
+ <span class="cline-any cline-yes">30x</span>
99
+ <span class="cline-any cline-yes">30x</span>
100
+ <span class="cline-any cline-yes">30x</span>
101
+ <span class="cline-any cline-yes">30x</span>
102
+ <span class="cline-any cline-yes">30x</span>
103
+ <span class="cline-any cline-yes">30x</span>
104
+ <span class="cline-any cline-yes">30x</span>
105
+ <span class="cline-any cline-yes">30x</span>
106
+ <span class="cline-any cline-yes">30x</span>
107
+ <span class="cline-any cline-yes">2x</span>
108
+ <span class="cline-any cline-yes">2x</span>
109
+ <span class="cline-any cline-yes">2x</span>
110
110
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const AbstractMiddleware = require('./AbstractMiddleware');
111
111
  &nbsp;
112
112
  class RequestLogger extends AbstractMiddleware {
@@ -136,7 +136,7 @@ module.exports = RequestLogger;
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at 2023-09-21T04:47:08.309Z
139
+ at 2023-09-21T12:04:18.148Z
140
140
  </div>
141
141
  <script src="../../../../prettify.js"></script>
142
142
  <script>