@adaptivestone/framework 4.6.0 → 4.8.0

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 (90) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/Cli.js +1 -0
  3. package/cluster.js +1 -2
  4. package/commands/GetOpenApiJson.js +1 -2
  5. package/commands/SyncIndexes.js +1 -1
  6. package/commands/migration/Migrate.js +2 -2
  7. package/controllers/Auth.js +3 -5
  8. package/controllers/index.js +0 -3
  9. package/coverage/clover.xml +2035 -1926
  10. package/coverage/coverage-final.json +43 -40
  11. package/coverage/framework/config/auth.js.html +6 -6
  12. package/coverage/framework/config/http.js.html +10 -10
  13. package/coverage/framework/config/i18n.js.html +13 -13
  14. package/coverage/framework/config/index.html +1 -1
  15. package/coverage/framework/config/log.js.html +23 -23
  16. package/coverage/framework/config/mail.js.html +30 -30
  17. package/coverage/framework/config/mongo.js.html +4 -4
  18. package/coverage/framework/config/rateLimiter.js.html +17 -17
  19. package/coverage/framework/config/redis.js.html +5 -5
  20. package/coverage/framework/config/validate.js.html +4 -4
  21. package/coverage/framework/controllers/Auth.js.html +97 -103
  22. package/coverage/framework/controllers/Home.js.html +27 -27
  23. package/coverage/framework/controllers/index.html +15 -15
  24. package/coverage/framework/controllers/index.js.html +58 -67
  25. package/coverage/framework/controllers/test/SomeController.js.html +44 -89
  26. package/coverage/framework/controllers/test/index.html +17 -17
  27. package/coverage/framework/helpers/files.js.html +310 -0
  28. package/coverage/framework/helpers/index.html +131 -0
  29. package/coverage/framework/helpers/logger.js.html +142 -0
  30. package/coverage/framework/helpers/redis/clearNamespace.js.html +10 -10
  31. package/coverage/framework/helpers/redis/index.html +1 -1
  32. package/coverage/framework/index.html +19 -19
  33. package/coverage/framework/models/Migration.js.html +130 -0
  34. package/coverage/framework/models/Sequence.js.html +11 -11
  35. package/coverage/framework/models/User.js.html +130 -130
  36. package/coverage/framework/models/index.html +20 -5
  37. package/coverage/framework/modules/AbstractController.js.html +100 -106
  38. package/coverage/framework/modules/AbstractModel.js.html +58 -58
  39. package/coverage/framework/modules/Base.js.html +70 -403
  40. package/coverage/framework/modules/index.html +24 -24
  41. package/coverage/framework/server.js.html +704 -338
  42. package/coverage/framework/services/cache/Cache.js.html +96 -81
  43. package/coverage/framework/services/cache/index.html +19 -19
  44. package/coverage/framework/services/documentation/DocumentationGenerator.js.html +39 -45
  45. package/coverage/framework/services/documentation/index.html +11 -11
  46. package/coverage/framework/services/http/HttpServer.js.html +90 -90
  47. package/coverage/framework/services/http/index.html +1 -1
  48. package/coverage/framework/services/http/middleware/AbstractMiddleware.js.html +45 -45
  49. package/coverage/framework/services/http/middleware/Auth.js.html +19 -19
  50. package/coverage/framework/services/http/middleware/GetUserByToken.js.html +36 -36
  51. package/coverage/framework/services/http/middleware/I18n.js.html +67 -67
  52. package/coverage/framework/services/http/middleware/Pagination.js.html +21 -21
  53. package/coverage/framework/services/http/middleware/PrepareAppInfo.js.html +5 -5
  54. package/coverage/framework/services/http/middleware/RateLimiter.js.html +19 -19
  55. package/coverage/framework/services/http/middleware/RequestLogger.js.html +21 -21
  56. package/coverage/framework/services/http/middleware/RequestParser.js.html +7 -7
  57. package/coverage/framework/services/http/middleware/Role.js.html +43 -43
  58. package/coverage/framework/services/http/middleware/index.html +33 -33
  59. package/coverage/framework/services/http/middleware/test/CheckFlag.js.html +9 -9
  60. package/coverage/framework/services/http/middleware/test/index.html +1 -1
  61. package/coverage/framework/services/messaging/email/index.html +1 -1
  62. package/coverage/framework/services/messaging/email/index.js.html +67 -67
  63. package/coverage/framework/services/messaging/index.html +1 -1
  64. package/coverage/framework/services/messaging/index.js.html +6 -6
  65. package/coverage/framework/services/validate/ValidateService.js.html +155 -167
  66. package/coverage/framework/services/validate/drivers/AbstractValidator.js.html +24 -24
  67. package/coverage/framework/services/validate/drivers/CustomValidator.js.html +14 -14
  68. package/coverage/framework/services/validate/drivers/YupValidator.js.html +41 -41
  69. package/coverage/framework/services/validate/drivers/index.html +1 -1
  70. package/coverage/framework/services/validate/index.html +5 -5
  71. package/coverage/index.html +91 -76
  72. package/helpers/files.js +75 -0
  73. package/helpers/logger.js +19 -0
  74. package/models/Migration.test.js +19 -0
  75. package/modules/AbstractController.js +2 -4
  76. package/modules/Base.js +8 -119
  77. package/modules/BaseCli.js +0 -4
  78. package/package.json +2 -2
  79. package/server.d.ts +14 -1
  80. package/server.js +208 -86
  81. package/services/cache/Cache.js +10 -5
  82. package/services/cache/Cache.test.js +81 -0
  83. package/services/documentation/DocumentationGenerator.js +18 -20
  84. package/services/http/middleware/Auth.test.js +57 -0
  85. package/services/http/middleware/I18n.test.js +15 -3
  86. package/services/http/middleware/PrepareAppInfo.test.js +1 -1
  87. package/services/http/middleware/Role.test.js +93 -0
  88. package/services/validate/ValidateService.js +3 -7
  89. package/tests/setup.js +1 -0
  90. package/tests/setupVitest.js +1 -0
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">92.43% </span>
26
+ <span class="strong">98.31% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>110/119</span>
28
+ <span class='fraction'>117/119</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">80.55% </span>
33
+ <span class="strong">86.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>29/36</span>
35
+ <span class='fraction'>33/38</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">92.43% </span>
47
+ <span class="strong">98.31% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>110/119</span>
49
+ <span class='fraction'>117/119</span>
50
50
  </div>
