@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.
- package/CHANGELOG.md +14 -1
- package/Cli.js +1 -0
- package/cluster.js +1 -2
- package/commands/GetOpenApiJson.js +1 -2
- package/commands/SyncIndexes.js +1 -1
- package/commands/migration/Migrate.js +2 -2
- package/controllers/Auth.js +3 -5
- package/controllers/index.js +0 -3
- package/coverage/clover.xml +2035 -1926
- package/coverage/coverage-final.json +43 -40
- package/coverage/framework/config/auth.js.html +6 -6
- package/coverage/framework/config/http.js.html +10 -10
- package/coverage/framework/config/i18n.js.html +13 -13
- package/coverage/framework/config/index.html +1 -1
- package/coverage/framework/config/log.js.html +23 -23
- package/coverage/framework/config/mail.js.html +30 -30
- package/coverage/framework/config/mongo.js.html +4 -4
- package/coverage/framework/config/rateLimiter.js.html +17 -17
- package/coverage/framework/config/redis.js.html +5 -5
- package/coverage/framework/config/validate.js.html +4 -4
- package/coverage/framework/controllers/Auth.js.html +97 -103
- package/coverage/framework/controllers/Home.js.html +27 -27
- package/coverage/framework/controllers/index.html +15 -15
- package/coverage/framework/controllers/index.js.html +58 -67
- package/coverage/framework/controllers/test/SomeController.js.html +44 -89
- package/coverage/framework/controllers/test/index.html +17 -17
- package/coverage/framework/helpers/files.js.html +310 -0
- package/coverage/framework/helpers/index.html +131 -0
- package/coverage/framework/helpers/logger.js.html +142 -0
- package/coverage/framework/helpers/redis/clearNamespace.js.html +10 -10
- package/coverage/framework/helpers/redis/index.html +1 -1
- package/coverage/framework/index.html +19 -19
- package/coverage/framework/models/Migration.js.html +130 -0
- package/coverage/framework/models/Sequence.js.html +11 -11
- package/coverage/framework/models/User.js.html +130 -130
- package/coverage/framework/models/index.html +20 -5
- package/coverage/framework/modules/AbstractController.js.html +100 -106
- package/coverage/framework/modules/AbstractModel.js.html +58 -58
- package/coverage/framework/modules/Base.js.html +70 -403
- package/coverage/framework/modules/index.html +24 -24
- package/coverage/framework/server.js.html +704 -338
- package/coverage/framework/services/cache/Cache.js.html +96 -81
- package/coverage/framework/services/cache/index.html +19 -19
- package/coverage/framework/services/documentation/DocumentationGenerator.js.html +39 -45
- package/coverage/framework/services/documentation/index.html +11 -11
- package/coverage/framework/services/http/HttpServer.js.html +90 -90
- package/coverage/framework/services/http/index.html +1 -1
- package/coverage/framework/services/http/middleware/AbstractMiddleware.js.html +45 -45
- package/coverage/framework/services/http/middleware/Auth.js.html +19 -19
- package/coverage/framework/services/http/middleware/GetUserByToken.js.html +36 -36
- package/coverage/framework/services/http/middleware/I18n.js.html +67 -67
- package/coverage/framework/services/http/middleware/Pagination.js.html +21 -21
- package/coverage/framework/services/http/middleware/PrepareAppInfo.js.html +5 -5
- package/coverage/framework/services/http/middleware/RateLimiter.js.html +19 -19
- package/coverage/framework/services/http/middleware/RequestLogger.js.html +21 -21
- package/coverage/framework/services/http/middleware/RequestParser.js.html +7 -7
- package/coverage/framework/services/http/middleware/Role.js.html +43 -43
- package/coverage/framework/services/http/middleware/index.html +33 -33
- package/coverage/framework/services/http/middleware/test/CheckFlag.js.html +9 -9
- package/coverage/framework/services/http/middleware/test/index.html +1 -1
- package/coverage/framework/services/messaging/email/index.html +1 -1
- package/coverage/framework/services/messaging/email/index.js.html +67 -67
- package/coverage/framework/services/messaging/index.html +1 -1
- package/coverage/framework/services/messaging/index.js.html +6 -6
- package/coverage/framework/services/validate/ValidateService.js.html +155 -167
- package/coverage/framework/services/validate/drivers/AbstractValidator.js.html +24 -24
- package/coverage/framework/services/validate/drivers/CustomValidator.js.html +14 -14
- package/coverage/framework/services/validate/drivers/YupValidator.js.html +41 -41
- package/coverage/framework/services/validate/drivers/index.html +1 -1
- package/coverage/framework/services/validate/index.html +5 -5
- package/coverage/index.html +91 -76
- package/helpers/files.js +75 -0
- package/helpers/logger.js +19 -0
- package/models/Migration.test.js +19 -0
- package/modules/AbstractController.js +2 -4
- package/modules/Base.js +8 -119
- package/modules/BaseCli.js +0 -4
- package/package.json +2 -2
- package/server.d.ts +14 -1
- package/server.js +208 -86
- package/services/cache/Cache.js +10 -5
- package/services/cache/Cache.test.js +81 -0
- package/services/documentation/DocumentationGenerator.js +18 -20
- package/services/http/middleware/Auth.test.js +57 -0
- package/services/http/middleware/I18n.test.js +15 -3
- package/services/http/middleware/PrepareAppInfo.test.js +1 -1
- package/services/http/middleware/Role.test.js +93 -0
- package/services/validate/ValidateService.js +3 -7
- package/tests/setup.js +1 -0
- package/tests/setupVitest.js +1 -0
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">94.16% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>113/120</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">92.59% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>25/27</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>6/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">94.16% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>113/120</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -178,11 +178,20 @@
|
|
|
178
178
|
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
179
|
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
180
|
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a
|
|
182
|
-
<
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a></td><td class="line-coverage quiet"><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>
|
|
183
190
|
<span class="cline-any cline-yes">1x</span>
|
|
184
191
|
<span class="cline-any cline-yes">1x</span>
|
|
185
192
|
<span class="cline-any cline-yes">1x</span>
|
|
193
|
+
<span class="cline-any cline-yes">15x</span>
|
|
194
|
+
<span class="cline-any cline-yes">15x</span>
|
|
186
195
|
<span class="cline-any cline-yes">1x</span>
|
|
187
196
|
<span class="cline-any cline-yes">1x</span>
|
|
188
197
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -207,25 +216,43 @@
|
|
|
207
216
|
<span class="cline-any cline-yes">1x</span>
|
|
208
217
|
<span class="cline-any cline-yes">1x</span>
|
|
209
218
|
<span class="cline-any cline-yes">1x</span>
|
|
219
|
+
<span class="cline-any cline-yes">15x</span>
|
|
220
|
+
<span class="cline-any cline-yes">15x</span>
|
|
221
|
+
<span class="cline-any cline-yes">10x</span>
|
|
222
|
+
<span class="cline-any cline-yes">10x</span>
|
|
223
|
+
<span class="cline-any cline-yes">15x</span>
|
|
224
|
+
<span class="cline-any cline-yes">15x</span>
|
|
225
|
+
<span class="cline-any cline-yes">9x</span>
|
|
226
|
+
<span class="cline-any cline-yes">9x</span>
|
|
210
227
|
<span class="cline-any cline-yes">1x</span>
|
|
211
228
|
<span class="cline-any cline-yes">1x</span>
|
|
212
|
-
<span class="cline-any cline-yes">
|
|
213
|
-
<span class="cline-any cline-yes">
|
|
229
|
+
<span class="cline-any cline-yes">9x</span>
|
|
230
|
+
<span class="cline-any cline-yes">9x</span>
|
|
231
|
+
<span class="cline-any cline-yes">9x</span>
|
|
232
|
+
<span class="cline-any cline-yes">9x</span>
|
|
233
|
+
<span class="cline-any cline-yes">9x</span>
|
|
234
|
+
<span class="cline-any cline-yes">2x</span>
|
|
235
|
+
<span class="cline-any cline-yes">2x</span>
|
|
236
|
+
<span class="cline-any cline-yes">7x</span>
|
|
237
|
+
<span class="cline-any cline-yes">7x</span>
|
|
238
|
+
<span class="cline-any cline-yes">7x</span>
|
|
239
|
+
<span class="cline-any cline-yes">7x</span>
|
|
240
|
+
<span class="cline-any cline-yes">7x</span>
|
|
241
|
+
<span class="cline-any cline-yes">7x</span>
|
|
242
|
+
<span class="cline-any cline-yes">7x</span>
|
|
243
|
+
<span class="cline-any cline-yes">7x</span>
|
|
244
|
+
<span class="cline-any cline-yes">7x</span>
|
|
245
|
+
<span class="cline-any cline-yes">7x</span>
|
|
246
|
+
<span class="cline-any cline-yes">9x</span>
|
|
247
|
+
<span class="cline-any cline-yes">5x</span>
|
|
248
|
+
<span class="cline-any cline-yes">5x</span>
|
|
249
|
+
<span class="cline-any cline-yes">5x</span>
|
|
250
|
+
<span class="cline-any cline-yes">5x</span>
|
|
251
|
+
<span class="cline-any cline-yes">1x</span>
|
|
214
252
|
<span class="cline-any cline-yes">1x</span>
|
|
215
253
|
<span class="cline-any cline-yes">1x</span>
|
|
216
|
-
<span class="cline-any cline-yes">4x</span>
|
|
217
254
|
<span class="cline-any cline-yes">1x</span>
|
|
218
255
|
<span class="cline-any cline-yes">1x</span>
|
|
219
|
-
<span class="cline-any cline-yes">4x</span>
|
|
220
|
-
<span class="cline-any cline-yes">4x</span>
|
|
221
|
-
<span class="cline-any cline-yes">4x</span>
|
|
222
|
-
<span class="cline-any cline-yes">4x</span>
|
|
223
|
-
<span class="cline-any cline-yes">4x</span>
|
|
224
|
-
<span class="cline-any cline-no"> </span>
|
|
225
|
-
<span class="cline-any cline-no"> </span>
|
|
226
|
-
<span class="cline-any cline-yes">4x</span>
|
|
227
|
-
<span class="cline-any cline-yes">4x</span>
|
|
228
|
-
<span class="cline-any cline-yes">4x</span>
|
|
229
256
|
<span class="cline-any cline-yes">4x</span>
|
|
230
257
|
<span class="cline-any cline-yes">4x</span>
|
|
231
258
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -234,22 +261,7 @@
|
|
|
234
261
|
<span class="cline-any cline-yes">4x</span>
|
|
235
262
|
<span class="cline-any cline-yes">4x</span>
|
|
236
263
|
<span class="cline-any cline-yes">4x</span>
|
|
237
|
-
<span class="cline-any cline-yes">
|
|
238
|
-
<span class="cline-any cline-yes">2x</span>
|
|
239
|
-
<span class="cline-any cline-yes">2x</span>
|
|
240
|
-
<span class="cline-any cline-yes">2x</span>
|
|
241
|
-
<span class="cline-any cline-no"> </span>
|
|
242
|
-
<span class="cline-any cline-no"> </span>
|
|
243
|
-
<span class="cline-any cline-no"> </span>
|
|
244
|
-
<span class="cline-any cline-no"> </span>
|
|
245
|
-
<span class="cline-any cline-no"> </span>
|
|
246
|
-
<span class="cline-any cline-no"> </span>
|
|
247
|
-
<span class="cline-any cline-no"> </span>
|
|
248
|
-
<span class="cline-any cline-yes">2x</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">2x</span>
|
|
252
|
-
<span class="cline-any cline-yes">2x</span>
|
|
264
|
+
<span class="cline-any cline-yes">9x</span>
|
|
253
265
|
<span class="cline-any cline-yes">2x</span>
|
|
254
266
|
<span class="cline-any cline-yes">2x</span>
|
|
255
267
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -259,13 +271,9 @@
|
|
|
259
271
|
<span class="cline-any cline-yes">2x</span>
|
|
260
272
|
<span class="cline-any cline-yes">2x</span>
|
|
261
273
|
<span class="cline-any cline-yes">2x</span>
|
|
262
|
-
<span class="cline-any cline-yes">
|
|
263
|
-
<span class="cline-any cline-yes">
|
|
264
|
-
<span class="cline-any cline-yes">
|
|
265
|
-
<span class="cline-any cline-yes">8x</span>
|
|
266
|
-
<span class="cline-any cline-no"> </span>
|
|
267
|
-
<span class="cline-any cline-no"> </span>
|
|
268
|
-
<span class="cline-any cline-yes">8x</span>
|
|
274
|
+
<span class="cline-any cline-yes">1x</span>
|
|
275
|
+
<span class="cline-any cline-yes">1x</span>
|
|
276
|
+
<span class="cline-any cline-yes">1x</span>
|
|
269
277
|
<span class="cline-any cline-yes">2x</span>
|
|
270
278
|
<span class="cline-any cline-yes">2x</span>
|
|
271
279
|
<span class="cline-any cline-no"> </span>
|
|
@@ -273,36 +281,42 @@
|
|
|
273
281
|
<span class="cline-any cline-no"> </span>
|
|
274
282
|
<span class="cline-any cline-no"> </span>
|
|
275
283
|
<span class="cline-any cline-yes">2x</span>
|
|
276
|
-
<span class="cline-any cline-yes">
|
|
277
|
-
<span class="cline-any cline-yes">
|
|
278
|
-
<span class="cline-any cline-yes">
|
|
279
|
-
<span class="cline-any cline-yes">
|
|
280
|
-
<span class="cline-any cline-yes">
|
|
284
|
+
<span class="cline-any cline-yes">6x</span>
|
|
285
|
+
<span class="cline-any cline-yes">6x</span>
|
|
286
|
+
<span class="cline-any cline-yes">6x</span>
|
|
287
|
+
<span class="cline-any cline-yes">6x</span>
|
|
288
|
+
<span class="cline-any cline-yes">9x</span>
|
|
289
|
+
<span class="cline-any cline-yes">15x</span>
|
|
290
|
+
<span class="cline-any cline-yes">15x</span>
|
|
291
|
+
<span class="cline-any cline-yes">1x</span>
|
|
281
292
|
<span class="cline-any cline-yes">1x</span>
|
|
282
293
|
<span class="cline-any cline-yes">1x</span>
|
|
283
294
|
<span class="cline-any cline-no"> </span>
|
|
284
295
|
<span class="cline-any cline-no"> </span>
|
|
285
|
-
<span class="cline-any cline-no"> </span>
|
|
286
|
-
<span class="cline-any cline-no"> </span>
|
|
287
|
-
<span class="cline-any cline-no"> </span>
|
|
288
|
-
<span class="cline-any cline-no"> </span>
|
|
289
|
-
<span class="cline-any cline-yes">1x</span>
|
|
290
|
-
<span class="cline-any cline-yes">1x</span>
|
|
291
296
|
<span class="cline-any cline-yes">1x</span>
|
|
292
297
|
<span class="cline-any cline-yes">1x</span>
|
|
293
298
|
<span class="cline-any cline-yes">1x</span>
|
|
299
|
+
<span class="cline-any cline-yes">15x</span>
|
|
300
|
+
<span class="cline-any cline-yes">15x</span>
|
|
294
301
|
<span class="cline-any cline-yes">1x</span>
|
|
295
302
|
<span class="cline-any cline-yes">1x</span>
|
|
296
|
-
<span class="cline-any cline-
|
|
297
|
-
|
|
303
|
+
<span class="cline-any cline-yes">15x</span>
|
|
304
|
+
<span class="cline-any cline-yes">15x</span>
|
|
305
|
+
<span class="cline-any cline-yes">15x</span>
|
|
306
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const Base = require('../../modules/Base');
|
|
298
307
|
|
|
299
308
|
class Cache extends Base {
|
|
300
309
|
constructor(app) {
|
|
310
|
+
super(app);
|
|
311
|
+
this.whenReady = this.#init();
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
async #init() {
|
|
301
315
|
// todo for now only redis. refactor for drives support in future
|
|
302
316
|
// at least memory and redis drivers should be presented
|
|
303
317
|
// memory drives should works on master process level
|
|
304
318
|
// we should support multiple cashe same time
|
|
305
|
-
|
|
319
|
+
const redis = await import('redis');
|
|
306
320
|
const conf = this.app.getConfig('redis');
|
|
307
321
|
this.redisClient = redis.createClient({
|
|
308
322
|
url: conf.url,
|
|
@@ -328,6 +342,7 @@ class Cache extends Base {
|
|
|
328
342
|
}
|
|
329
343
|
|
|
330
344
|
async getSetValue(keyValue, onNotFound, storeTime = 60 * 5) {
|
|
345
|
+
await this.whenReady;
|
|
331
346
|
if (!this.redisClient.isOpen) {
|
|
332
347
|
await this.redisClient.connect();
|
|
333
348
|
}
|
|
@@ -335,9 +350,9 @@ class Cache extends Base {
|
|
|
335
350
|
// 5 mins default
|
|
336
351
|
let resolve = null;
|
|
337
352
|
let reject = null;
|
|
338
|
-
if (this.promiseMapping.has(key))
|
|
339
|
-
|
|
340
|
-
|
|
353
|
+
if (this.promiseMapping.has(key)) {
|
|
354
|
+
return this.promiseMapping.get(key);
|
|
355
|
+
}
|
|
341
356
|
|
|
342
357
|
this.promiseMapping.set(
|
|
343
358
|
key,
|
|
@@ -352,20 +367,18 @@ class Cache extends Base {
|
|
|
352
367
|
this.logger.verbose(`getSetValueFromCache not found for key ${key}`);
|
|
353
368
|
try {
|
|
354
369
|
result = await onNotFound();
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
<span class="cstat-no" title="statement not covered" > return Promise.reject(e);</span>
|
|
362
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
370
|
+
} catch (e) {
|
|
371
|
+
this.logger.error(`Cache onNotFound for key '${key}' error: ${e}`);
|
|
372
|
+
this.promiseMapping.delete(key);
|
|
373
|
+
reject(e);
|
|
374
|
+
return Promise.reject(e);
|
|
375
|
+
}
|
|
363
376
|
|
|
364
377
|
this.redisClient.setEx(
|
|
365
378
|
key,
|
|
366
379
|
storeTime,
|
|
367
380
|
JSON.stringify(result, (jsonkey, value) =>
|
|
368
|
-
typeof value === 'bigint'
|
|
381
|
+
typeof value === 'bigint' ? `${value}n` : value,
|
|
369
382
|
),
|
|
370
383
|
);
|
|
371
384
|
} else {
|
|
@@ -377,9 +390,9 @@ class Cache extends Base {
|
|
|
377
390
|
);
|
|
378
391
|
try {
|
|
379
392
|
result = JSON.parse(result, (jsonkey, value) => {
|
|
380
|
-
if (typeof value === 'string' && /^\d+n$/.test(value))
|
|
381
|
-
|
|
382
|
-
|
|
393
|
+
if (typeof value === 'string' && /^\d+n$/.test(value)) {
|
|
394
|
+
return BigInt(value.slice(0, value.length - 1));
|
|
395
|
+
}
|
|
383
396
|
return value;
|
|
384
397
|
});
|
|
385
398
|
} <span class="branch-0 cbranch-no" title="branch not covered" >catch (e) {</span>
|
|
@@ -394,13 +407,15 @@ class Cache extends Base {
|
|
|
394
407
|
return result;
|
|
395
408
|
}
|
|
396
409
|
|
|
397
|
-
|
|
398
|
-
|
|
410
|
+
async removeKey(keyValue) {
|
|
411
|
+
await this.whenReady;
|
|
412
|
+
|
|
413
|
+
if (!this.redisClient.isOpen) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
399
414
|
<span class="cstat-no" title="statement not covered" > await this.redisClient.connect();</span>
|
|
400
415
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
416
|
+
const key = this.getKeyWithNameSpace(keyValue);
|
|
417
|
+
return this.redisClient.del(key);
|
|
418
|
+
}
|
|
404
419
|
|
|
405
420
|
static get loggerGroup() {
|
|
406
421
|
return 'Cache_';
|
|
@@ -415,7 +430,7 @@ module.exports = Cache;
|
|
|
415
430
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
416
431
|
Code coverage generated by
|
|
417
432
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
418
|
-
at 2023-09-
|
|
433
|
+
at 2023-09-21T04:47:08.309Z
|
|
419
434
|
</div>
|
|
420
435
|
<script src="../../../prettify.js"></script>
|
|
421
436
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">94.16% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>113/120</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">92.59% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>25/27</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>6/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">94.16% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>113/120</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -80,17 +80,17 @@
|
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
82
|
<td class="file high" data-value="Cache.js"><a href="Cache.js.html">Cache.js</a></td>
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
83
|
+
<td data-value="94.16" class="pic high">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
88
|
-
<td data-value="
|
|
89
|
-
<td data-value="
|
|
90
|
-
<td data-value="
|
|
91
|
-
<td data-value="
|
|
92
|
-
<td data-value="
|
|
93
|
-
<td data-value="
|
|
86
|
+
<td data-value="94.16" class="pct high">94.16%</td>
|
|
87
|
+
<td data-value="120" class="abs high">113/120</td>
|
|
88
|
+
<td data-value="92.59" class="pct high">92.59%</td>
|
|
89
|
+
<td data-value="27" class="abs high">25/27</td>
|
|
90
|
+
<td data-value="100" class="pct high">100%</td>
|
|
91
|
+
<td data-value="6" class="abs high">6/6</td>
|
|
92
|
+
<td data-value="94.16" class="pct high">94.16%</td>
|
|
93
|
+
<td data-value="120" class="abs high">113/120</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
</tbody>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2023-09-
|
|
104
|
+
at 2023-09-21T04:47:08.309Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">9.46% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>16/169</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">9.46% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>16/169</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -232,13 +232,12 @@
|
|
|
232
232
|
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
233
|
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
234
|
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<
|
|
237
|
-
<
|
|
238
|
-
<span class="cline-any cline-yes">
|
|
239
|
-
<span class="cline-any cline-yes">
|
|
240
|
-
<span class="cline-any cline-yes">
|
|
241
|
-
<span class="cline-any cline-yes">11x</span>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">15x</span>
|
|
236
|
+
<span class="cline-any cline-yes">15x</span>
|
|
237
|
+
<span class="cline-any cline-yes">15x</span>
|
|
238
|
+
<span class="cline-any cline-yes">15x</span>
|
|
239
|
+
<span class="cline-any cline-yes">15x</span>
|
|
240
|
+
<span class="cline-any cline-yes">15x</span>
|
|
242
241
|
<span class="cline-any cline-no"> </span>
|
|
243
242
|
<span class="cline-any cline-no"> </span>
|
|
244
243
|
<span class="cline-any cline-no"> </span>
|
|
@@ -271,8 +270,9 @@
|
|
|
271
270
|
<span class="cline-any cline-no"> </span>
|
|
272
271
|
<span class="cline-any cline-no"> </span>
|
|
273
272
|
<span class="cline-any cline-no"> </span>
|
|
274
|
-
<span class="cline-any cline-yes">
|
|
275
|
-
<span class="cline-any cline-yes">
|
|
273
|
+
<span class="cline-any cline-yes">15x</span>
|
|
274
|
+
<span class="cline-any cline-yes">15x</span>
|
|
275
|
+
<span class="cline-any cline-yes">15x</span>
|
|
276
276
|
<span class="cline-any cline-no"> </span>
|
|
277
277
|
<span class="cline-any cline-no"> </span>
|
|
278
278
|
<span class="cline-any cline-no"> </span>
|
|
@@ -287,8 +287,8 @@
|
|
|
287
287
|
<span class="cline-any cline-no"> </span>
|
|
288
288
|
<span class="cline-any cline-no"> </span>
|
|
289
289
|
<span class="cline-any cline-no"> </span>
|
|
290
|
-
<span class="cline-any cline-yes">
|
|
291
|
-
<span class="cline-any cline-yes">
|
|
290
|
+
<span class="cline-any cline-yes">15x</span>
|
|
291
|
+
<span class="cline-any cline-yes">15x</span>
|
|
292
292
|
<span class="cline-any cline-no"> </span>
|
|
293
293
|
<span class="cline-any cline-no"> </span>
|
|
294
294
|
<span class="cline-any cline-no"> </span>
|
|
@@ -306,8 +306,8 @@
|
|
|
306
306
|
<span class="cline-any cline-no"> </span>
|
|
307
307
|
<span class="cline-any cline-no"> </span>
|
|
308
308
|
<span class="cline-any cline-no"> </span>
|
|
309
|
-
<span class="cline-any cline-yes">
|
|
310
|
-
<span class="cline-any cline-yes">
|
|
309
|
+
<span class="cline-any cline-yes">15x</span>
|
|
310
|
+
<span class="cline-any cline-yes">15x</span>
|
|
311
311
|
<span class="cline-any cline-no"> </span>
|
|
312
312
|
<span class="cline-any cline-no"> </span>
|
|
313
313
|
<span class="cline-any cline-no"> </span>
|
|
@@ -398,18 +398,15 @@
|
|
|
398
398
|
<span class="cline-any cline-no"> </span>
|
|
399
399
|
<span class="cline-any cline-no"> </span>
|
|
400
400
|
<span class="cline-any cline-no"> </span>
|
|
401
|
-
<span class="cline-any cline-
|
|
402
|
-
<span class="cline-any cline-
|
|
403
|
-
<span class="cline-any cline-
|
|
404
|
-
<span class="cline-any cline-no"> </span>
|
|
405
|
-
<span class="cline-any cline-yes">11x</span>
|
|
406
|
-
<span class="cline-any cline-yes">11x</span>
|
|
407
|
-
<span class="cline-any cline-yes">11x</span>
|
|
401
|
+
<span class="cline-any cline-yes">15x</span>
|
|
402
|
+
<span class="cline-any cline-yes">15x</span>
|
|
403
|
+
<span class="cline-any cline-yes">15x</span>
|
|
408
404
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const Base = require('../../modules/Base');
|
|
409
405
|
const ValidateService = require('../validate/ValidateService');
|
|
410
406
|
|
|
411
407
|
class DocumentationGenerator extends Base {
|
|
412
|
-
|
|
408
|
+
// eslint-disable-next-line class-methods-use-this
|
|
409
|
+
<span class="fstat-no" title="function not covered" > processingFields(fieldsByRoute) {</span>
|
|
413
410
|
<span class="cstat-no" title="statement not covered" > const fields = [];</span>
|
|
414
411
|
<span class="cstat-no" title="statement not covered" > if (!fieldsByRoute) {</span>
|
|
415
412
|
<span class="cstat-no" title="statement not covered" > return fields;</span>
|
|
@@ -443,7 +440,8 @@ class DocumentationGenerator extends Base {
|
|
|
443
440
|
<span class="cstat-no" title="statement not covered" > return fields;</span>
|
|
444
441
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
445
442
|
|
|
446
|
-
|
|
443
|
+
// eslint-disable-next-line class-methods-use-this
|
|
444
|
+
<span class="fstat-no" title="function not covered" > selectUniqueFields(fields) {</span>
|
|
447
445
|
<span class="cstat-no" title="statement not covered" > return Array.from(</span>
|
|
448
446
|
<span class="cstat-no" title="statement not covered" > new Map(fields.map((item) => [item.name, item])).values(),</span>
|
|
449
447
|
<span class="cstat-no" title="statement not covered" > ).reduce((uniqueArray, item) => {</span>
|
|
@@ -459,7 +457,7 @@ class DocumentationGenerator extends Base {
|
|
|
459
457
|
<span class="cstat-no" title="statement not covered" > }, []);</span>
|
|
460
458
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
461
459
|
|
|
462
|
-
|
|
460
|
+
<span class="fstat-no" title="function not covered" > groupFieldsFromSchemas(schemas) {</span>
|
|
463
461
|
<span class="cstat-no" title="statement not covered" > const result = [];</span>
|
|
464
462
|
<span class="cstat-no" title="statement not covered" > schemas.forEach((schema) => {</span>
|
|
465
463
|
<span class="cstat-no" title="statement not covered" > const convertedSchema = new ValidateService(this.app, schema).validator;</span>
|
|
@@ -478,7 +476,7 @@ class DocumentationGenerator extends Base {
|
|
|
478
476
|
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
479
477
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
480
478
|
|
|
481
|
-
|
|
479
|
+
<span class="fstat-no" title="function not covered" > convertDataToDocumentationElement(</span>
|
|
482
480
|
<span class="cstat-no" title="statement not covered" > controllerName,</span>
|
|
483
481
|
<span class="cstat-no" title="statement not covered" > routesInfo,</span>
|
|
484
482
|
<span class="cstat-no" title="statement not covered" > middlewaresInfo,</span>
|
|
@@ -487,23 +485,19 @@ class DocumentationGenerator extends Base {
|
|
|
487
485
|
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
488
486
|
<span class="cstat-no" title="statement not covered" > contollerName: controllerName,</span>
|
|
489
487
|
<span class="cstat-no" title="statement not covered" > routesInfo: routesInfo.map((route) => {</span>
|
|
490
|
-
<span class="cstat-no" title="statement not covered" > const middlewareQueryParams = ValidateService
|
|
491
|
-
<span class="cstat-no" title="statement not covered" >
|
|
492
|
-
<span class="cstat-no" title="statement not covered" >
|
|
493
|
-
<span class="cstat-no" title="statement not covered" >
|
|
494
|
-
<span class="cstat-no" title="statement not covered" >
|
|
495
|
-
<span class="cstat-no" title="statement not covered" >
|
|
496
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
497
|
-
<span class="cstat-no" title="statement not covered" > ).query;</span>
|
|
488
|
+
<span class="cstat-no" title="statement not covered" > const middlewareQueryParams = new ValidateService(</span>
|
|
489
|
+
<span class="cstat-no" title="statement not covered" > this.app,</span>
|
|
490
|
+
<span class="cstat-no" title="statement not covered" > ).getMiddlewareParams(middlewaresInfo, routeMiddlewaresReg, {</span>
|
|
491
|
+
<span class="cstat-no" title="statement not covered" > method: route.method.toLowerCase(),</span>
|
|
492
|
+
<span class="cstat-no" title="statement not covered" > path: route.fullPath,</span>
|
|
493
|
+
<span class="cstat-no" title="statement not covered" > }).query;</span>
|
|
498
494
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
499
|
-
<span class="cstat-no" title="statement not covered" > const middlewareRequestParams = ValidateService
|
|
500
|
-
<span class="cstat-no" title="statement not covered" >
|
|
501
|
-
<span class="cstat-no" title="statement not covered" >
|
|
502
|
-
<span class="cstat-no" title="statement not covered" >
|
|
503
|
-
<span class="cstat-no" title="statement not covered" >
|
|
504
|
-
<span class="cstat-no" title="statement not covered" >
|
|
505
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
506
|
-
<span class="cstat-no" title="statement not covered" > ).request;</span>
|
|
495
|
+
<span class="cstat-no" title="statement not covered" > const middlewareRequestParams = new ValidateService(</span>
|
|
496
|
+
<span class="cstat-no" title="statement not covered" > this.app,</span>
|
|
497
|
+
<span class="cstat-no" title="statement not covered" > ).getMiddlewareParams(middlewaresInfo, routeMiddlewaresReg, {</span>
|
|
498
|
+
<span class="cstat-no" title="statement not covered" > method: route.method.toLowerCase(),</span>
|
|
499
|
+
<span class="cstat-no" title="statement not covered" > path: route.fullPath,</span>
|
|
500
|
+
<span class="cstat-no" title="statement not covered" > }).request;</span>
|
|
507
501
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
508
502
|
<span class="cstat-no" title="statement not covered" > const queryParams = this.groupFieldsFromSchemas(middlewareQueryParams);</span>
|
|
509
503
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
@@ -583,7 +577,7 @@ module.exports = DocumentationGenerator;
|
|
|
583
577
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
584
578
|
Code coverage generated by
|
|
585
579
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
586
|
-
at 2023-09-
|
|
580
|
+
at 2023-09-21T04:47:08.309Z
|
|
587
581
|
</div>
|
|
588
582
|
<script src="../../../prettify.js"></script>
|
|
589
583
|
<script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">9.46% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>16/169</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">9.46% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>16/169</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -80,17 +80,17 @@
|
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
82
|
<td class="file low" data-value="DocumentationGenerator.js"><a href="DocumentationGenerator.js.html">DocumentationGenerator.js</a></td>
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
83
|
+
<td data-value="9.46" class="pic low">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 9%"></div><div class="cover-empty" style="width: 91%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
86
|
+
<td data-value="9.46" class="pct low">9.46%</td>
|
|
87
|
+
<td data-value="169" class="abs low">16/169</td>
|
|
88
88
|
<td data-value="100" class="pct high">100%</td>
|
|
89
89
|
<td data-value="1" class="abs high">1/1</td>
|
|
90
90
|
<td data-value="0" class="pct low">0%</td>
|
|
91
91
|
<td data-value="4" class="abs low">0/4</td>
|
|
92
|
-
<td data-value="
|
|
93
|
-
<td data-value="
|
|
92
|
+
<td data-value="9.46" class="pct low">9.46%</td>
|
|
93
|
+
<td data-value="169" class="abs low">16/169</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
</tbody>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2023-09-
|
|
104
|
+
at 2023-09-21T04:47:08.309Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../../prettify.js"></script>
|
|
107
107
|
<script>
|