@budibase/server 1.0.167 → 1.0.168
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/builder/assets/{index.9ee2182c.js → index.deb4ce04.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +24 -11
- package/coverage/coverage-final.json +1 -1
- 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/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/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/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.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 +1 -1
- package/coverage/lcov-report/api/controllers/row/index.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/staticFormula.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/bulkFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.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/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 +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- 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/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/index.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/migrations.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/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.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/utils/index.html +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.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 +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +1 -1
- 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/delay.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/loop.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/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/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/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 +18 -18
- 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/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/publicApi.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/utils.js.html +1 -1
- package/coverage/lcov-report/threads/automation.js.html +1 -1
- package/coverage/lcov-report/threads/index.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +1 -1
- package/coverage/lcov-report/threads/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 +19 -19
- 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/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +73 -10
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +36 -13
- package/dist/api/controllers/application.js +7 -0
- package/dist/api/controllers/public/users.js +3 -23
- package/dist/environment.js +5 -1
- package/dist/package.json +5 -5
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/users.js +21 -0
- package/package.json +6 -6
- package/scripts/load/users.js +97 -0
- package/src/api/controllers/application.ts +9 -0
- package/src/api/controllers/public/users.ts +3 -24
- package/src/environment.js +6 -1
- package/src/utilities/users.js +21 -0
|
@@ -136,7 +136,7 @@ exports.resolve = <span class="fstat-no" title="function not covered" >fu</span>
|
|
|
136
136
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
137
|
Code coverage generated by
|
|
138
138
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
139
|
-
at
|
|
139
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
<script src="../prettify.js"></script>
|
|
142
142
|
<script>
|
|
@@ -502,7 +502,7 @@ module.exports = {
|
|
|
502
502
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
503
503
|
Code coverage generated by
|
|
504
504
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
505
|
-
at
|
|
505
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
506
506
|
</div>
|
|
507
507
|
<script src="../prettify.js"></script>
|
|
508
508
|
<script>
|
|
@@ -391,7 +391,7 @@ exports.getGlobalUsersFromMetadata = async users => {
|
|
|
391
391
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
392
392
|
Code coverage generated by
|
|
393
393
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
394
|
-
at
|
|
394
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
395
395
|
</div>
|
|
396
396
|
<script src="../prettify.js"></script>
|
|
397
397
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">71.
|
|
26
|
+
<span class="strong">71.42% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>255/357</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">58.62% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>85/145</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">66.17% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>45/68</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">71.
|
|
47
|
+
<span class="strong">71.14% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>249/350</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -214,18 +214,18 @@
|
|
|
214
214
|
</tr>
|
|
215
215
|
|
|
216
216
|
<tr>
|
|
217
|
-
<td class="file
|
|
218
|
-
<td data-value="
|
|
219
|
-
<div class="chart"><div class="cover-fill
|
|
217
|
+
<td class="file medium" data-value="users.js"><a href="users.js.html">users.js</a></td>
|
|
218
|
+
<td data-value="79.16" class="pic medium">
|
|
219
|
+
<div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
|
|
220
220
|
</td>
|
|
221
|
+
<td data-value="79.16" class="pct medium">79.16%</td>
|
|
222
|
+
<td data-value="24" class="abs medium">19/24</td>
|
|
223
|
+
<td data-value="75" class="pct medium">75%</td>
|
|
224
|
+
<td data-value="8" class="abs medium">6/8</td>
|
|
221
225
|
<td data-value="100" class="pct high">100%</td>
|
|
222
|
-
<td data-value="
|
|
223
|
-
<td data-value="
|
|
224
|
-
<td data-value="
|
|
225
|
-
<td data-value="100" class="pct high">100%</td>
|
|
226
|
-
<td data-value="1" class="abs high">1/1</td>
|
|
227
|
-
<td data-value="100" class="pct high">100%</td>
|
|
228
|
-
<td data-value="11" class="abs high">11/11</td>
|
|
226
|
+
<td data-value="2" class="abs high">2/2</td>
|
|
227
|
+
<td data-value="79.16" class="pct medium">79.16%</td>
|
|
228
|
+
<td data-value="24" class="abs medium">19/24</td>
|
|
229
229
|
</tr>
|
|
230
230
|
|
|
231
231
|
<tr>
|
|
@@ -251,7 +251,7 @@
|
|
|
251
251
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
252
252
|
Code coverage generated by
|
|
253
253
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
254
|
-
at
|
|
254
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
255
255
|
</div>
|
|
256
256
|
<script src="../prettify.js"></script>
|
|
257
257
|
<script>
|
|
@@ -559,7 +559,7 @@ exports.convertBookmark = bookmark => {
|
|
|
559
559
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
560
560
|
Code coverage generated by
|
|
561
561
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
562
|
-
at
|
|
562
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
563
563
|
</div>
|
|
564
564
|
<script src="../prettify.js"></script>
|
|
565
565
|
<script>
|
|
@@ -391,7 +391,7 @@ module.exports = InMemoryQueue
|
|
|
391
391
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
392
392
|
Code coverage generated by
|
|
393
393
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
394
|
-
at
|
|
394
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
395
395
|
</div>
|
|
396
396
|
<script src="../../prettify.js"></script>
|
|
397
397
|
<script>
|
|
@@ -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
|
|
104
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -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
|
|
104
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -145,7 +145,7 @@ exports.createRoutingView = createRoutingView
|
|
|
145
145
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
146
146
|
Code coverage generated by
|
|
147
147
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
148
|
-
at
|
|
148
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
149
149
|
</div>
|
|
150
150
|
<script src="../../prettify.js"></script>
|
|
151
151
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at
|
|
119
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -1096,7 +1096,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =>
|
|
|
1096
1096
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1097
1097
|
Code coverage generated by
|
|
1098
1098
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1099
|
-
at
|
|
1099
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
1100
1100
|
</div>
|
|
1101
1101
|
<script src="../../prettify.js"></script>
|
|
1102
1102
|
<script>
|
|
@@ -271,7 +271,7 @@ exports.processFormulas = (
|
|
|
271
271
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
272
272
|
Code coverage generated by
|
|
273
273
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
274
|
-
at
|
|
274
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
275
275
|
</div>
|
|
276
276
|
<script src="../../prettify.js"></script>
|
|
277
277
|
<script>
|
|
@@ -142,7 +142,7 @@ module.exports = ScriptRunner
|
|
|
142
142
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
143
|
Code coverage generated by
|
|
144
144
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at
|
|
145
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
146
146
|
</div>
|
|
147
147
|
<script src="../prettify.js"></script>
|
|
148
148
|
<script>
|
|
@@ -280,7 +280,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
|
|
|
280
280
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
281
281
|
Code coverage generated by
|
|
282
282
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
283
|
-
at
|
|
283
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
284
284
|
</div>
|
|
285
285
|
<script src="../prettify.js"></script>
|
|
286
286
|
<script>
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
92
92
|
Code coverage generated by
|
|
93
93
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
94
|
-
at
|
|
94
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
95
95
|
</div>
|
|
96
96
|
<script src="../prettify.js"></script>
|
|
97
97
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at
|
|
119
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -307,7 +307,7 @@ exports.getUniqueRows = async appIds => {
|
|
|
307
307
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
308
308
|
Code coverage generated by
|
|
309
309
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
310
|
-
at
|
|
310
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
311
311
|
</div>
|
|
312
312
|
<script src="../../prettify.js"></script>
|
|
313
313
|
<script>
|
|
@@ -124,7 +124,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
|
|
|
124
124
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
125
125
|
Code coverage generated by
|
|
126
126
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
127
|
-
at
|
|
127
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
128
128
|
</div>
|
|
129
129
|
<script src="../../prettify.js"></script>
|
|
130
130
|
<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">79.16% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>19/24</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">75% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>6/8</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'>2/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">79.16% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>19/24</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
|
<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>
|
|
@@ -87,7 +87,29 @@
|
|
|
87
87
|
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
88
|
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
89
|
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
|
|
112
|
+
<span class="cline-any cline-yes">41x</span>
|
|
91
113
|
<span class="cline-any cline-yes">41x</span>
|
|
92
114
|
<span class="cline-any cline-yes">41x</span>
|
|
93
115
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -111,9 +133,30 @@
|
|
|
111
133
|
<span class="cline-any cline-neutral"> </span>
|
|
112
134
|
<span class="cline-any cline-neutral"> </span>
|
|
113
135
|
<span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<span class="cline-any cline-neutral"> </span>
|
|
137
|
+
<span class="cline-any cline-yes">41x</span>
|
|
138
|
+
<span class="cline-any cline-yes">2x</span>
|
|
139
|
+
<span class="cline-any cline-no"> </span>
|
|
140
|
+
<span class="cline-any cline-neutral"> </span>
|
|
141
|
+
<span class="cline-any cline-yes">2x</span>
|
|
142
|
+
<span class="cline-any cline-yes">1x</span>
|
|
143
|
+
<span class="cline-any cline-neutral"> </span>
|
|
144
|
+
<span class="cline-any cline-yes">2x</span>
|
|
145
|
+
<span class="cline-any cline-yes">2x</span>
|
|
146
|
+
<span class="cline-any cline-neutral"> </span>
|
|
147
|
+
<span class="cline-any cline-no"> </span>
|
|
148
|
+
<span class="cline-any cline-no"> </span>
|
|
149
|
+
<span class="cline-any cline-neutral"> </span>
|
|
150
|
+
<span class="cline-any cline-no"> </span>
|
|
151
|
+
<span class="cline-any cline-neutral"> </span>
|
|
152
|
+
<span class="cline-any cline-no"> </span>
|
|
153
|
+
<span class="cline-any cline-neutral"> </span>
|
|
154
|
+
<span class="cline-any cline-yes">2x</span>
|
|
155
|
+
<span class="cline-any cline-neutral"> </span>
|
|
114
156
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { InternalTables } = require("../db/utils")
|
|
115
157
|
const { getGlobalUser } = require("../utilities/global")
|
|
116
158
|
const { getAppDB } = require("@budibase/backend-core/context")
|
|
159
|
+
const { getProdAppID } = require("@budibase/backend-core/db")
|
|
117
160
|
|
|
118
161
|
exports.getFullUser = async (ctx, userId) => {
|
|
119
162
|
const global = await getGlobalUser(userId)
|
|
@@ -135,6 +178,26 @@ exports.getFullUser = async (ctx, userId) => {
|
|
|
135
178
|
_id: userId,
|
|
136
179
|
}
|
|
137
180
|
}
|
|
181
|
+
|
|
182
|
+
exports.publicApiUserFix = ctx => {
|
|
183
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!ctx.request.body) {
|
|
184
|
+
<span class="cstat-no" title="statement not covered" > return ctx</span>
|
|
185
|
+
}
|
|
186
|
+
if (!ctx.request.body._id && ctx.params.userId) {
|
|
187
|
+
ctx.request.body._id = ctx.params.userId
|
|
188
|
+
}
|
|
189
|
+
if (!ctx.request.body.roles) {
|
|
190
|
+
ctx.request.body.roles = {}
|
|
191
|
+
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
192
|
+
const newRoles = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
193
|
+
<span class="cstat-no" title="statement not covered" > for (let [appId, role] of Object.entries(ctx.request.body.roles)) {</span>
|
|
194
|
+
// @ts-ignore
|
|
195
|
+
<span class="cstat-no" title="statement not covered" > newRoles[getProdAppID(appId)] = role</span>
|
|
196
|
+
}
|
|
197
|
+
<span class="cstat-no" title="statement not covered" > ctx.request.body.roles = newRoles</span>
|
|
198
|
+
}
|
|
199
|
+
return ctx
|
|
200
|
+
}
|
|
138
201
|
</pre></td></tr></table></pre>
|
|
139
202
|
|
|
140
203
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -142,7 +205,7 @@ exports.getFullUser = async (ctx, userId) => {
|
|
|
142
205
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
206
|
Code coverage generated by
|
|
144
207
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at
|
|
208
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
146
209
|
</div>
|
|
147
210
|
<script src="../prettify.js"></script>
|
|
148
211
|
<script>
|
|
@@ -487,7 +487,7 @@ exports.readGlobalUser = <span class="fstat-no" title="function not covered" >as
|
|
|
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" rel="noopener noreferrer">istanbul</a>
|
|
490
|
-
at
|
|
490
|
+
at Sun May 22 2022 18:30:05 GMT+0000 (Coordinated Universal Time)
|
|
491
491
|
</div>
|
|
492
492
|
<script src="../prettify.js"></script>
|
|
493
493
|
<script>
|
package/coverage/lcov.info
CHANGED
|
@@ -7623,25 +7623,48 @@ BRH:0
|
|
|
7623
7623
|
end_of_record
|
|
7624
7624
|
TN:
|
|
7625
7625
|
SF:src/utilities/users.js
|
|
7626
|
-
FN:
|
|
7627
|
-
|
|
7628
|
-
|
|
7626
|
+
FN:6,(anonymous_0)
|
|
7627
|
+
FN:27,(anonymous_1)
|
|
7628
|
+
FNF:2
|
|
7629
|
+
FNH:2
|
|
7629
7630
|
FNDA:2,(anonymous_0)
|
|
7631
|
+
FNDA:2,(anonymous_1)
|
|
7630
7632
|
DA:1,41
|
|
7631
7633
|
DA:2,41
|
|
7632
7634
|
DA:3,41
|
|
7633
|
-
DA:
|
|
7634
|
-
DA:6,
|
|
7635
|
-
DA:
|
|
7636
|
-
DA:
|
|
7635
|
+
DA:4,41
|
|
7636
|
+
DA:6,41
|
|
7637
|
+
DA:7,2
|
|
7638
|
+
DA:9,2
|
|
7637
7639
|
DA:11,2
|
|
7638
|
-
DA:
|
|
7640
|
+
DA:12,2
|
|
7639
7641
|
DA:15,2
|
|
7640
|
-
DA:
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7642
|
+
DA:16,2
|
|
7643
|
+
DA:18,2
|
|
7644
|
+
DA:27,41
|
|
7645
|
+
DA:28,2
|
|
7646
|
+
DA:29,0
|
|
7647
|
+
DA:31,2
|
|
7648
|
+
DA:32,1
|
|
7649
|
+
DA:34,2
|
|
7650
|
+
DA:35,2
|
|
7651
|
+
DA:37,0
|
|
7652
|
+
DA:38,0
|
|
7653
|
+
DA:40,0
|
|
7654
|
+
DA:42,0
|
|
7655
|
+
DA:44,2
|
|
7656
|
+
LF:24
|
|
7657
|
+
LH:19
|
|
7658
|
+
BRDA:28,0,0,0
|
|
7659
|
+
BRDA:28,0,1,2
|
|
7660
|
+
BRDA:31,1,0,1
|
|
7661
|
+
BRDA:31,1,1,1
|
|
7662
|
+
BRDA:31,2,0,2
|
|
7663
|
+
BRDA:31,2,1,2
|
|
7664
|
+
BRDA:34,3,0,2
|
|
7665
|
+
BRDA:34,3,1,0
|
|
7666
|
+
BRF:8
|
|
7667
|
+
BRH:6
|
|
7645
7668
|
end_of_record
|
|
7646
7669
|
TN:
|
|
7647
7670
|
SF:src/utilities/workerRequests.js
|
|
@@ -385,6 +385,13 @@ const destroy = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
385
385
|
});
|
|
386
386
|
exports.destroy = destroy;
|
|
387
387
|
const sync = (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
388
|
+
if (environment_1.default.DISABLE_AUTO_PROD_APP_SYNC) {
|
|
389
|
+
ctx.status = 200;
|
|
390
|
+
ctx.body = {
|
|
391
|
+
message: "App sync disabled. You can reenable with the DISABLE_AUTO_PROD_APP_SYNC environment variable.",
|
|
392
|
+
};
|
|
393
|
+
return next();
|
|
394
|
+
}
|
|
388
395
|
const appId = ctx.params.appId;
|
|
389
396
|
if (!isDevAppID(appId)) {
|
|
390
397
|
ctx.throw(400, "This action cannot be performed for production apps");
|
|
@@ -11,28 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.destroy = exports.update = exports.read = exports.create = exports.search = void 0;
|
|
13
13
|
const workerRequests_1 = require("../../../utilities/workerRequests");
|
|
14
|
+
const users_1 = require("../../../utilities/users");
|
|
14
15
|
const utils_1 = require("./utils");
|
|
15
|
-
const { getProdAppID } = require("@budibase/backend-core/db");
|
|
16
|
-
function fixUser(ctx) {
|
|
17
|
-
if (!ctx.request.body) {
|
|
18
|
-
return ctx;
|
|
19
|
-
}
|
|
20
|
-
if (!ctx.request.body._id && ctx.params.userId) {
|
|
21
|
-
ctx.request.body._id = ctx.params.userId;
|
|
22
|
-
}
|
|
23
|
-
if (!ctx.request.body.roles) {
|
|
24
|
-
ctx.request.body.roles = {};
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
const newRoles = {};
|
|
28
|
-
for (let [appId, role] of Object.entries(ctx.request.body.roles)) {
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
newRoles[getProdAppID(appId)] = role;
|
|
31
|
-
}
|
|
32
|
-
ctx.request.body.roles = newRoles;
|
|
33
|
-
}
|
|
34
|
-
return ctx;
|
|
35
|
-
}
|
|
36
16
|
function getUser(ctx, userId) {
|
|
37
17
|
var _a;
|
|
38
18
|
if (userId) {
|
|
@@ -54,7 +34,7 @@ function search(ctx, next) {
|
|
|
54
34
|
exports.search = search;
|
|
55
35
|
function create(ctx, next) {
|
|
56
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
const response = yield (0, workerRequests_1.saveGlobalUser)(
|
|
37
|
+
const response = yield (0, workerRequests_1.saveGlobalUser)((0, users_1.publicApiUserFix)(ctx));
|
|
58
38
|
ctx.body = yield getUser(ctx, response._id);
|
|
59
39
|
yield next();
|
|
60
40
|
});
|
|
@@ -71,7 +51,7 @@ function update(ctx, next) {
|
|
|
71
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
52
|
const user = yield (0, workerRequests_1.readGlobalUser)(ctx);
|
|
73
53
|
ctx.request.body = Object.assign(Object.assign({}, ctx.request.body), { _rev: user._rev });
|
|
74
|
-
const response = yield (0, workerRequests_1.saveGlobalUser)(
|
|
54
|
+
const response = yield (0, workerRequests_1.saveGlobalUser)((0, users_1.publicApiUserFix)(ctx));
|
|
75
55
|
ctx.body = yield getUser(ctx, response._id);
|
|
76
56
|
yield next();
|
|
77
57
|
});
|
package/dist/environment.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
const { join } = require("path");
|
|
2
3
|
function isTest() {
|
|
3
4
|
return (process.env.NODE_ENV === "jest" ||
|
|
4
5
|
process.env.NODE_ENV === "cypress" ||
|
|
@@ -14,7 +15,9 @@ function isCypress() {
|
|
|
14
15
|
}
|
|
15
16
|
let LOADED = false;
|
|
16
17
|
if (!LOADED && isDev() && !isTest()) {
|
|
17
|
-
require("dotenv").config(
|
|
18
|
+
require("dotenv").config({
|
|
19
|
+
path: join(__dirname, "..", ".env"),
|
|
20
|
+
});
|
|
18
21
|
LOADED = true;
|
|
19
22
|
}
|
|
20
23
|
function parseIntSafe(number) {
|
|
@@ -48,6 +51,7 @@ module.exports = {
|
|
|
48
51
|
JEST_WORKER_ID: process.env.JEST_WORKER_ID,
|
|
49
52
|
BUDIBASE_ENVIRONMENT: process.env.BUDIBASE_ENVIRONMENT,
|
|
50
53
|
DISABLE_ACCOUNT_PORTAL: process.env.DISABLE_ACCOUNT_PORTAL,
|
|
54
|
+
DISABLE_AUTO_PROD_APP_SYNC: process.env.DISABLE_AUTO_PROD_APP_SYNC,
|
|
51
55
|
// minor
|
|
52
56
|
SALT_ROUNDS: process.env.SALT_ROUNDS,
|
|
53
57
|
LOGGER: process.env.LOGGER,
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/server",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.167",
|
|
5
5
|
"description": "Budibase Web Server",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"repository": {
|
|
@@ -69,10 +69,10 @@
|
|
|
69
69
|
"license": "GPL-3.0",
|
|
70
70
|
"dependencies": {
|
|
71
71
|
"@apidevtools/swagger-parser": "^10.0.3",
|
|
72
|
-
"@budibase/backend-core": "^1.0.
|
|
73
|
-
"@budibase/client": "^1.0.
|
|
74
|
-
"@budibase/pro": "1.0.
|
|
75
|
-
"@budibase/string-templates": "^1.0.
|
|
72
|
+
"@budibase/backend-core": "^1.0.167",
|
|
73
|
+
"@budibase/client": "^1.0.167",
|
|
74
|
+
"@budibase/pro": "1.0.167",
|
|
75
|
+
"@budibase/string-templates": "^1.0.167",
|
|
76
76
|
"@bull-board/api": "^3.7.0",
|
|
77
77
|
"@bull-board/koa": "^3.7.0",
|
|
78
78
|
"@elastic/elasticsearch": "7.10.0",
|