51
51
 
52
52
 
@@ -182,11 +182,11 @@
182
182
  <a name='L117'></a><a href='#L117'>117</a>
183
183
  <a name='L118'></a><a href='#L118'>118</a>
184
184
  <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">11x</span>
186
- <span class="cline-any cline-yes">11x</span>
187
- <span class="cline-any cline-yes">11x</span>
188
- <span class="cline-any cline-yes">11x</span>
189
- <span class="cline-any cline-yes">11x</span>
185
+ <a name='L120'></a><a href='#L120'>120</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">15x</span>
186
+ <span class="cline-any cline-yes">15x</span>
187
+ <span class="cline-any cline-yes">15x</span>
188
+ <span class="cline-any cline-yes">15x</span>
189
+ <span class="cline-any cline-yes">15x</span>
190
190
  <span class="cline-any cline-no">&nbsp;</span>
191
191
  <span class="cline-any cline-yes">2x</span>
192
192
  <span class="cline-any cline-yes">2x</span>
@@ -228,27 +228,27 @@
228
228
  <span class="cline-any cline-yes">2x</span>
229
229
  <span class="cline-any cline-no">&nbsp;</span>
230
230
  <span class="cline-any cline-yes">2x</span>
231
- <span class="cline-any cline-yes">55x</span>
232
- <span class="cline-any cline-yes">55x</span>
233
- <span class="cline-any cline-yes">55x</span>
234
- <span class="cline-any cline-yes">55x</span>
231
+ <span class="cline-any cline-yes">54x</span>
232
+ <span class="cline-any cline-yes">54x</span>
233
+ <span class="cline-any cline-yes">54x</span>
234
+ <span class="cline-any cline-yes">54x</span>
235
235
  <span class="cline-any cline-yes">1x</span>
