@budibase/server 0.9.185 → 0.9.189
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/LICENSE +1 -1
- package/builder/assets/{index.b48e3580.js → index.5cc4c0d0.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +141 -121
- package/coverage/coverage-final.json +6 -6
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +11 -8
- package/coverage/lcov-report/api/controllers/row/index.html +13 -13
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/utils.js.html +4 -4
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +19 -4
- package/coverage/lcov-report/api/controllers/view/index.html +17 -17
- package/coverage/lcov-report/api/controllers/view/index.js.html +49 -10
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +35 -8
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +15 -15
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/thread.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/automations/utils.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/client.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +40 -40
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +52 -31
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +13 -13
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +234 -193
- package/dist/api/controllers/row/external.js +2 -1
- package/dist/api/controllers/view/exporters.js +4 -0
- package/dist/api/controllers/view/index.js +14 -2
- package/dist/automations/automationUtils.js +7 -0
- package/dist/middleware/authorized.js +20 -10
- package/dist/package.json +6 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/api/controllers/row/external.js +2 -1
- package/src/api/controllers/view/exporters.js +5 -0
- package/src/api/controllers/view/index.js +15 -2
- package/src/automations/automationUtils.js +9 -0
- package/src/middleware/authorized.js +24 -17
- package/src/middleware/tests/authorized.spec.js +2 -0
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">77.
|
|
26
|
+
<span class="strong">77.51% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>3137/4047</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">58.
|
|
33
|
+
<span class="strong">58.73% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>912/1553</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">74.
|
|
40
|
+
<span class="strong">74.87% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>423/565</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">77.
|
|
47
|
+
<span class="strong">77.81% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>3099/3983</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -104,17 +104,17 @@
|
|
|
104
104
|
|
|
105
105
|
<tr>
|
|
106
106
|
<td class="file medium" data-value="api/controllers/row"><a href="api/controllers/row/index.html">api/controllers/row</a></td>
|
|
107
|
-
<td data-value="52.
|
|
107
|
+
<td data-value="52.68" class="pic medium">
|
|
108
108
|
<div class="chart"><div class="cover-fill" style="width: 52%"></div><div class="cover-empty" style="width: 48%"></div></div>
|
|
109
109
|
</td>
|
|
110
|
-
<td data-value="52.
|
|
111
|
-
<td data-value="
|
|
112
|
-
<td data-value="33.
|
|
113
|
-
<td data-value="
|
|
110
|
+
<td data-value="52.68" class="pct medium">52.68%</td>
|
|
111
|
+
<td data-value="598" class="abs medium">315/598</td>
|
|
112
|
+
<td data-value="33.6" class="pct low">33.6%</td>
|
|
113
|
+
<td data-value="247" class="abs low">83/247</td>
|
|
114
114
|
<td data-value="43.18" class="pct low">43.18%</td>
|
|
115
115
|
<td data-value="88" class="abs low">38/88</td>
|
|
116
|
-
<td data-value="52.
|
|
117
|
-
<td data-value="
|
|
116
|
+
<td data-value="52.73" class="pct medium">52.73%</td>
|
|
117
|
+
<td data-value="586" class="abs medium">309/586</td>
|
|
118
118
|
</tr>
|
|
119
119
|
|
|
120
120
|
<tr>
|
|
@@ -134,17 +134,17 @@
|
|
|
134
134
|
|
|
135
135
|
<tr>
|
|
136
136
|
<td class="file medium" data-value="api/controllers/view"><a href="api/controllers/view/index.html">api/controllers/view</a></td>
|
|
137
|
-
<td data-value="
|
|
138
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
137
|
+
<td data-value="74.32" class="pic medium">
|
|
138
|
+
<div class="chart"><div class="cover-fill" style="width: 74%"></div><div class="cover-empty" style="width: 26%"></div></div>
|
|
139
139
|
</td>
|
|
140
|
-
<td data-value="
|
|
141
|
-
<td data-value="
|
|
142
|
-
<td data-value="
|
|
143
|
-
<td data-value="
|
|
140
|
+
<td data-value="74.32" class="pct medium">74.32%</td>
|
|
141
|
+
<td data-value="183" class="abs medium">136/183</td>
|
|
142
|
+
<td data-value="63.86" class="pct medium">63.86%</td>
|
|
143
|
+
<td data-value="83" class="abs medium">53/83</td>
|
|
144
144
|
<td data-value="80.95" class="pct high">80.95%</td>
|
|
145
145
|
<td data-value="21" class="abs high">17/21</td>
|
|
146
|
-
<td data-value="
|
|
147
|
-
<td data-value="
|
|
146
|
+
<td data-value="74.59" class="pct medium">74.59%</td>
|
|
147
|
+
<td data-value="181" class="abs medium">135/181</td>
|
|
148
148
|
</tr>
|
|
149
149
|
|
|
150
150
|
<tr>
|
|
@@ -164,17 +164,17 @@
|
|
|
164
164
|
|
|
165
165
|
<tr>
|
|
166
166
|
<td class="file high" data-value="automations"><a href="automations/index.html">automations</a></td>
|
|
167
|
-
<td data-value="86.
|
|
167
|
+
<td data-value="86.05" class="pic high">
|
|
168
168
|
<div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
|
|
169
169
|
</td>
|
|
170
|
-
<td data-value="86.
|
|
171
|
-
<td data-value="
|
|
172
|
-
<td data-value="
|
|
173
|
-
<td data-value="
|
|
170
|
+
<td data-value="86.05" class="pct high">86.05%</td>
|
|
171
|
+
<td data-value="258" class="abs high">222/258</td>
|
|
172
|
+
<td data-value="76.99" class="pct medium">76.99%</td>
|
|
173
|
+
<td data-value="113" class="abs medium">87/113</td>
|
|
174
174
|
<td data-value="93.1" class="pct high">93.1%</td>
|
|
175
175
|
<td data-value="29" class="abs high">27/29</td>
|
|
176
|
-
<td data-value="86.
|
|
177
|
-
<td data-value="
|
|
176
|
+
<td data-value="86.05" class="pct high">86.05%</td>
|
|
177
|
+
<td data-value="258" class="abs high">222/258</td>
|
|
178
178
|
</tr>
|
|
179
179
|
|
|
180
180
|
<tr>
|
|
@@ -284,17 +284,17 @@
|
|
|
284
284
|
|
|
285
285
|
<tr>
|
|
286
286
|
<td class="file high" data-value="middleware"><a href="middleware/index.html">middleware</a></td>
|
|
287
|
-
<td data-value="
|
|
288
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
287
|
+
<td data-value="90.13" class="pic high">
|
|
288
|
+
<div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
|
|
289
289
|
</td>
|
|
290
|
-
<td data-value="
|
|
291
|
-
<td data-value="
|
|
292
|
-
<td data-value="79.
|
|
293
|
-
<td data-value="
|
|
290
|
+
<td data-value="90.13" class="pct high">90.13%</td>
|
|
291
|
+
<td data-value="223" class="abs high">201/223</td>
|
|
292
|
+
<td data-value="79.33" class="pct medium">79.33%</td>
|
|
293
|
+
<td data-value="150" class="abs medium">119/150</td>
|
|
294
294
|
<td data-value="100" class="pct high">100%</td>
|
|
295
|
-
<td data-value="
|
|
296
|
-
<td data-value="
|
|
297
|
-
<td data-value="
|
|
295
|
+
<td data-value="29" class="abs high">29/29</td>
|
|
296
|
+
<td data-value="90.05" class="pct high">90.05%</td>
|
|
297
|
+
<td data-value="221" class="abs high">199/221</td>
|
|
298
298
|
</tr>
|
|
299
299
|
|
|
300
300
|
<tr>
|
|
@@ -365,7 +365,7 @@
|
|
|
365
365
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
366
366
|
Code coverage generated by
|
|
367
367
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
368
|
-
at
|
|
368
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
369
369
|
</div>
|
|
370
370
|
</div>
|
|
371
371
|
<script src="prettify.js"></script>
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
65
65
|
Code coverage generated by
|
|
66
66
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
67
|
-
at
|
|
67
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
68
68
|
</div>
|
|
69
69
|
</div>
|
|
70
70
|
<script src="../../prettify.js"></script>
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
96
96
|
Code coverage generated by
|
|
97
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
98
|
-
at
|
|
98
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
<script src="../../prettify.js"></script>
|
|
@@ -121,7 +121,7 @@ exports.middleware =
|
|
|
121
121
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
122
122
|
Code coverage generated by
|
|
123
123
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
124
|
-
at
|
|
124
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
125
125
|
</div>
|
|
126
126
|
</div>
|
|
127
127
|
<script src="../prettify.js"></script>
|
|
@@ -25,28 +25,28 @@
|
|
|
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'>34/34</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">88.46% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>23/26</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>4/4</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
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'>34/34</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -119,10 +119,20 @@
|
|
|
119
119
|
<a name='L60'></a><a href='#L60'>60</a>
|
|
120
120
|
<a name='L61'></a><a href='#L61'>61</a>
|
|
121
121
|
<a name='L62'></a><a href='#L62'>62</a>
|
|
122
|
-
<a name='L63'></a><a href='#L63'>63</a
|
|
122
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
123
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
124
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
125
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
126
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
127
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
128
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
129
|
+
<a name='L70'></a><a href='#L70'>70</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
123
130
|
<span class="cline-any cline-neutral"> </span>
|
|
124
131
|
<span class="cline-any cline-neutral"> </span>
|
|
125
132
|
<span class="cline-any cline-neutral"> </span>
|
|
133
|
+
<span class="cline-any cline-yes">24x</span>
|
|
134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
126
136
|
<span class="cline-any cline-neutral"> </span>
|
|
127
137
|
<span class="cline-any cline-yes">24x</span>
|
|
128
138
|
<span class="cline-any cline-yes">24x</span>
|
|
@@ -149,12 +159,6 @@
|
|
|
149
159
|
<span class="cline-any cline-yes">148x</span>
|
|
150
160
|
<span class="cline-any cline-neutral"> </span>
|
|
151
161
|
<span class="cline-any cline-yes">148x</span>
|
|
152
|
-
<span class="cline-any cline-yes">148x</span>
|
|
153
|
-
<span class="cline-any cline-neutral"> </span>
|
|
154
|
-
<span class="cline-any cline-neutral"> </span>
|
|
155
|
-
<span class="cline-any cline-neutral"> </span>
|
|
156
|
-
<span class="cline-any cline-neutral"> </span>
|
|
157
|
-
<span class="cline-any cline-neutral"> </span>
|
|
158
162
|
<span class="cline-any cline-neutral"> </span>
|
|
159
163
|
<span class="cline-any cline-yes">148x</span>
|
|
160
164
|
<span class="cline-any cline-yes">148x</span>
|
|
@@ -164,27 +168,40 @@
|
|
|
164
168
|
<span class="cline-any cline-yes">29x</span>
|
|
165
169
|
<span class="cline-any cline-neutral"> </span>
|
|
166
170
|
<span class="cline-any cline-neutral"> </span>
|
|
171
|
+
<span class="cline-any cline-neutral"> </span>
|
|
172
|
+
<span class="cline-any cline-yes">7x</span>
|
|
167
173
|
<span class="cline-any cline-yes">7x</span>
|
|
168
174
|
<span class="cline-any cline-neutral"> </span>
|
|
169
175
|
<span class="cline-any cline-neutral"> </span>
|
|
176
|
+
<span class="cline-any cline-yes">7x</span>
|
|
177
|
+
<span class="cline-any cline-yes">7x</span>
|
|
178
|
+
<span class="cline-any cline-yes">7x</span>
|
|
179
|
+
<span class="cline-any cline-yes">3x</span>
|
|
170
180
|
<span class="cline-any cline-neutral"> </span>
|
|
171
|
-
<span class="cline-any cline-yes">1x</span>
|
|
172
181
|
<span class="cline-any cline-neutral"> </span>
|
|
182
|
+
<span class="cline-any cline-yes">7x</span>
|
|
183
|
+
<span class="cline-any cline-yes">1x</span>
|
|
184
|
+
<span class="cline-any cline-yes">1x</span>
|
|
173
185
|
<span class="cline-any cline-neutral"> </span>
|
|
186
|
+
<span class="cline-any cline-yes">1x</span>
|
|
174
187
|
<span class="cline-any cline-yes">6x</span>
|
|
175
188
|
<span class="cline-any cline-yes">6x</span>
|
|
176
189
|
<span class="cline-any cline-neutral"> </span>
|
|
177
190
|
<span class="cline-any cline-neutral"> </span>
|
|
191
|
+
<span class="cline-any cline-neutral"> </span>
|
|
178
192
|
<span class="cline-any cline-yes">4x</span>
|
|
179
193
|
<span class="cline-any cline-yes">4x</span>
|
|
180
194
|
<span class="cline-any cline-neutral"> </span>
|
|
181
195
|
<span class="cline-any cline-neutral"> </span>
|
|
182
196
|
<span class="cline-any cline-yes">4x</span>
|
|
183
197
|
<span class="cline-any cline-neutral"> </span>
|
|
184
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
198
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
199
|
+
getUserRoleHierarchy,
|
|
200
|
+
getRequiredResourceRole,
|
|
201
|
+
BUILTIN_ROLE_IDS,
|
|
202
|
+
} = require("@budibase/auth/roles")
|
|
185
203
|
const {
|
|
186
204
|
PermissionTypes,
|
|
187
|
-
doesHaveResourcePermission,
|
|
188
205
|
doesHaveBasePermission,
|
|
189
206
|
} = require("@budibase/auth/permissions")
|
|
190
207
|
const builderMiddleware = require("./builder")
|
|
@@ -211,13 +228,7 @@ module.exports =
|
|
|
211
228
|
await builderMiddleware(ctx, permType)
|
|
212
229
|
|
|
213
230
|
const isAuthed = ctx.isAuthenticated
|
|
214
|
-
const { basePermissions, permissions } = await getUserPermissions(
|
|
215
|
-
ctx.appId,
|
|
216
|
-
ctx.roleId
|
|
217
|
-
)
|
|
218
|
-
|
|
219
231
|
// builders for now have permission to do anything
|
|
220
|
-
// TODO: in future should consider separating permissions with an require("@budibase/auth").isClient check
|
|
221
232
|
let isBuilder = ctx.user && ctx.user.builder && ctx.user.builder.global
|
|
222
233
|
const isBuilderApi = permType === PermissionTypes.BUILDER
|
|
223
234
|
if (isBuilder) {
|
|
@@ -226,20 +237,30 @@ module.exports =
|
|
|
226
237
|
return ctx.throw(403, "Not Authorized")
|
|
227
238
|
}
|
|
228
239
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
240
|
+
// need to check this first, in-case public access, don't check authed until last
|
|
241
|
+
const roleId = ctx.roleId || BUILTIN_ROLE_IDS.PUBLIC
|
|
242
|
+
const hierarchy = await getUserRoleHierarchy(ctx.appId, roleId, {
|
|
243
|
+
idOnly: false,
|
|
244
|
+
})
|
|
245
|
+
const permError = "User does not have permission"
|
|
246
|
+
let possibleRoleIds = []
|
|
247
|
+
if (hasResource(ctx)) {
|
|
248
|
+
possibleRoleIds = await getRequiredResourceRole(ctx.appId, permLevel, ctx)
|
|
249
|
+
}
|
|
250
|
+
// check if we found a role, if not fallback to base permissions
|
|
251
|
+
if (possibleRoleIds.length > 0) {
|
|
252
|
+
const found = hierarchy.find(
|
|
253
|
+
role => possibleRoleIds.indexOf(role._id) !== -1
|
|
254
|
+
)
|
|
255
|
+
return found ? next() : <span class="branch-1 cbranch-no" title="branch not covered" >ctx.throw(403, permError)</span>
|
|
256
|
+
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (!doesHaveBasePermission(permType, permLevel, hierarchy)) {
|
|
257
|
+
ctx.throw(403, permError)
|
|
234
258
|
}
|
|
235
259
|
|
|
260
|
+
// if they are not authed, then anything using the authorized middleware will fail
|
|
236
261
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (!isAuthed) {
|
|
237
262
|
ctx.throw(403, "Session not authenticated")
|
|
238
263
|
}
|
|
239
|
-
|
|
240
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (!doesHaveBasePermission(permType, permLevel, basePermissions)) {
|
|
241
|
-
ctx.throw(403, "User does not have permission")
|
|
242
|
-
}
|
|
243
264
|
|
|
244
265
|
return next()
|
|
245
266
|
}
|
|
@@ -250,7 +271,7 @@ module.exports =
|
|
|
250
271
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
251
272
|
Code coverage generated by
|
|
252
273
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
253
|
-
at
|
|
274
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
254
275
|
</div>
|
|
255
276
|
</div>
|
|
256
277
|
<script src="../prettify.js"></script>
|
|
@@ -289,7 +289,7 @@ module.exports = async (ctx, permType) => {
|
|
|
289
289
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
290
290
|
Code coverage generated by
|
|
291
291
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
292
|
-
at
|
|
292
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
293
293
|
</div>
|
|
294
294
|
</div>
|
|
295
295
|
<script src="../prettify.js"></script>
|
|
@@ -385,7 +385,7 @@ module.exports = async (ctx, next) => {
|
|
|
385
385
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
386
386
|
Code coverage generated by
|
|
387
387
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
388
|
-
at
|
|
388
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
389
389
|
</div>
|
|
390
390
|
</div>
|
|
391
391
|
<script src="../prettify.js"></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">90.13% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>201/223</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">79.
|
|
33
|
+
<span class="strong">79.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>119/150</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>29/29</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">90.05% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>199/221</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -93,13 +93,13 @@
|
|
|
93
93
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
94
94
|
</td>
|
|
95
95
|
<td data-value="100" class="pct high">100%</td>
|
|
96
|
-
<td data-value="
|
|
97
|
-
<td data-value="
|
|
98
|
-
<td data-value="
|
|
96
|
+
<td data-value="34" class="abs high">34/34</td>
|
|
97
|
+
<td data-value="88.46" class="pct high">88.46%</td>
|
|
98
|
+
<td data-value="26" class="abs high">23/26</td>
|
|
99
99
|
<td data-value="100" class="pct high">100%</td>
|
|
100
|
-
<td data-value="
|
|
100
|
+
<td data-value="4" class="abs high">4/4</td>
|
|
101
101
|
<td data-value="100" class="pct high">100%</td>
|
|
102
|
-
<td data-value="
|
|
102
|
+
<td data-value="34" class="abs high">34/34</td>
|
|
103
103
|
</tr>
|
|
104
104
|
|
|
105
105
|
<tr>
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
216
216
|
Code coverage generated by
|
|
217
217
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
218
|
-
at
|
|
218
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
219
219
|
</div>
|
|
220
220
|
</div>
|
|
221
221
|
<script src="../prettify.js"></script>
|
|
@@ -148,7 +148,7 @@ module.exports.params = schema => {
|
|
|
148
148
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
149
149
|
Code coverage generated by
|
|
150
150
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
151
|
-
at
|
|
151
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
152
152
|
</div>
|
|
153
153
|
</div>
|
|
154
154
|
<script src="../prettify.js"></script>
|
|
@@ -247,7 +247,7 @@ module.exports.bodySubResource = (main, sub) => {
|
|
|
247
247
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
248
248
|
Code coverage generated by
|
|
249
249
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
250
|
-
at
|
|
250
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
251
251
|
</div>
|
|
252
252
|
</div>
|
|
253
253
|
<script src="../prettify.js"></script>
|
|
@@ -94,7 +94,7 @@ module.exports = async (ctx, next) => {
|
|
|
94
94
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
95
|
Code coverage generated by
|
|
96
96
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
97
|
-
at
|
|
97
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
98
98
|
</div>
|
|
99
99
|
</div>
|
|
100
100
|
<script src="../prettify.js"></script>
|
|
@@ -328,7 +328,7 @@ module.exports = async (ctx, next) => {
|
|
|
328
328
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
329
329
|
Code coverage generated by
|
|
330
330
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
331
|
-
at
|
|
331
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
332
332
|
</div>
|
|
333
333
|
</div>
|
|
334
334
|
<script src="../prettify.js"></script>
|
|
@@ -85,7 +85,7 @@ exports.isWebhookEndpoint = ctx => {
|
|
|
85
85
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
86
86
|
Code coverage generated by
|
|
87
87
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
88
|
-
at
|
|
88
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
89
89
|
</div>
|
|
90
90
|
</div>
|
|
91
91
|
<script src="../prettify.js"></script>
|
|
@@ -109,7 +109,7 @@ const SALT_ROUNDS = <span class="cstat-no" title="statement not covered" >env.SA
|
|
|
109
109
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
110
110
|
Code coverage generated by
|
|
111
111
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
112
|
-
at
|
|
112
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
113
113
|
</div>
|
|
114
114
|
</div>
|
|
115
115
|
<script src="../prettify.js"></script>
|
|
@@ -94,7 +94,7 @@ module.exports.budibaseTempDir = budibaseTempDir
|
|
|
94
94
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
95
|
Code coverage generated by
|
|
96
96
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
97
|
-
at
|
|
97
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
98
98
|
</div>
|
|
99
99
|
</div>
|
|
100
100
|
<script src="../prettify.js"></script>
|
|
@@ -130,7 +130,7 @@ exports.resolve = <span class="fstat-no" title="function not covered" >fu</span>
|
|
|
130
130
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
131
131
|
Code coverage generated by
|
|
132
132
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
133
|
-
at
|
|
133
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../prettify.js"></script>
|
|
@@ -358,7 +358,7 @@ module.exports = {
|
|
|
358
358
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
359
359
|
Code coverage generated by
|
|
360
360
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
361
|
-
at
|
|
361
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
362
362
|
</div>
|
|
363
363
|
</div>
|
|
364
364
|
<script src="../prettify.js"></script>
|
|
@@ -352,7 +352,7 @@ exports.getGlobalUsersFromMetadata = async (appId, users) => {
|
|
|
352
352
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
353
353
|
Code coverage generated by
|
|
354
354
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
355
|
-
at
|
|
355
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
356
356
|
</div>
|
|
357
357
|
</div>
|
|
358
358
|
<script src="../prettify.js"></script>
|
|
@@ -245,7 +245,7 @@
|
|
|
245
245
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
246
246
|
Code coverage generated by
|
|
247
247
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
248
|
-
at
|
|
248
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
249
249
|
</div>
|
|
250
250
|
</div>
|
|
251
251
|
<script src="../prettify.js"></script>
|
|
@@ -487,7 +487,7 @@ exports.stringToReadStream = <span class="fstat-no" title="function not covered"
|
|
|
487
487
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
488
488
|
Code coverage generated by
|
|
489
489
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
490
|
-
at
|
|
490
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
491
491
|
</div>
|
|
492
492
|
</div>
|
|
493
493
|
<script src="../prettify.js"></script>
|
|
@@ -346,7 +346,7 @@ module.exports = InMemoryQueue
|
|
|
346
346
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
347
347
|
Code coverage generated by
|
|
348
348
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
349
|
-
at
|
|
349
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
350
350
|
</div>
|
|
351
351
|
</div>
|
|
352
352
|
<script src="../../prettify.js"></script>
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
96
96
|
Code coverage generated by
|
|
97
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
98
|
-
at
|
|
98
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
<script src="../../prettify.js"></script>
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
96
96
|
Code coverage generated by
|
|
97
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
98
|
-
at
|
|
98
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
<script src="../../prettify.js"></script>
|
|
@@ -139,7 +139,7 @@ exports.createRoutingView = createRoutingView
|
|
|
139
139
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
140
140
|
Code coverage generated by
|
|
141
141
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
142
|
-
at
|
|
142
|
+
at Mon Nov 22 2021 18:12:17 GMT+0000 (Coordinated Universal Time)
|
|
143
143
|
</div>
|
|
144
144
|
</div>
|
|
145
145
|
<script src="../../prettify.js"></script>
|