@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
|
@@ -166,15 +166,15 @@
|
|
|
166
166
|
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
167
|
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
168
|
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
170
|
-
<span class="cline-any cline-yes">
|
|
171
|
-
<span class="cline-any cline-yes">
|
|
172
|
-
<span class="cline-any cline-yes">
|
|
173
|
-
<span class="cline-any cline-yes">
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">15x</span>
|
|
170
|
+
<span class="cline-any cline-yes">15x</span>
|
|
171
|
+
<span class="cline-any cline-yes">15x</span>
|
|
172
|
+
<span class="cline-any cline-yes">15x</span>
|
|
173
|
+
<span class="cline-any cline-yes">15x</span>
|
|
174
174
|
<span class="cline-any cline-no"> </span>
|
|
175
175
|
<span class="cline-any cline-no"> </span>
|
|
176
|
-
<span class="cline-any cline-yes">
|
|
177
|
-
<span class="cline-any cline-yes">
|
|
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-no"> </span>
|
|
179
179
|
<span class="cline-any cline-no"> </span>
|
|
180
180
|
<span class="cline-any cline-no"> </span>
|
|
@@ -205,22 +205,22 @@
|
|
|
205
205
|
<span class="cline-any cline-no"> </span>
|
|
206
206
|
<span class="cline-any cline-no"> </span>
|
|
207
207
|
<span class="cline-any cline-no"> </span>
|
|
208
|
-
<span class="cline-any cline-yes">
|
|
209
|
-
<span class="cline-any cline-yes">
|
|
210
|
-
<span class="cline-any cline-yes">
|
|
211
|
-
<span class="cline-any cline-yes">
|
|
212
|
-
<span class="cline-any cline-yes">
|
|
213
|
-
<span class="cline-any cline-yes">
|
|
208
|
+
<span class="cline-any cline-yes">15x</span>
|
|
209
|
+
<span class="cline-any cline-yes">15x</span>
|
|
210
|
+
<span class="cline-any cline-yes">52x</span>
|
|
211
|
+
<span class="cline-any cline-yes">52x</span>
|
|
212
|
+
<span class="cline-any cline-yes">52x</span>
|
|
213
|
+
<span class="cline-any cline-yes">52x</span>
|
|
214
214
|
<span class="cline-any cline-no"> </span>
|
|
215
215
|
<span class="cline-any cline-no"> </span>
|
|
216
|
-
<span class="cline-any cline-yes">
|
|
217
|
-
<span class="cline-any cline-yes">
|
|
218
|
-
<span class="cline-any cline-yes">
|
|
219
|
-
<span class="cline-any cline-yes">
|
|
220
|
-
<span class="cline-any cline-yes">
|
|
221
|
-
<span class="cline-any cline-yes">
|
|
222
|
-
<span class="cline-any cline-yes">
|
|
223
|
-
<span class="cline-any cline-yes">
|
|
216
|
+
<span class="cline-any cline-yes">52x</span>
|
|
217
|
+
<span class="cline-any cline-yes">52x</span>
|
|
218
|
+
<span class="cline-any cline-yes">52x</span>
|
|
219
|
+
<span class="cline-any cline-yes">52x</span>
|
|
220
|
+
<span class="cline-any cline-yes">52x</span>
|
|
221
|
+
<span class="cline-any cline-yes">52x</span>
|
|
222
|
+
<span class="cline-any cline-yes">52x</span>
|
|
223
|
+
<span class="cline-any cline-yes">52x</span>
|
|
224
224
|
<span class="cline-any cline-yes">2x</span>
|
|
225
225
|
<span class="cline-any cline-yes">2x</span>
|
|
226
226
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -248,27 +248,27 @@
|
|
|
248
248
|
<span class="cline-any cline-yes">2x</span>
|
|
249
249
|
<span class="cline-any cline-yes">2x</span>
|
|
250
250
|
<span class="cline-any cline-yes">2x</span>
|
|
251
|
-
<span class="cline-any cline-yes">
|
|
252
|
-
<span class="cline-any cline-yes">
|
|
253
|
-
<span class="cline-any cline-yes">
|
|
254
|
-
<span class="cline-any cline-yes">
|
|
255
|
-
<span class="cline-any cline-yes">
|
|
256
|
-
<span class="cline-any cline-yes">
|
|
257
|
-
<span class="cline-any cline-no"> </span>
|
|
258
|
-
<span class="cline-any cline-no"> </span>
|
|
259
|
-
<span class="cline-any cline-yes">
|
|
260
|
-
<span class="cline-any cline-yes">
|
|
261
|
-
<span class="cline-any cline-yes">
|
|
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">
|
|
266
|
-
<span class="cline-any cline-yes">
|
|
267
|
-
<span class="cline-any cline-yes">
|
|
251
|
+
<span class="cline-any cline-yes">52x</span>
|
|
252
|
+
<span class="cline-any cline-yes">15x</span>
|
|
253
|
+
<span class="cline-any cline-yes">15x</span>
|
|
254
|
+
<span class="cline-any cline-yes">50x</span>
|
|
255
|
+
<span class="cline-any cline-yes">50x</span>
|
|
256
|
+
<span class="cline-any cline-yes">50x</span>
|
|
257
|
+
<span class="cline-any cline-no"> </span>
|
|
258
|
+
<span class="cline-any cline-no"> </span>
|
|
259
|
+
<span class="cline-any cline-yes">50x</span>
|
|
260
|
+
<span class="cline-any cline-yes">50x</span>
|
|
261
|
+
<span class="cline-any cline-yes">50x</span>
|
|
262
|
+
<span class="cline-any cline-yes">50x</span>
|
|
263
|
+
<span class="cline-any cline-yes">50x</span>
|
|
264
|
+
<span class="cline-any cline-yes">50x</span>
|
|
265
|
+
<span class="cline-any cline-yes">50x</span>
|
|
266
|
+
<span class="cline-any cline-yes">15x</span>
|
|
267
|
+
<span class="cline-any cline-yes">15x</span>
|
|
268
268
|
<span class="cline-any cline-yes">2x</span>
|
|
269
269
|
<span class="cline-any cline-yes">2x</span>
|
|
270
|
-
<span class="cline-any cline-yes">
|
|
271
|
-
<span class="cline-any cline-yes">
|
|
270
|
+
<span class="cline-any cline-yes">15x</span>
|
|
271
|
+
<span class="cline-any cline-yes">15x</span>
|
|
272
272
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const yup = require('yup');
|
|
273
273
|
const AbstractValidator = require('./AbstractValidator');
|
|
274
274
|
|
|
@@ -379,7 +379,7 @@ module.exports = YupValidator;
|
|
|
379
379
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
380
380
|
Code coverage generated by
|
|
381
381
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
382
|
-
at 2023-09-
|
|
382
|
+
at 2023-09-21T04:47:08.309Z
|
|
383
383
|
</div>
|
|
384
384
|
<script src="../../../../prettify.js"></script>
|
|
385
385
|
<script>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
132
132
|
Code coverage generated by
|
|
133
133
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
134
|
-
at 2023-09-
|
|
134
|
+
at 2023-09-21T04:47:08.309Z
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../../../../prettify.js"></script>
|
|
137
137
|
<script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>157/157</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>157/157</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -84,13 +84,13 @@
|
|
|
84
84
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
85
85
|
</td>
|
|
86
86
|
<td data-value="100" class="pct high">100%</td>
|
|
87
|
-
<td data-value="
|
|
87
|
+
<td data-value="157" class="abs high">157/157</td>
|
|
88
88
|
<td data-value="100" class="pct high">100%</td>
|
|
89
89
|
<td data-value="35" class="abs high">35/35</td>
|
|
90
90
|
<td data-value="100" class="pct high">100%</td>
|
|
91
91
|
<td data-value="9" class="abs high">9/9</td>
|
|
92
92
|
<td data-value="100" class="pct high">100%</td>
|
|
93
|
-
<td data-value="
|
|
93
|
+
<td data-value="157" class="abs high">157/157</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>
|
package/coverage/index.html
CHANGED
|
@@ -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">80.75% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>2710/3356</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">84.75% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>417/492</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">78.99% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>173/219</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">80.75% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>2710/3356</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
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<div class="pad1">
|
|
66
66
|
<table class="coverage-summary">
|
|
67
67
|
<thead>
|
|
@@ -80,17 +80,17 @@
|
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
82
|
<td class="file high" data-value="framework"><a href="framework/index.html">framework</a></td>
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
83
|
+
<td data-value="86.64" class="pic high">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></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="86.64" class="pct high">86.64%</td>
|
|
87
|
+
<td data-value="367" class="abs high">318/367</td>
|
|
88
|
+
<td data-value="78.72" class="pct medium">78.72%</td>
|
|
89
|
+
<td data-value="47" class="abs medium">37/47</td>
|
|
90
|
+
<td data-value="90.9" class="pct high">90.9%</td>
|
|
91
|
+
<td data-value="22" class="abs high">20/22</td>
|
|
92
|
+
<td data-value="86.64" class="pct high">86.64%</td>
|
|
93
|
+
<td data-value="367" class="abs high">318/367</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
@@ -110,32 +110,47 @@
|
|
|
110
110
|
|
|
111
111
|
<tr>
|
|
112
112
|
<td class="file high" data-value="framework/controllers"><a href="framework/controllers/index.html">framework/controllers</a></td>
|
|
113
|
-
<td data-value="
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
113
|
+
<td data-value="94.93" class="pic high">
|
|
114
|
+
<div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
|
|
115
115
|
</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
116
|
+
<td data-value="94.93" class="pct high">94.93%</td>
|
|
117
|
+
<td data-value="296" class="abs high">281/296</td>
|
|
118
118
|
<td data-value="90.69" class="pct high">90.69%</td>
|
|
119
119
|
<td data-value="43" class="abs high">39/43</td>
|
|
120
120
|
<td data-value="100" class="pct high">100%</td>
|
|
121
121
|
<td data-value="16" class="abs high">16/16</td>
|
|
122
|
-
<td data-value="
|
|
123
|
-
<td data-value="
|
|
122
|
+
<td data-value="94.93" class="pct high">94.93%</td>
|
|
123
|
+
<td data-value="296" class="abs high">281/296</td>
|
|
124
124
|
</tr>
|
|
125
125
|
|
|
126
126
|
<tr>
|
|
127
127
|
<td class="file high" data-value="framework/controllers/test"><a href="framework/controllers/test/index.html">framework/controllers/test</a></td>
|
|
128
|
-
<td data-value="
|
|
128
|
+
<td data-value="86.41" class="pic high">
|
|
129
|
+
<div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
|
|
130
|
+
</td>
|
|
131
|
+
<td data-value="86.41" class="pct high">86.41%</td>
|
|
132
|
+
<td data-value="162" class="abs high">140/162</td>
|
|
133
|
+
<td data-value="100" class="pct high">100%</td>
|
|
134
|
+
<td data-value="11" class="abs high">11/11</td>
|
|
135
|
+
<td data-value="55.55" class="pct medium">55.55%</td>
|
|
136
|
+
<td data-value="18" class="abs medium">10/18</td>
|
|
137
|
+
<td data-value="86.41" class="pct high">86.41%</td>
|
|
138
|
+
<td data-value="162" class="abs high">140/162</td>
|
|
139
|
+
</tr>
|
|
140
|
+
|
|
141
|
+
<tr>
|
|
142
|
+
<td class="file high" data-value="framework/helpers"><a href="framework/helpers/index.html">framework/helpers</a></td>
|
|
143
|
+
<td data-value="85.1" class="pic high">
|
|
129
144
|
<div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
|
|
130
145
|
</td>
|
|
131
|
-
<td data-value="85.
|
|
132
|
-
<td data-value="
|
|
146
|
+
<td data-value="85.1" class="pct high">85.1%</td>
|
|
147
|
+
<td data-value="94" class="abs high">80/94</td>
|
|
148
|
+
<td data-value="86.36" class="pct high">86.36%</td>
|
|
149
|
+
<td data-value="22" class="abs high">19/22</td>
|
|
133
150
|
<td data-value="100" class="pct high">100%</td>
|
|
134
|
-
<td data-value="
|
|
135
|
-
<td data-value="
|
|
136
|
-
<td data-value="
|
|
137
|
-
<td data-value="85.87" class="pct high">85.87%</td>
|
|
138
|
-
<td data-value="177" class="abs high">152/177</td>
|
|
151
|
+
<td data-value="3" class="abs high">3/3</td>
|
|
152
|
+
<td data-value="85.1" class="pct high">85.1%</td>
|
|
153
|
+
<td data-value="94" class="abs high">80/94</td>
|
|
139
154
|
</tr>
|
|
140
155
|
|
|
141
156
|
<tr>
|
|
@@ -159,58 +174,58 @@
|
|
|
159
174
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
160
175
|
</td>
|
|
161
176
|
<td data-value="100" class="pct high">100%</td>
|
|
162
|
-
<td data-value="
|
|
177
|
+
<td data-value="295" class="abs high">295/295</td>
|
|
163
178
|
<td data-value="100" class="pct high">100%</td>
|
|
164
|
-
<td data-value="
|
|
179
|
+
<td data-value="32" class="abs high">32/32</td>
|
|
165
180
|
<td data-value="100" class="pct high">100%</td>
|
|
166
|
-
<td data-value="
|
|
181
|
+
<td data-value="19" class="abs high">19/19</td>
|
|
167
182
|
<td data-value="100" class="pct high">100%</td>
|
|
168
|
-
<td data-value="
|
|
183
|
+
<td data-value="295" class="abs high">295/295</td>
|
|
169
184
|
</tr>
|
|
170
185
|
|
|
171
186
|
<tr>
|
|
172
187
|
<td class="file medium" data-value="framework/modules"><a href="framework/modules/index.html">framework/modules</a></td>
|
|
173
|
-
<td data-value="
|
|
174
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
188
|
+
<td data-value="62.83" class="pic medium">
|
|
189
|
+
<div class="chart"><div class="cover-fill" style="width: 62%"></div><div class="cover-empty" style="width: 38%"></div></div>
|
|
175
190
|
</td>
|
|
176
|
-
<td data-value="
|
|
177
|
-
<td data-value="
|
|
178
|
-
<td data-value="
|
|
179
|
-
<td data-value="
|
|
180
|
-
<td data-value="
|
|
181
|
-
<td data-value="
|
|
182
|
-
<td data-value="
|
|
183
|
-
<td data-value="
|
|
191
|
+
<td data-value="62.83" class="pct medium">62.83%</td>
|
|
192
|
+
<td data-value="522" class="abs medium">328/522</td>
|
|
193
|
+
<td data-value="78.16" class="pct medium">78.16%</td>
|
|
194
|
+
<td data-value="87" class="abs medium">68/87</td>
|
|
195
|
+
<td data-value="83.87" class="pct high">83.87%</td>
|
|
196
|
+
<td data-value="31" class="abs high">26/31</td>
|
|
197
|
+
<td data-value="62.83" class="pct medium">62.83%</td>
|
|
198
|
+
<td data-value="522" class="abs medium">328/522</td>
|
|
184
199
|
</tr>
|
|
185
200
|
|
|
186
201
|
<tr>
|
|
187
202
|
<td class="file high" data-value="framework/services/cache"><a href="framework/services/cache/index.html">framework/services/cache</a></td>
|
|
188
|
-
<td data-value="
|
|
189
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
203
|
+
<td data-value="94.16" class="pic high">
|
|
204
|
+
<div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
|
|
190
205
|
</td>
|
|
191
|
-
<td data-value="
|
|
192
|
-
<td data-value="
|
|
193
|
-
<td data-value="
|
|
194
|
-
<td data-value="
|
|
195
|
-
<td data-value="
|
|
196
|
-
<td data-value="
|
|
197
|
-
<td data-value="
|
|
198
|
-
<td data-value="
|
|
206
|
+
<td data-value="94.16" class="pct high">94.16%</td>
|
|
207
|
+
<td data-value="120" class="abs high">113/120</td>
|
|
208
|
+
<td data-value="92.59" class="pct high">92.59%</td>
|
|
209
|
+
<td data-value="27" class="abs high">25/27</td>
|
|
210
|
+
<td data-value="100" class="pct high">100%</td>
|
|
211
|
+
<td data-value="6" class="abs high">6/6</td>
|
|
212
|
+
<td data-value="94.16" class="pct high">94.16%</td>
|
|
213
|
+
<td data-value="120" class="abs high">113/120</td>
|
|
199
214
|
</tr>
|
|
200
215
|
|
|
201
216
|
<tr>
|
|
202
217
|
<td class="file low" data-value="framework/services/documentation"><a href="framework/services/documentation/index.html">framework/services/documentation</a></td>
|
|
203
|
-
<td data-value="
|
|
204
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
218
|
+
<td data-value="9.46" class="pic low">
|
|
219
|
+
<div class="chart"><div class="cover-fill" style="width: 9%"></div><div class="cover-empty" style="width: 91%"></div></div>
|
|
205
220
|
</td>
|
|
206
|
-
<td data-value="
|
|
207
|
-
<td data-value="
|
|
221
|
+
<td data-value="9.46" class="pct low">9.46%</td>
|
|
222
|
+
<td data-value="169" class="abs low">16/169</td>
|
|
208
223
|
<td data-value="100" class="pct high">100%</td>
|
|
209
224
|
<td data-value="1" class="abs high">1/1</td>
|
|
210
225
|
<td data-value="0" class="pct low">0%</td>
|
|
211
226
|
<td data-value="4" class="abs low">0/4</td>
|
|
212
|
-
<td data-value="
|
|
213
|
-
<td data-value="
|
|
227
|
+
<td data-value="9.46" class="pct low">9.46%</td>
|
|
228
|
+
<td data-value="169" class="abs low">16/169</td>
|
|
214
229
|
</tr>
|
|
215
230
|
|
|
216
231
|
<tr>
|
|
@@ -230,17 +245,17 @@
|
|
|
230
245
|
|
|
231
246
|
<tr>
|
|
232
247
|
<td class="file high" data-value="framework/services/http/middleware"><a href="framework/services/http/middleware/index.html">framework/services/http/middleware</a></td>
|
|
233
|
-
<td data-value="
|
|
234
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
248
|
+
<td data-value="88.82" class="pic high">
|
|
249
|
+
<div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
|
|
235
250
|
</td>
|
|
236
|
-
<td data-value="
|
|
237
|
-
<td data-value="528" class="abs high">
|
|
238
|
-
<td data-value="
|
|
239
|
-
<td data-value="
|
|
240
|
-
<td data-value="
|
|
241
|
-
<td data-value="
|
|
242
|
-
<td data-value="
|
|
243
|
-
<td data-value="528" class="abs high">
|
|
251
|
+
<td data-value="88.82" class="pct high">88.82%</td>
|
|
252
|
+
<td data-value="528" class="abs high">469/528</td>
|
|
253
|
+
<td data-value="82.57" class="pct high">82.57%</td>
|
|
254
|
+
<td data-value="132" class="abs high">109/132</td>
|
|
255
|
+
<td data-value="77.77" class="pct medium">77.77%</td>
|
|
256
|
+
<td data-value="63" class="abs medium">49/63</td>
|
|
257
|
+
<td data-value="88.82" class="pct high">88.82%</td>
|
|
258
|
+
<td data-value="528" class="abs high">469/528</td>
|
|
244
259
|
</tr>
|
|
245
260
|
|
|
246
261
|
<tr>
|
|
@@ -294,13 +309,13 @@
|
|
|
294
309
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
295
310
|
</td>
|
|
296
311
|
<td data-value="100" class="pct high">100%</td>
|
|
297
|
-
<td data-value="
|
|
312
|
+
<td data-value="157" class="abs high">157/157</td>
|
|
298
313
|
<td data-value="100" class="pct high">100%</td>
|
|
299
314
|
<td data-value="35" class="abs high">35/35</td>
|
|
300
315
|
<td data-value="100" class="pct high">100%</td>
|
|
301
316
|
<td data-value="9" class="abs high">9/9</td>
|
|
302
317
|
<td data-value="100" class="pct high">100%</td>
|
|
303
|
-
<td data-value="
|
|
318
|
+
<td data-value="157" class="abs high">157/157</td>
|
|
304
319
|
</tr>
|
|
305
320
|
|
|
306
321
|
<tr>
|
|
@@ -326,7 +341,7 @@
|
|
|
326
341
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
327
342
|
Code coverage generated by
|
|
328
343
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
329
|
-
at 2023-09-
|
|
344
|
+
at 2023-09-21T04:47:08.309Z
|
|
330
345
|
</div>
|
|
331
346
|
<script src="prettify.js"></script>
|
|
332
347
|
<script>
|
package/helpers/files.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
const fs = require('node:fs').promises;
|
|
2
|
+
const { join } = require('node:path');
|
|
3
|
+
|
|
4
|
+
const getFilesPathWithInheritance = async ({
|
|
5
|
+
internalFolder,
|
|
6
|
+
externalFolder,
|
|
7
|
+
logger,
|
|
8
|
+
loggerFileType = '',
|
|
9
|
+
filter: { startWithCapital = true, notTests = true, notHidden = true } = {},
|
|
10
|
+
}) => {
|
|
11
|
+
let [internalFiles, externalFiles] = await Promise.all([
|
|
12
|
+
fs.readdir(internalFolder, { recursive: true, withFileTypes: true }),
|
|
13
|
+
fs.readdir(externalFolder, { recursive: true, withFileTypes: true }),
|
|
14
|
+
]);
|
|
15
|
+
|
|
16
|
+
const filterIndexFile = (fileDirent) => {
|
|
17
|
+
if (!fileDirent.isFile()) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const fileArray = fileDirent.name.split('/');
|
|
21
|
+
const file = fileArray[fileArray.length - 1];
|
|
22
|
+
if (startWithCapital && file[0] !== file[0].toUpperCase()) {
|
|
23
|
+
// not start with capital
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (notTests && file.endsWith('.test.js')) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
if (notHidden && file[0] === '.') {
|
|
30
|
+
// not start with dot
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
internalFiles = internalFiles
|
|
37
|
+
.filter(filterIndexFile)
|
|
38
|
+
.map((fileDirent) =>
|
|
39
|
+
join(fileDirent.path, fileDirent.name).replace(`${internalFolder}/`, ''),
|
|
40
|
+
);
|
|
41
|
+
externalFiles = externalFiles
|
|
42
|
+
.filter(filterIndexFile)
|
|
43
|
+
.map((fileDirent) =>
|
|
44
|
+
join(fileDirent.path, fileDirent.name).replace(`${externalFolder}/`, ''),
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
const filesToLoad = [];
|
|
48
|
+
for (const file of internalFiles) {
|
|
49
|
+
if (externalFiles.includes(file)) {
|
|
50
|
+
logger(
|
|
51
|
+
`Skipping register INTERNAL file '${file}' ${
|
|
52
|
+
loggerFileType ? `of type ${loggerFileType}` : ''
|
|
53
|
+
} as it override by EXTERNAL ONE`,
|
|
54
|
+
);
|
|
55
|
+
} else {
|
|
56
|
+
filesToLoad.push({
|
|
57
|
+
path: `${internalFolder}/${file}`,
|
|
58
|
+
file,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
for (const file of externalFiles) {
|
|
64
|
+
filesToLoad.push({
|
|
65
|
+
path: `${externalFolder}/${file}`,
|
|
66
|
+
file,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return filesToLoad;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
module.exports = {
|
|
73
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
74
|
+
getFilesPathWithInheritance,
|
|
75
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
const levels = ['error', 'warn', 'info', 'http', 'verbose', 'debug', 'silly'];
|
|
3
|
+
|
|
4
|
+
const consoleLogger = (level, message) => {
|
|
5
|
+
if (
|
|
6
|
+
!process.env.LOGGER_CONSOLE_LEVEL ||
|
|
7
|
+
levels.indexOf(process.env.LOGGER_CONSOLE_LEVEL) >= levels.indexOf(level)
|
|
8
|
+
) {
|
|
9
|
+
if (console[level]) {
|
|
10
|
+
console[level](message);
|
|
11
|
+
} else {
|
|
12
|
+
console.log(message);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
module.exports = {
|
|
17
|
+
levels,
|
|
18
|
+
consoleLogger,
|
|
19
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
|
|
3
|
+
describe('migration model', () => {
|
|
4
|
+
it('migrationFile should be uniqe', async () => {
|
|
5
|
+
expect.assertions(1);
|
|
6
|
+
let errorCode;
|
|
7
|
+
const MigrationModel = global.server.app.getModel('Migration');
|
|
8
|
+
await MigrationModel.create({
|
|
9
|
+
migrationFile: 'a',
|
|
10
|
+
});
|
|
11
|
+
await MigrationModel.create({
|
|
12
|
+
migrationFile: 'a',
|
|
13
|
+
}).catch((e) => {
|
|
14
|
+
errorCode = e.code;
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
expect(errorCode).toBe(11000);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
@@ -227,9 +227,7 @@ class AbstractController extends Base {
|
|
|
227
227
|
});
|
|
228
228
|
}
|
|
229
229
|
return routeObject.handler.call(this, req, res, next).catch((e) => {
|
|
230
|
-
this.logger.error(e
|
|
231
|
-
// eslint-disable-next-line no-console
|
|
232
|
-
console.error(e);
|
|
230
|
+
this.logger.error(e);
|
|
233
231
|
return res.status(500).json({
|
|
234
232
|
message:
|
|
235
233
|
'Platform error. Please check later or contact support',
|
|
@@ -271,7 +269,7 @@ class AbstractController extends Base {
|
|
|
271
269
|
*/
|
|
272
270
|
if (!this.app.httpServer) {
|
|
273
271
|
this.app.documentation.push(
|
|
274
|
-
DocumentationGenerator.convertDataToDocumentationElement(
|
|
272
|
+
new DocumentationGenerator(this.app).convertDataToDocumentationElement(
|
|
275
273
|
this.getConstructorName(),
|
|
276
274
|
routesInfo,
|
|
277
275
|
middlewaresInfo,
|