236
236
  <span class="cline-any cline-yes">1x</span>
237
- <span class="cline-any cline-yes">55x</span>
238
- <span class="cline-any cline-yes">55x</span>
239
- <span class="cline-any cline-yes">2x</span>
237
+ <span class="cline-any cline-yes">54x</span>
238
+ <span class="cline-any cline-yes">54x</span>
239
+ <span class="cline-any cline-yes">3x</span>
240
+ <span class="cline-any cline-yes">3x</span>
241
+ <span class="cline-any cline-yes">3x</span>
240
242
  <span class="cline-any cline-yes">2x</span>
241
243
  <span class="cline-any cline-yes">2x</span>
242
244
  <span class="cline-any cline-yes">1x</span>
243
245
  <span class="cline-any cline-yes">1x</span>
244
- <span class="cline-any cline-no">&nbsp;</span>
245
- <span class="cline-any cline-no">&nbsp;</span>
246
- <span class="cline-any cline-no">&nbsp;</span>
247
- <span class="cline-any cline-no">&nbsp;</span>
248
- <span class="cline-any cline-no">&nbsp;</span>
249
246
  <span class="cline-any cline-yes">1x</span>
250
247
  <span class="cline-any cline-yes">1x</span>
251
248
  <span class="cline-any cline-yes">1x</span>
249
+ <span class="cline-any cline-yes">2x</span>
250
+ <span class="cline-any cline-yes">2x</span>
251
+ <span class="cline-any cline-yes">1x</span>
252
252
  <span class="cline-any cline-yes">1x</span>
253
253
  <span class="cline-any cline-yes">1x</span>
254
254
  <span class="cline-any cline-yes">1x</span>
@@ -261,43 +261,43 @@
261
261
  <span class="cline-any cline-yes">22x</span>
262
262
  <span class="cline-any cline-yes">22x</span>
263
263
  <span class="cline-any cline-yes">22x</span>
264
+ <span class="cline-any cline-yes">3x</span>
265
+ <span class="cline-any cline-yes">3x</span>
264
266
  <span class="cline-any cline-yes">2x</span>
267
+ <span class="cline-any cline-yes">54x</span>
268
+ <span class="cline-any cline-yes">3x</span>
269
+ <span class="cline-any cline-yes">3x</span>
270
+ <span class="cline-any cline-yes">3x</span>
271
+ <span class="cline-any cline-yes">3x</span>
272
+ <span class="cline-any cline-yes">3x</span>
273
+ <span class="cline-any cline-yes">54x</span>
274
+ <span class="cline-any cline-yes">54x</span>
265
275
  <span class="cline-any cline-yes">2x</span>
266
276
  <span class="cline-any cline-yes">2x</span>
