@adaptivestone/framework 4.8.0 → 4.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/commands/migration/Create.js +4 -3
- package/coverage/clover.xml +2820 -2789
- package/coverage/coverage-final.json +43 -43
- 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 +90 -90
- package/coverage/framework/controllers/Home.js.html +39 -39
- package/coverage/framework/controllers/index.html +17 -17
- package/coverage/framework/controllers/index.js.html +54 -54
- package/coverage/framework/controllers/test/SomeController.js.html +106 -106
- package/coverage/framework/controllers/test/index.html +19 -19
- package/coverage/framework/helpers/files.js.html +66 -66
- package/coverage/framework/helpers/index.html +1 -1
- package/coverage/framework/helpers/logger.js.html +14 -14
- package/coverage/framework/helpers/redis/clearNamespace.js.html +28 -28
- package/coverage/framework/helpers/redis/index.html +17 -17
- package/coverage/framework/index.html +19 -19
- package/coverage/framework/models/Migration.js.html +16 -16
- package/coverage/framework/models/Sequence.js.html +39 -39
- package/coverage/framework/models/User.js.html +192 -192
- package/coverage/framework/models/index.html +28 -28
- package/coverage/framework/modules/AbstractController.js.html +478 -478
- package/coverage/framework/modules/AbstractModel.js.html +54 -54
- package/coverage/framework/modules/Base.js.html +52 -52
- package/coverage/framework/modules/index.html +21 -21
- package/coverage/framework/server.js.html +478 -385
- package/coverage/framework/services/cache/Cache.js.html +216 -216
- package/coverage/framework/services/cache/index.html +20 -20
- package/coverage/framework/services/documentation/DocumentationGenerator.js.html +17 -17
- package/coverage/framework/services/documentation/index.html +1 -1
- 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 +60 -60
- package/coverage/framework/services/http/middleware/Auth.js.html +16 -16
- package/coverage/framework/services/http/middleware/GetUserByToken.js.html +60 -60
- package/coverage/framework/services/http/middleware/I18n.js.html +129 -129
- package/coverage/framework/services/http/middleware/Pagination.js.html +95 -95
- package/coverage/framework/services/http/middleware/PrepareAppInfo.js.html +27 -27
- package/coverage/framework/services/http/middleware/RateLimiter.js.html +166 -166
- package/coverage/framework/services/http/middleware/RequestLogger.js.html +21 -21
- package/coverage/framework/services/http/middleware/RequestParser.js.html +47 -47
- package/coverage/framework/services/http/middleware/Role.js.html +55 -55
- package/coverage/framework/services/http/middleware/index.html +99 -99
- package/coverage/framework/services/http/middleware/test/CheckFlag.js.html +36 -36
- package/coverage/framework/services/http/middleware/test/index.html +19 -19
- 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 +202 -202
- 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 +55 -55
- package/coverage/framework/services/validate/drivers/index.html +1 -1
- package/coverage/framework/services/validate/index.html +21 -21
- package/coverage/index.html +110 -110
- package/models/User.test.js +3 -3
- package/package.json +2 -1
- package/server.d.ts +9 -1
- package/server.js +50 -19
- package/services/http/middleware/I18n.test.js +1 -1
- package/services/http/middleware/RateLimiter.test.js +7 -7
- package/services/validate/ValidateService.test.js +3 -3
- package/tests/setup.js +3 -1
- package/tests/setupVitest.js +3 -5
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">86.84% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>33/38</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">66.66% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>2/3</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">50% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>1/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">86.84% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>33/38</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -101,67 +101,67 @@
|
|
|
101
101
|
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
102
|
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
103
|
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
105
|
-
<span class="cline-any cline-no"> </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
|
-
<span class="cline-any cline-yes">1x</span>
|
|
111
|
-
<span class="cline-any cline-yes">1x</span>
|
|
112
|
-
<span class="cline-any cline-yes">54x</span>
|
|
113
|
-
<span class="cline-any cline-yes">54x</span>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
114
105
|
<span class="cline-any cline-yes">2x</span>
|
|
115
106
|
<span class="cline-any cline-yes">2x</span>
|
|
116
107
|
<span class="cline-any cline-yes">2x</span>
|
|
117
108
|
<span class="cline-any cline-yes">2x</span>
|
|
118
109
|
<span class="cline-any cline-yes">2x</span>
|
|
110
|
+
<span class="cline-any cline-no"> </span>
|
|
111
|
+
<span class="cline-any cline-no"> </span>
|
|
119
112
|
<span class="cline-any cline-yes">2x</span>
|
|
120
113
|
<span class="cline-any cline-yes">2x</span>
|
|
114
|
+
<span class="cline-any cline-yes">30x</span>
|
|
115
|
+
<span class="cline-any cline-yes">30x</span>
|
|
116
|
+
<span class="cline-any cline-yes">30x</span>
|
|
117
|
+
<span class="cline-any cline-yes">30x</span>
|
|
118
|
+
<span class="cline-any cline-yes">30x</span>
|
|
119
|
+
<span class="cline-any cline-yes">30x</span>
|
|
120
|
+
<span class="cline-any cline-yes">30x</span>
|
|
121
|
+
<span class="cline-any cline-yes">30x</span>
|
|
122
|
+
<span class="cline-any cline-yes">30x</span>
|
|
123
|
+
<span class="cline-any cline-yes">30x</span>
|
|
124
|
+
<span class="cline-any cline-no"> </span>
|
|
125
|
+
<span class="cline-any cline-no"> </span>
|
|
126
|
+
<span class="cline-any cline-no"> </span>
|
|
127
|
+
<span class="cline-any cline-yes">30x</span>
|
|
128
|
+
<span class="cline-any cline-yes">30x</span>
|
|
129
|
+
<span class="cline-any cline-yes">30x</span>
|
|
130
|
+
<span class="cline-any cline-yes">30x</span>
|
|
131
|
+
<span class="cline-any cline-yes">30x</span>
|
|
132
|
+
<span class="cline-any cline-yes">30x</span>
|
|
133
|
+
<span class="cline-any cline-yes">30x</span>
|
|
134
|
+
<span class="cline-any cline-yes">30x</span>
|
|
135
|
+
<span class="cline-any cline-yes">30x</span>
|
|
136
|
+
<span class="cline-any cline-yes">30x</span>
|
|
137
|
+
<span class="cline-any cline-yes">30x</span>
|
|
138
|
+
<span class="cline-any cline-yes">30x</span>
|
|
121
139
|
<span class="cline-any cline-yes">2x</span>
|
|
122
140
|
<span class="cline-any cline-yes">2x</span>
|
|
123
|
-
<span class="cline-any cline-yes">1x</span>
|
|
124
|
-
<span class="cline-any cline-yes">1x</span>
|
|
125
|
-
<span class="cline-any cline-yes">1x</span>
|
|
126
|
-
<span class="cline-any cline-yes">1x</span>
|
|
127
|
-
<span class="cline-any cline-yes">1x</span>
|
|
128
|
-
<span class="cline-any cline-yes">1x</span>
|
|
129
|
-
<span class="cline-any cline-yes">1x</span>
|
|
130
|
-
<span class="cline-any cline-yes">1x</span>
|
|
131
|
-
<span class="cline-any cline-yes">1x</span>
|
|
132
|
-
<span class="cline-any cline-yes">1x</span>
|
|
133
|
-
<span class="cline-any cline-yes">1x</span>
|
|
134
|
-
<span class="cline-any cline-yes">1x</span>
|
|
135
|
-
<span class="cline-any cline-yes">1x</span>
|
|
136
|
-
<span class="cline-any cline-yes">1x</span>
|
|
137
|
-
<span class="cline-any cline-yes">1x</span>
|
|
138
141
|
<span class="cline-any cline-yes">2x</span>
|
|
139
|
-
<span class="cline-any cline-
|
|
140
|
-
|
|
141
|
-
<span class="cline-any cline-yes">1x</span>
|
|
142
|
-
<span class="cline-any cline-neutral"> </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 formidable = require('formidable').default;</span></span>
|
|
143
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
142
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const formidable = require('formidable').default;
|
|
143
|
+
|
|
144
144
|
const AbstractMiddleware = require('./AbstractMiddleware');
|
|
145
145
|
|
|
146
146
|
class RequestParser extends AbstractMiddleware {
|
|
147
|
-
static get description() {
|
|
148
|
-
return 'Parses incoming request. Based on Formidable library'
|
|
149
|
-
}
|
|
147
|
+
static <span class="fstat-no" title="function not covered" >get description() {</span>
|
|
148
|
+
<span class="cstat-no" title="statement not covered" > return 'Parses incoming request. Based on Formidable library';</span>
|
|
149
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
150
150
|
|
|
151
151
|
async middleware(req, res, next) {
|
|
152
152
|
const time = Date.now();
|
|
153
153
|
this.logger.verbose(`Parsing request`);
|
|
154
154
|
// TODO update this to https://github.com/node-formidable/formidable/issues/412#issuecomment-1367914268 in node v20 (in 2023?)
|
|
155
155
|
|
|
156
|
-
const
|
|
156
|
+
const form = formidable(this.params); // not in construstor as reuse formidable affects performance
|
|
157
157
|
let fields;
|
|
158
158
|
let files;
|
|
159
159
|
try {
|
|
160
160
|
[fields, files] = await form.parse(req);
|
|
161
|
-
} catch (err) {
|
|
162
|
-
this.logger.error(`Parsing failed ${err}`)
|
|
163
|
-
return next(err)
|
|
164
|
-
}
|
|
161
|
+
} <span class="branch-0 cbranch-no" title="branch not covered" >catch (err) {</span>
|
|
162
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error(`Parsing failed ${err}`);</span>
|
|
163
|
+
<span class="cstat-no" title="statement not covered" > return next(err);</span>
|
|
164
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
165
165
|
this.logger.verbose(
|
|
166
166
|
`Parsing multipart/formdata request DONE ${Date.now() - time}ms`,
|
|
167
167
|
);
|
|
@@ -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-
|
|
187
|
+
at 2023-09-21T12:04:18.148Z
|
|
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">
|
|
26
|
+
<span class="strong">31.03% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>9/29</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>1/1</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>0/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">31.03% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>9/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
|
|
64
|
+
<div class='status-line low'></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,61 +92,61 @@
|
|
|
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-
|
|
96
|
-
<span class="cline-any cline-no"> </span>
|
|
97
|
-
<span class="cline-any cline-yes">15x</span>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
98
96
|
<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>
|
|
101
97
|
<span class="cline-any cline-yes">2x</span>
|
|
102
98
|
<span class="cline-any cline-yes">2x</span>
|
|
103
|
-
<span class="cline-any cline-
|
|
104
|
-
<span class="cline-any cline-
|
|
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>
|
|
99
|
+
<span class="cline-any cline-no"> </span>
|
|
100
|
+
<span class="cline-any cline-no"> </span>
|
|
108
101
|
<span class="cline-any cline-yes">2x</span>
|
|
109
102
|
<span class="cline-any cline-yes">2x</span>
|
|
103
|
+
<span class="cline-any cline-no"> </span>
|
|
104
|
+
<span class="cline-any cline-no"> </span>
|
|
105
|
+
<span class="cline-any cline-no"> </span>
|
|
106
|
+
<span class="cline-any cline-no"> </span>
|
|
107
|
+
<span class="cline-any cline-no"> </span>
|
|
108
|
+
<span class="cline-any cline-no"> </span>
|
|
109
|
+
<span class="cline-any cline-no"> </span>
|
|
110
|
+
<span class="cline-any cline-no"> </span>
|
|
111
|
+
<span class="cline-any cline-no"> </span>
|
|
112
|
+
<span class="cline-any cline-no"> </span>
|
|
113
|
+
<span class="cline-any cline-no"> </span>
|
|
114
|
+
<span class="cline-any cline-no"> </span>
|
|
115
|
+
<span class="cline-any cline-no"> </span>
|
|
116
|
+
<span class="cline-any cline-no"> </span>
|
|
117
|
+
<span class="cline-any cline-no"> </span>
|
|
118
|
+
<span class="cline-any cline-no"> </span>
|
|
119
|
+
<span class="cline-any cline-no"> </span>
|
|
120
|
+
<span class="cline-any cline-no"> </span>
|
|
110
121
|
<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>
|
|
114
122
|
<span class="cline-any cline-yes">2x</span>
|
|
115
123
|
<span class="cline-any cline-yes">2x</span>
|
|
116
|
-
<span class="cline-any cline-
|
|
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"> </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
|
-
class RoleMiddleware extends AbstractMiddleware {
|
|
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
|
-
|
|
131
|
-
async middleware(req, res, next) {
|
|
132
|
-
const { <span class="branch-0 cbranch-no" title="branch not covered" >user } = req.appInfo;</span>
|
|
124
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const AbstractMiddleware = require('./AbstractMiddleware');
|
|
133
125
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
let hasRole = false;
|
|
139
|
-
user.roles.forEach((role) => {
|
|
140
|
-
<span class="branch-0 cbranch-no" title="branch not covered" > if (this.params.roles.</span>includes(role)) {
|
|
141
|
-
hasRole = true;
|
|
142
|
-
}
|
|
143
|
-
});
|
|
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>
|
|
144
130
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
131
|
+
<span class="fstat-no" title="function not covered" > async middleware(req, res, next) {</span>
|
|
132
|
+
<span class="cstat-no" title="statement not covered" > const { user } = req.appInfo;</span>
|
|
133
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
134
|
+
<span class="cstat-no" title="statement not covered" > if (!user) {</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>
|
|
137
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
138
|
+
<span class="cstat-no" title="statement not covered" > let hasRole = false;</span>
|
|
139
|
+
<span class="cstat-no" title="statement not covered" > user.roles.forEach((role) => {</span>
|
|
140
|
+
<span class="cstat-no" title="statement not covered" > if (this.params.roles.includes(role)) {</span>
|
|
141
|
+
<span class="cstat-no" title="statement not covered" > hasRole = true;</span>
|
|
142
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
143
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
144
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
145
|
+
<span class="cstat-no" title="statement not covered" > if (!hasRole) {</span>
|
|
146
|
+
<span class="cstat-no" title="statement not covered" > return res.status(403).json({ message: 'You do not have access' });</span>
|
|
147
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
148
|
+
<span class="cstat-no" title="statement not covered" > return next();</span>
|
|
149
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
module.exports = RoleMiddleware;
|
|
@@ -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-
|
|
160
|
+
at 2023-09-21T12:04:18.148Z
|
|
161
161
|
</div>
|
|
162
162
|
<script src="../../../../prettify.js"></script>
|
|
163
163
|
<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">68.93% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>364/528</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">72.72% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>40/55</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">54.76% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>23/42</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">68.93% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>364/528</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 medium'></div>
|
|
65
65
|
<div class="pad1">
|
|
66
66
|
<table class="coverage-summary">
|
|
67
67
|
<thead>
|
|
@@ -79,108 +79,108 @@
|
|
|
79
79
|
</tr>
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
|
-
<td class="file
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
82
|
+
<td class="file medium" data-value="AbstractMiddleware.js"><a href="AbstractMiddleware.js.html">AbstractMiddleware.js</a></td>
|
|
83
|
+
<td data-value="70.58" class="pic medium">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 70%"></div><div class="cover-empty" style="width: 30%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="51" class="abs
|
|
86
|
+
<td data-value="70.58" class="pct medium">70.58%</td>
|
|
87
|
+
<td data-value="51" class="abs medium">36/51</td>
|
|
88
88
|
<td data-value="100" class="pct high">100%</td>
|
|
89
|
-
<td data-value="
|
|
90
|
-
<td data-value="
|
|
91
|
-
<td data-value="9" class="abs
|
|
92
|
-
<td data-value="
|
|
93
|
-
<td data-value="51" class="abs
|
|
89
|
+
<td data-value="5" class="abs high">5/5</td>
|
|
90
|
+
<td data-value="44.44" class="pct low">44.44%</td>
|
|
91
|
+
<td data-value="9" class="abs low">4/9</td>
|
|
92
|
+
<td data-value="70.58" class="pct medium">70.58%</td>
|
|
93
|
+
<td data-value="51" class="abs medium">36/51</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
97
|
-
<td class="file
|
|
98
|
-
<td data-value="
|
|
99
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
97
|
+
<td class="file medium" data-value="Auth.js"><a href="Auth.js.html">Auth.js</a></td>
|
|
98
|
+
<td data-value="75" class="pic medium">
|
|
99
|
+
<div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
|
|
100
100
|
</td>
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="20" class="abs
|
|
101
|
+
<td data-value="75" class="pct medium">75%</td>
|
|
102
|
+
<td data-value="20" class="abs medium">15/20</td>
|
|
103
103
|
<td data-value="100" class="pct high">100%</td>
|
|
104
|
-
<td data-value="
|
|
104
|
+
<td data-value="4" class="abs high">4/4</td>
|
|
105
|
+
<td data-value="50" class="pct medium">50%</td>
|
|
106
|
+
<td data-value="4" class="abs medium">2/4</td>
|
|
105
107
|
<td data-value="75" class="pct medium">75%</td>
|
|
106
|
-
<td data-value="
|
|
107
|
-
<td data-value="90" class="pct high">90%</td>
|
|
108
|
-
<td data-value="20" class="abs high">18/20</td>
|
|
108
|
+
<td data-value="20" class="abs medium">15/20</td>
|
|
109
109
|
</tr>
|
|
110
110
|
|
|
111
111
|
<tr>
|
|
112
|
-
<td class="file
|
|
113
|
-
<td data-value="
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
112
|
+
<td class="file medium" data-value="GetUserByToken.js"><a href="GetUserByToken.js.html">GetUserByToken.js</a></td>
|
|
113
|
+
<td data-value="76.08" class="pic medium">
|
|
114
|
+
<div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
|
|
115
115
|
</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="46" class="abs
|
|
118
|
-
<td data-value="
|
|
119
|
-
<td data-value="
|
|
116
|
+
<td data-value="76.08" class="pct medium">76.08%</td>
|
|
117
|
+
<td data-value="46" class="abs medium">35/46</td>
|
|
118
|
+
<td data-value="50" class="pct medium">50%</td>
|
|
119
|
+
<td data-value="6" class="abs medium">3/6</td>
|
|
120
120
|
<td data-value="66.66" class="pct medium">66.66%</td>
|
|
121
121
|
<td data-value="3" class="abs medium">2/3</td>
|
|
122
|
-
<td data-value="
|
|
123
|
-
<td data-value="46" class="abs
|
|
122
|
+
<td data-value="76.08" class="pct medium">76.08%</td>
|
|
123
|
+
<td data-value="46" class="abs medium">35/46</td>
|
|
124
124
|
</tr>
|
|
125
125
|
|
|
126
126
|
<tr>
|
|
127
127
|
<td class="file high" data-value="I18n.js"><a href="I18n.js.html">I18n.js</a></td>
|
|
128
|
-
<td data-value="
|
|
129
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
128
|
+
<td data-value="89.91" class="pic high">
|
|
129
|
+
<div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
|
|
130
130
|
</td>
|
|
131
|
-
<td data-value="
|
|
132
|
-
<td data-value="119" class="abs high">
|
|
133
|
-
<td data-value="
|
|
134
|
-
<td data-value="
|
|
135
|
-
<td data-value="
|
|
136
|
-
<td data-value="
|
|
137
|
-
<td data-value="
|
|
138
|
-
<td data-value="119" class="abs high">
|
|
131
|
+
<td data-value="89.91" class="pct high">89.91%</td>
|
|
132
|
+
<td data-value="119" class="abs high">107/119</td>
|
|
133
|
+
<td data-value="68.75" class="pct medium">68.75%</td>
|
|
134
|
+
<td data-value="16" class="abs medium">11/16</td>
|
|
135
|
+
<td data-value="80" class="pct high">80%</td>
|
|
136
|
+
<td data-value="10" class="abs high">8/10</td>
|
|
137
|
+
<td data-value="89.91" class="pct high">89.91%</td>
|
|
138
|
+
<td data-value="119" class="abs high">107/119</td>
|
|
139
139
|
</tr>
|
|
140
140
|
|
|
141
141
|
<tr>
|
|
142
|
-
<td class="file
|
|
143
|
-
<td data-value="
|
|
144
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
142
|
+
<td class="file low" data-value="Pagination.js"><a href="Pagination.js.html">Pagination.js</a></td>
|
|
143
|
+
<td data-value="35.71" class="pic low">
|
|
144
|
+
<div class="chart"><div class="cover-fill" style="width: 35%"></div><div class="cover-empty" style="width: 65%"></div></div>
|
|
145
145
|
</td>
|
|
146
|
-
<td data-value="
|
|
147
|
-
<td data-value="56" class="abs
|
|
148
|
-
<td data-value="
|
|
149
|
-
<td data-value="
|
|
150
|
-
<td data-value="
|
|
151
|
-
<td data-value="3" class="abs
|
|
152
|
-
<td data-value="
|
|
153
|
-
<td data-value="56" class="abs
|
|
146
|
+
<td data-value="35.71" class="pct low">35.71%</td>
|
|
147
|
+
<td data-value="56" class="abs low">20/56</td>
|
|
148
|
+
<td data-value="100" class="pct high">100%</td>
|
|
149
|
+
<td data-value="2" class="abs high">2/2</td>
|
|
150
|
+
<td data-value="33.33" class="pct low">33.33%</td>
|
|
151
|
+
<td data-value="3" class="abs low">1/3</td>
|
|
152
|
+
<td data-value="35.71" class="pct low">35.71%</td>
|
|
153
|
+
<td data-value="56" class="abs low">20/56</td>
|
|
154
154
|
</tr>
|
|
155
155
|
|
|
156
156
|
<tr>
|
|
157
157
|
<td class="file high" data-value="PrepareAppInfo.js"><a href="PrepareAppInfo.js.html">PrepareAppInfo.js</a></td>
|
|
158
|
-
<td data-value="
|
|
159
|
-
<div class="chart"><div class="cover-fill
|
|
158
|
+
<td data-value="88.88" class="pic high">
|
|
159
|
+
<div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
|
|
160
160
|
</td>
|
|
161
|
+
<td data-value="88.88" class="pct high">88.88%</td>
|
|
162
|
+
<td data-value="18" class="abs high">16/18</td>
|
|
161
163
|
<td data-value="100" class="pct high">100%</td>
|
|
162
|
-
<td data-value="
|
|
163
|
-
<td data-value="
|
|
164
|
-
<td data-value="
|
|
165
|
-
<td data-value="
|
|
166
|
-
<td data-value="
|
|
167
|
-
<td data-value="100" class="pct high">100%</td>
|
|
168
|
-
<td data-value="18" class="abs high">18/18</td>
|
|
164
|
+
<td data-value="2" class="abs high">2/2</td>
|
|
165
|
+
<td data-value="50" class="pct medium">50%</td>
|
|
166
|
+
<td data-value="2" class="abs medium">1/2</td>
|
|
167
|
+
<td data-value="88.88" class="pct high">88.88%</td>
|
|
168
|
+
<td data-value="18" class="abs high">16/18</td>
|
|
169
169
|
</tr>
|
|
170
170
|
|
|
171
171
|
<tr>
|
|
172
172
|
<td class="file medium" data-value="RateLimiter.js"><a href="RateLimiter.js.html">RateLimiter.js</a></td>
|
|
173
|
-
<td data-value="
|
|
174
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
173
|
+
<td data-value="56.58" class="pic medium">
|
|
174
|
+
<div class="chart"><div class="cover-fill" style="width: 56%"></div><div class="cover-empty" style="width: 44%"></div></div>
|
|
175
175
|
</td>
|
|
176
|
-
<td data-value="
|
|
177
|
-
<td data-value="129" class="abs medium">
|
|
178
|
-
<td data-value="
|
|
179
|
-
<td data-value="
|
|
180
|
-
<td data-value="
|
|
181
|
-
<td data-value="
|
|
182
|
-
<td data-value="
|
|
183
|
-
<td data-value="129" class="abs medium">
|
|
176
|
+
<td data-value="56.58" class="pct medium">56.58%</td>
|
|
177
|
+
<td data-value="129" class="abs medium">73/129</td>
|
|
178
|
+
<td data-value="53.84" class="pct medium">53.84%</td>
|
|
179
|
+
<td data-value="13" class="abs medium">7/13</td>
|
|
180
|
+
<td data-value="60" class="pct medium">60%</td>
|
|
181
|
+
<td data-value="5" class="abs medium">3/5</td>
|
|
182
|
+
<td data-value="56.58" class="pct medium">56.58%</td>
|
|
183
|
+
<td data-value="129" class="abs medium">73/129</td>
|
|
184
184
|
</tr>
|
|
185
185
|
|
|
186
186
|
<tr>
|
|
@@ -200,32 +200,32 @@
|
|
|
200
200
|
|
|
201
201
|
<tr>
|
|
202
202
|
<td class="file high" data-value="RequestParser.js"><a href="RequestParser.js.html">RequestParser.js</a></td>
|
|
203
|
-
<td data-value="
|
|
204
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
203
|
+
<td data-value="86.84" class="pic high">
|
|
204
|
+
<div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
|
|
205
205
|
</td>
|
|
206
|
-
<td data-value="
|
|
207
|
-
<td data-value="38" class="abs high">
|
|
208
|
-
<td data-value="
|
|
209
|
-
<td data-value="
|
|
210
|
-
<td data-value="
|
|
211
|
-
<td data-value="
|
|
212
|
-
<td data-value="
|
|
213
|
-
<td data-value="38" class="abs high">
|
|
206
|
+
<td data-value="86.84" class="pct high">86.84%</td>
|
|
207
|
+
<td data-value="38" class="abs high">33/38</td>
|
|
208
|
+
<td data-value="66.66" class="pct medium">66.66%</td>
|
|
209
|
+
<td data-value="3" class="abs medium">2/3</td>
|
|
210
|
+
<td data-value="50" class="pct medium">50%</td>
|
|
211
|
+
<td data-value="2" class="abs medium">1/2</td>
|
|
212
|
+
<td data-value="86.84" class="pct high">86.84%</td>
|
|
213
|
+
<td data-value="38" class="abs high">33/38</td>
|
|
214
214
|
</tr>
|
|
215
215
|
|
|
216
216
|
<tr>
|
|
217
|
-
<td class="file
|
|
218
|
-
<td data-value="
|
|
219
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
217
|
+
<td class="file low" data-value="Role.js"><a href="Role.js.html">Role.js</a></td>
|
|
218
|
+
<td data-value="31.03" class="pic low">
|
|
219
|
+
<div class="chart"><div class="cover-fill" style="width: 31%"></div><div class="cover-empty" style="width: 69%"></div></div>
|
|
220
220
|
</td>
|
|
221
|
-
<td data-value="
|
|
222
|
-
<td data-value="29" class="abs
|
|
223
|
-
<td data-value="
|
|
224
|
-
<td data-value="
|
|
225
|
-
<td data-value="
|
|
226
|
-
<td data-value="
|
|
227
|
-
<td data-value="
|
|
228
|
-
<td data-value="29" class="abs
|
|
221
|
+
<td data-value="31.03" class="pct low">31.03%</td>
|
|
222
|
+
<td data-value="29" class="abs low">9/29</td>
|
|
223
|
+
<td data-value="100" class="pct high">100%</td>
|
|
224
|
+
<td data-value="1" class="abs high">1/1</td>
|
|
225
|
+
<td data-value="0" class="pct low">0%</td>
|
|
226
|
+
<td data-value="2" class="abs low">0/2</td>
|
|
227
|
+
<td data-value="31.03" class="pct low">31.03%</td>
|
|
228
|
+
<td data-value="29" class="abs low">9/29</td>
|
|
229
229
|
</tr>
|
|
230
230
|
|
|
231
231
|
</tbody>
|
|
@@ -236,7 +236,7 @@
|
|
|
236
236
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
237
237
|
Code coverage generated by
|
|
238
238
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
239
|
-
at 2023-09-
|
|
239
|
+
at 2023-09-21T12:04:18.148Z
|
|
240
240
|
</div>
|
|
241
241
|
<script src="../../../../prettify.js"></script>
|
|
242
242
|
<script>
|