267
- <span class="cline-any cline-yes">55x</span>
268
- <span class="cline-any cline-yes">2x</span>
269
- <span class="cline-any cline-yes">2x</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">2x</span>
273
- <span class="cline-any cline-yes">55x</span>
274
- <span class="cline-any cline-yes">55x</span>
275
- <span class="cline-any cline-yes">2x</span>
276
- <span class="cline-any cline-yes">2x</span>
277
- <span class="cline-any cline-yes">55x</span>
278
- <span class="cline-any cline-yes">165x</span>
279
- <span class="cline-any cline-yes">165x</span>
280
- <span class="cline-any cline-yes">165x</span>
281
- <span class="cline-any cline-yes">165x</span>
282
- <span class="cline-any cline-yes">165x</span>
283
- <span class="cline-any cline-yes">6x</span>
284
- <span class="cline-any cline-yes">6x</span>
285
- <span class="cline-any cline-yes">10x</span>
286
- <span class="cline-any cline-yes">10x</span>
287
- <span class="cline-any cline-yes">4x</span>
288
- <span class="cline-any cline-yes">4x</span>
289
- <span class="cline-any cline-yes">4x</span>
290
- <span class="cline-any cline-yes">6x</span>
291
- <span class="cline-any cline-yes">6x</span>
292
- <span class="cline-any cline-yes">6x</span>
293
- <span class="cline-any cline-yes">6x</span>
294
- <span class="cline-any cline-no">&nbsp;</span>
295
- <span class="cline-any cline-no">&nbsp;</span>
296
- <span class="cline-any cline-yes">6x</span>
297
- <span class="cline-any cline-yes">6x</span>
298
- <span class="cline-any cline-yes">10x</span>
299
- <span class="cline-any cline-yes">6x</span>
300
- <span class="cline-any cline-yes">6x</span>
277
+ <span class="cline-any cline-yes">54x</span>
278
+ <span class="cline-any cline-yes">162x</span>
279
+ <span class="cline-any cline-yes">162x</span>
280
+ <span class="cline-any cline-yes">162x</span>
281
+ <span class="cline-any cline-yes">162x</span>
282
+ <span class="cline-any cline-yes">162x</span>
283
+ <span class="cline-any cline-yes">8x</span>
284
+ <span class="cline-any cline-yes">8x</span>
285
+ <span class="cline-any cline-yes">13x</span>
286
+ <span class="cline-any cline-yes">13x</span>
287
+ <span class="cline-any cline-yes">5x</span>
288
+ <span class="cline-any cline-yes">5x</span>
289
+ <span class="cline-any cline-yes">5x</span>
290
+ <span class="cline-any cline-yes">8x</span>
291
+ <span class="cline-any cline-yes">8x</span>
292
+ <span class="cline-any cline-yes">7x</span>
293
+ <span class="cline-any cline-yes">8x</span>
294
+ <span class="cline-any cline-yes">1x</span>
295
+ <span class="cline-any cline-yes">1x</span>
296
+ <span class="cline-any cline-yes">8x</span>
297
+ <span class="cline-any cline-yes">8x</span>
298
+ <span class="cline-any cline-yes">13x</span>
299
+ <span class="cline-any cline-yes">8x</span>
300
+ <span class="cline-any cline-yes">8x</span>
301
301
  <span class="cline-any cline-yes">2x</span>
302
302
  <span class="cline-any cline-yes">1x</span>
303
303
  <span class="cline-any cline-yes">1x</span>
@@ -359,12 +359,12 @@ class I18n extends AbstractMiddleware {
359
359
  &nbsp;
360
360
  if (this.enabled) {
361
361
  let lang = this.detectLang(req);
362
- if (!lang || this.supportedLngs.indexOf(lang) === -1) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
363
- <span class="cstat-no" title="statement not covered" > this.logger.verbose(</span>
364
- <span class="cstat-no" title="statement not covered" > `Language "${lang}" is not supported or not detected. Using fallback on ${this.fallbackLng}`,</span>
365
- <span class="cstat-no" title="statement not covered" > );</span>
366
- <span class="cstat-no" title="statement not covered" > lang = this.fallbackLng;</span>
367
- <span class="cstat-no" title="statement not covered" > }</span>
362
+ if (!lang || this.supportedLngs.indexOf(lang) === -1) {
363
+ this.logger.verbose(
364
+ `Language "${lang}" is not supported or not detected. Using fallback on ${this.fallbackLng}`,
365
+ );
366
+ lang = this.fallbackLng;
367
+ }
368
368
  &nbsp;
369
369
  if (!this.cache[<span class="branch-0 cbranch-no" title="branch not covered" >lang]) {</span>
370
370
  this.cache[lang] = i18next.cloneInstance({
@@ -409,9 +409,9 @@ class I18n extends AbstractMiddleware {
409
409
  if (i18next.services.languageUtils.isSupportedCode(lng)) {
410
410
  if (isUseShortCode) {
411
411
  lang = i18next.services.languageUtils.getLanguagePartFromCode(lng);
412
- }<span class="branch-0 cbranch-no" title="branch not covered" > else {</span>
413
- <span class="cstat-no" title="statement not covered" > lang = lng;</span>
414
- <span class="cstat-no" title="statement not covered" > }</span>
412
+ } else {
413
+ lang = lng;
414
+ }
415
415
  break;
416
416
  }
417
417
  }
@@ -427,7 +427,7 @@ module.exports = I18n;
427
427
  <div class='footer quiet pad2 space-top1 center small'>
428
428
  Code coverage generated by
429
429
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
430
- at 2023-09-05T18:04:40.903Z
430
+ at 2023-09-21T04:47:08.309Z
431
431
  </div>
432
432
  <script src="../../../../prettify.js"></script>
433
433
  <script>
@@ -119,25 +119,25 @@
119
119
  <a name='L54'></a><a href='#L54'>54</a>
120
120
  <a name='L55'></a><a href='#L55'>55</a>
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">11x</span>
123
- <span class="cline-any cline-yes">11x</span>
124
- <span class="cline-any cline-yes">11x</span>
125
- <span class="cline-any cline-yes">11x</span>
126
- <span class="cline-any cline-yes">11x</span>
127
- <span class="cline-any cline-yes">11x</span>
128
- <span class="cline-any cline-yes">11x</span>
122
+ <a name='L57'></a><a href='#L57'>57</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">15x</span>
123
+ <span class="cline-any cline-yes">15x</span>
124
+ <span class="cline-any cline-yes">15x</span>
125
+ <span class="cline-any cline-yes">15x</span>
126
+ <span class="cline-any cline-yes">15x</span>
127
+ <span class="cline-any cline-yes">15x</span>
128
+ <span class="cline-any cline-yes">15x</span>
129
129
  <span class="cline-any cline-no">&nbsp;</span>
130
130
  <span class="cline-any cline-no">&nbsp;</span>
131
- <span class="cline-any cline-yes">11x</span>
132
- <span class="cline-any cline-yes">11x</span>
133
- <span class="cline-any cline-yes">11x</span>
134
- <span class="cline-any cline-yes">14x</span>
135
- <span class="cline-any cline-yes">14x</span>
136
- <span class="cline-any cline-yes">14x</span>
137
- <span class="cline-any cline-yes">14x</span>
138
- <span class="cline-any cline-yes">14x</span>
139
- <span class="cline-any cline-yes">11x</span>
140
- <span class="cline-any cline-yes">11x</span>
131
+ <span class="cline-any cline-yes">15x</span>
132
+ <span class="cline-any cline-yes">15x</span>
133
+ <span class="cline-any cline-yes">15x</span>
134
+ <span class="cline-any cline-yes">18x</span>
135
+ <span class="cline-any cline-yes">18x</span>
136
+ <span class="cline-any cline-yes">18x</span>
137
+ <span class="cline-any cline-yes">18x</span>
138
+ <span class="cline-any cline-yes">18x</span>
139
+ <span class="cline-any cline-yes">15x</span>
140
+ <span class="cline-any cline-yes">15x</span>
141
141
  <span class="cline-any cline-yes">1x</span>
142
142
  <span class="cline-any cline-yes">1x</span>
143
143
  <span class="cline-any cline-yes">1x</span>
@@ -172,9 +172,9 @@
172
172
  <span class="cline-any cline-yes">1x</span>
173
173
  <span class="cline-any cline-yes">1x</span>
174
174
  <span class="cline-any cline-yes">1x</span>
175
- <span class="cline-any cline-yes">11x</span>
176
- <span class="cline-any cline-yes">11x</span>
177
- <span class="cline-any cline-yes">11x</span>
175
+ <span class="cline-any cline-yes">15x</span>
176
+ <span class="cline-any cline-yes">15x</span>
177
+ <span class="cline-any cline-yes">15x</span>
178
178
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const yup = require('yup');
179
179
  const AbstractMiddleware = require('./AbstractMiddleware');
180
180
  /**
@@ -238,7 +238,7 @@ module.exports = Pagination;
238
238
  <div class='footer quiet pad2 space-top1 center small'>
239
239
  Code coverage generated by
240
240
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
241
- at 2023-09-05T18:04:40.903Z
241
+ at 2023-09-21T04:47:08.309Z
242
242
  </div>
243
243
  <script src="../../../../prettify.js"></script>
244
244
  <script>
@@ -81,10 +81,10 @@
81
81
  <a name='L16'></a><a href='#L16'>16</a>
82
82
  <a name='L17'></a><a href='#L17'>17</a>
83
83
  <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">11x</span>
85
- <span class="cline-any cline-yes">55x</span>
86
- <span class="cline-any cline-yes">55x</span>
87
- <span class="cline-any cline-yes">55x</span>
84
+ <a name='L19'></a><a href='#L19'>19</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">15x</span>
85
+ <span class="cline-any cline-yes">54x</span>
86
+ <span class="cline-any cline-yes">54x</span>
87
+ <span class="cline-any cline-yes">54x</span>
88
88
  <span class="cline-any cline-yes">1x</span>
89
89
  <span class="cline-any cline-yes">1x</span>
90
90
  <span class="cline-any cline-yes">1x</span>
@@ -124,7 +124,7 @@ module.exports = PrepareAppInfo;
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at 2023-09-05T18:04:40.903Z
127
+ at 2023-09-21T04:47:08.309Z
128
128
  </div>
129
129
  <script src="../../../../prettify.js"></script>
130
130
  <script>
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">86.11% </span>
33
+ <span class="strong">85.29% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>31/36</span>
35
+ <span class='fraction'>29/34</span>
36
36
  </div>
37
37
 
38
38
 
@@ -192,23 +192,23 @@
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">11x</span>
196
- <span class="cline-any cline-yes">11x</span>
197
- <span class="cline-any cline-yes">11x</span>
198
- <span class="cline-any cline-yes">11x</span>
199
- <span class="cline-any cline-yes">11x</span>
200
- <span class="cline-any cline-yes">11x</span>
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>
201
201
  <span class="cline-any cline-no">&nbsp;</span>
202
202
  <span class="cline-any cline-no">&nbsp;</span>
203
203
  <span class="cline-any cline-no">&nbsp;</span>
204
- <span class="cline-any cline-yes">11x</span>
205
- <span class="cline-any cline-yes">151x</span>
206
- <span class="cline-any cline-yes">151x</span>
207
- <span class="cline-any cline-yes">151x</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
208
  <span class="cline-any cline-yes">1x</span>
209
209
  <span class="cline-any cline-yes">1x</span>
210
- <span class="cline-any cline-yes">151x</span>
211
- <span class="cline-any cline-yes">151x</span>
210
+ <span class="cline-any cline-yes">209x</span>
211
+ <span class="cline-any cline-yes">209x</span>
212
212
  <span class="cline-any cline-yes">11x</span>
213
213
  <span class="cline-any cline-yes">11x</span>
214
214
  <span class="cline-any cline-yes">11x</span>
@@ -311,12 +311,12 @@
311
311
  <span class="cline-any cline-yes">63x</span>
312
312
  <span class="cline-any cline-yes">63x</span>
313
313
  <span class="cline-any cline-yes">63x</span>
314
- <span class="cline-any cline-yes">30x</span>
314
+ <span class="cline-any cline-yes">23x</span>
315
315
  <span class="cline-any cline-yes">63x</span>
316
316
  <span class="cline-any cline-yes">64x</span>
317
- <span class="cline-any cline-yes">33x</span>
318
- <span class="cline-any cline-yes">33x</span>
319
- <span class="cline-any cline-yes">30x</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
320
  <span class="cline-any cline-yes">64x</span>
321
321
  <span class="cline-any cline-yes">1x</span>
322
322
  <span class="cline-any cline-yes">1x</span>
@@ -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-05T18:04:40.903Z
460
+ at 2023-09-21T04:47:08.309Z
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">11x</span>
89
- <span class="cline-any cline-yes">11x</span>
90
- <span class="cline-any cline-yes">11x</span>
91
- <span class="cline-any cline-yes">11x</span>
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>
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">11x</span>
95
- <span class="cline-any cline-yes">11x</span>
96
- <span class="cline-any cline-yes">55x</span>
97
- <span class="cline-any cline-yes">55x</span>
98
- <span class="cline-any cline-yes">55x</span>
99
- <span class="cline-any cline-yes">55x</span>
100
- <span class="cline-any cline-yes">55x</span>
101
- <span class="cline-any cline-yes">55x</span>
102
- <span class="cline-any cline-yes">55x</span>
103
- <span class="cline-any cline-yes">55x</span>
104
- <span class="cline-any cline-yes">55x</span>
105
- <span class="cline-any cline-yes">55x</span>
106
- <span class="cline-any cline-yes">55x</span>
107
- <span class="cline-any cline-yes">11x</span>
108
- <span class="cline-any cline-yes">11x</span>
109
- <span class="cline-any cline-yes">11x</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>
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-05T18:04:40.903Z
139
+ at 2023-09-21T04:47:08.309Z
140
140
  </div>
141
141
  <script src="../../../../prettify.js"></script>
142
142
  <script>
@@ -103,14 +103,14 @@
103
103
  <a name='L38'></a><a href='#L38'>38</a>
104
104
  <a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
105
105
  <span class="cline-any cline-no">&nbsp;</span>
106
- <span class="cline-any cline-yes">11x</span>
107
- <span class="cline-any cline-yes">55x</span>
108
- <span class="cline-any cline-yes">55x</span>
109
- <span class="cline-any cline-yes">55x</span>
106
+ <span class="cline-any cline-yes">15x</span>
107
+ <span class="cline-any cline-yes">54x</span>
108
+ <span class="cline-any cline-yes">54x</span>
109
+ <span class="cline-any cline-yes">54x</span>
110
110
  <span class="cline-any cline-yes">1x</span>
111
111
  <span class="cline-any cline-yes">1x</span>
112
- <span class="cline-any cline-yes">55x</span>
113
- <span class="cline-any cline-yes">55x</span>
112
+ <span class="cline-any cline-yes">54x</span>
113
+ <span class="cline-any cline-yes">54x</span>
114
114
  <span class="cline-any cline-yes">2x</span>
115
115
  <span class="cline-any cline-yes">2x</span>
116
116
  <span class="cline-any cline-yes">2x</span>
@@ -184,7 +184,7 @@ module.exports = RequestParser;
184
184
  <div class='footer quiet pad2 space-top1 center small'>
185
185
  Code coverage generated by
186
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
187
- at 2023-09-05T18:04:40.903Z
187
+ at 2023-09-21T04:47:08.309Z
188
188
  </div>
189
189
  <script src="../../../../prettify.js"></script>
190
190
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">75.86% </span>
26
+ <span class="strong">93.1% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>22/29</span>
28
+ <span class='fraction'>27/29</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
33
+ <span class="strong">76.92% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>3/6</span>
35
+ <span class='fraction'>10/13</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">50% </span>
40
+ <span class="strong">75% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/2</span>
42
+ <span class='fraction'>3/4</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">75.86% </span>
47
+ <span class="strong">93.1% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>22/29</span>
49
+ <span class='fraction'>27/29</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -92,60 +92,60 @@
92
92
  <a name='L27'></a><a href='#L27'>27</a>
93
93
  <a name='L28'></a><a href='#L28'>28</a>
94
94
  <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">11x</span>
96
- <span class="cline-any cline-yes">11x</span>
97
- <span class="cline-any cline-yes">11x</span>
98
- <span class="cline-any cline-yes">11x</span>
95
+ <a name='L30'></a><a href='#L30'>30</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
99
96
  <span class="cline-any cline-no">&nbsp;</span>
100
- <span class="cline-any cline-no">&nbsp;</span>
101
- <span class="cline-any cline-yes">11x</span>
102
- <span class="cline-any cline-yes">11x</span>
103
- <span class="cline-any cline-yes">2x</span>
104
- <span class="cline-any cline-yes">2x</span>
105
- <span class="cline-any cline-yes">2x</span>
106
- <span class="cline-any cline-no">&nbsp;</span>
107
- <span class="cline-any cline-no">&nbsp;</span>
108
- <span class="cline-any cline-yes">2x</span>
97
+ <span class="cline-any cline-yes">15x</span>
109
98
  <span class="cline-any cline-yes">2x</span>
99
+ <span class="cline-any cline-yes">1x</span>
100
+ <span class="cline-any cline-yes">1x</span>
110
101
  <span class="cline-any cline-yes">2x</span>
111
102
  <span class="cline-any cline-yes">2x</span>
112
- <span class="cline-any cline-no">&nbsp;</span>
113
- <span class="cline-any cline-no">&nbsp;</span>
103
+ <span class="cline-any cline-yes">3x</span>
104
+ <span class="cline-any cline-yes">3x</span>
105
+ <span class="cline-any cline-yes">3x</span>
106
+ <span class="cline-any cline-yes">1x</span>
107
+ <span class="cline-any cline-yes">1x</span>
114
108
  <span class="cline-any cline-yes">2x</span>
115
109
  <span class="cline-any cline-yes">2x</span>
116
110
  <span class="cline-any cline-yes">2x</span>
111
+ <span class="cline-any cline-yes">4x</span>
112
+ <span class="cline-any cline-yes">1x</span>
113
+ <span class="cline-any cline-yes">1x</span>
117
114
  <span class="cline-any cline-yes">2x</span>
118
115
  <span class="cline-any cline-yes">2x</span>
119
- <span class="cline-any cline-no">&nbsp;</span>
120
- <span class="cline-any cline-yes">2x</span>
121
- <span class="cline-any cline-yes">11x</span>
122
- <span class="cline-any cline-yes">11x</span>
123
- <span class="cline-any cline-yes">11x</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const AbstractMiddleware = require('./AbstractMiddleware');
125
- &nbsp;
116
+ <span class="cline-any cline-yes">3x</span>
117
+ <span class="cline-any cline-yes">1x</span>
118
+ <span class="cline-any cline-yes">1x</span>
119
+ <span class="cline-any cline-yes">1x</span>
120
+ <span class="cline-any cline-yes">3x</span>
121
+ <span class="cline-any cline-yes">1x</span>
122
+ <span class="cline-any cline-yes">1x</span>
123
+ <span class="cline-any cline-yes">1x</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >const AbstractMiddleware = require('./AbstractMiddleware');</span></span>
125
+ <span class="cstat-no" title="statement not covered" ></span>
126
126
  class RoleMiddleware extends AbstractMiddleware {
127
- static <span class="fstat-no" title="function not covered" >get description() {</span>
128
- <span class="cstat-no" title="statement not covered" > return 'Check user role (user.roles property). If the user has no role then stop request and return error. OR logic (any role will pass user)';</span>
129
- <span class="cstat-no" title="statement not covered" > }</span>
127
+ static get description() {
128
+ return 'Check user role (user.roles property). If <span class="branch-0 cbranch-no" title="branch not covered" >the user has no role then stop request and return </span>error. OR logic (any role will pass user)';
129
+ }
130
130
  &nbsp;
131
131
  async middleware(req, res, next) {
132
- const { user } = req.appInfo;
132
+ const { <span class="branch-0 cbranch-no" title="branch not covered" >user } = req.appInfo;</span>
133
133
  &nbsp;
134
- if (!user) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
135
- <span class="cstat-no" title="statement not covered" > return res.status(401).send();</span>
136
- <span class="cstat-no" title="statement not covered" > }</span>
134
+ if (!user) {
135
+ return res.status(401).send();
136
+ }
137
137
  &nbsp;
138
138
  let hasRole = false;
139
139
  user.roles.forEach((role) =&gt; {
140
- if (this.params.roles.includes(role)) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
141
- <span class="cstat-no" title="statement not covered" > hasRole = true;</span>
142
- <span class="cstat-no" title="statement not covered" > }</span>
140
+ <span class="branch-0 cbranch-no" title="branch not covered" > if (this.params.roles.</span>includes(role)) {
141
+ hasRole = true;
142
+ }
143
143
  });
144
144
  &nbsp;
145
145
  if (!hasRole) {
146
146
  return res.status(403).json({ message: 'You do not have access' });
147
147
  }
148
- <span class="cstat-no" title="statement not covered" ><span class="branch-0 cbranch-no" title="branch not covered" > return next();</span></span>
148
+ return next();
149
149
  }
150
150
  }
151
151
  &nbsp;
@@ -157,7 +157,7 @@ module.exports = RoleMiddleware;
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
160
- at 2023-09-05T18:04:40.903Z
160
+ at 2023-09-21T04:47:08.309Z
161
161
  </div>
162
162
  <script src="../../../../prettify.js"></script>
163
163
  <script>