@budibase/server 1.0.49-alpha.2 → 1.0.49-alpha.6
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/__mocks__/arangojs.ts +1 -1
- package/__mocks__/aws-sdk.ts +4 -4
- package/__mocks__/mongodb.ts +4 -5
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +2 -1
- package/__mocks__/pg.ts +3 -5
- package/builder/assets/{index.82e12602.js → index.1b905242.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +1917 -1929
- package/coverage/coverage-final.json +54 -54
- 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 +58 -37
- package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
- package/coverage/lcov-report/api/controllers/automation.js.html +21 -51
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
- package/coverage/lcov-report/api/controllers/component.js.html +10 -13
- package/coverage/lcov-report/api/controllers/datasource.js.html +17 -23
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/api/controllers/index.html +52 -52
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +4 -4
- package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +6 -6
- package/coverage/lcov-report/api/controllers/query/index.html +10 -10
- package/coverage/lcov-report/api/controllers/query/index.js.html +21 -18
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +9 -9
- package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
- package/coverage/lcov-report/api/controllers/row/external.js.html +6 -12
- package/coverage/lcov-report/api/controllers/row/index.html +22 -22
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +37 -82
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +19 -25
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +14 -17
- package/coverage/lcov-report/api/controllers/row/utils.js.html +15 -12
- package/coverage/lcov-report/api/controllers/screen.js.html +10 -16
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +20 -50
- package/coverage/lcov-report/api/controllers/table/external.js.html +15 -24
- package/coverage/lcov-report/api/controllers/table/index.html +37 -37
- package/coverage/lcov-report/api/controllers/table/index.js.html +7 -7
- package/coverage/lcov-report/api/controllers/table/internal.js.html +36 -45
- package/coverage/lcov-report/api/controllers/table/utils.js.html +40 -76
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +26 -35
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +16 -16
- package/coverage/lcov-report/api/controllers/view/index.js.html +15 -21
- package/coverage/lcov-report/api/controllers/view/utils.js.html +25 -10
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +21 -15
- 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/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/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/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 +4 -7
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +18 -18
- 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 +2 -5
- 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 +2 -2
- 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 +46 -40
- package/coverage/lcov-report/automations/utils.js.html +24 -12
- 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 +18 -18
- 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 +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -23
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +24 -66
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +28 -28
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +5 -5
- 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 +88 -88
- 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 +21 -15
- package/coverage/lcov-report/middleware/builder.js.html +3 -3
- package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
- package/coverage/lcov-report/middleware/index.html +28 -28
- 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 +29 -29
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +30 -24
- package/coverage/lcov-report/threads/index.html +16 -16
- package/coverage/lcov-report/threads/index.js.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +17 -17
- 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 +44 -35
- package/coverage/lcov-report/utilities/index.html +27 -27
- package/coverage/lcov-report/utilities/index.js.html +40 -70
- 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 +7 -7
- package/coverage/lcov-report/utilities/rowProcessor/index.html +11 -11
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +16 -58
- 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/index.js.html +5 -2
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +5 -5
- package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
- package/coverage/lcov.info +3189 -3198
- package/dist/api/controllers/application.js +31 -28
- package/dist/api/controllers/auth.js +4 -5
- package/dist/api/controllers/automation.js +14 -19
- package/dist/api/controllers/cloud.js +2 -3
- package/dist/api/controllers/component.js +3 -4
- package/dist/api/controllers/datasource.js +9 -10
- package/dist/api/controllers/deploy/Deployment.js +3 -6
- package/dist/api/controllers/deploy/index.js +12 -13
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/layout.js +3 -3
- package/dist/api/controllers/metadata.js +4 -4
- package/dist/api/controllers/permission.js +4 -4
- package/dist/api/controllers/query/import/index.js +4 -6
- package/dist/api/controllers/query/index.js +11 -10
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +5 -6
- package/dist/api/controllers/row/ExternalRequest.js +76 -63
- package/dist/api/controllers/row/external.js +4 -4
- package/dist/api/controllers/row/internal.js +29 -44
- package/dist/api/controllers/row/internalSearch.js +11 -13
- package/dist/api/controllers/row/staticFormula.js +11 -11
- package/dist/api/controllers/row/utils.js +7 -6
- package/dist/api/controllers/screen.js +5 -7
- package/dist/api/controllers/static/index.js +4 -4
- package/dist/api/controllers/table/bulkFormula.js +14 -15
- package/dist/api/controllers/table/external.js +7 -10
- package/dist/api/controllers/table/index.js +5 -5
- package/dist/api/controllers/table/internal.js +16 -19
- package/dist/api/controllers/table/utils.js +29 -31
- package/dist/api/controllers/user.js +16 -20
- package/dist/api/controllers/view/index.js +8 -10
- package/dist/api/controllers/view/utils.js +9 -4
- package/dist/api/controllers/webhook.js +10 -8
- package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
- package/dist/automations/automationUtils.js +2 -3
- package/dist/automations/steps/createRow.js +1 -1
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +27 -25
- package/dist/automations/utils.js +10 -5
- package/dist/db/linkedRows/LinkController.js +3 -7
- package/dist/db/linkedRows/index.js +16 -26
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +9 -10
- package/dist/environment.js +2 -1
- package/dist/integrations/utils.js +3 -0
- package/dist/middleware/authorized.js +5 -3
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +41 -37
- package/dist/middleware/usageQuota.js +2 -2
- package/dist/migrations/functions/appUrls.js +11 -2
- package/dist/migrations/functions/usageQuotas/syncApps.js +7 -9
- package/dist/migrations/functions/usageQuotas/syncRows.js +7 -9
- package/dist/package.json +4 -4
- package/dist/tests/utilities/TestConfiguration.js +67 -44
- package/dist/threads/automation.js +13 -11
- package/dist/threads/query.js +11 -11
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +4 -3
- package/dist/utilities/global.js +15 -12
- package/dist/utilities/index.js +7 -17
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +9 -10
- package/dist/utilities/usageQuota/index.js +1 -0
- package/dist/utilities/usageQuota/rows.js +1 -0
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +4 -4
- package/package.json +5 -5
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +35 -28
- package/src/api/controllers/auth.js +4 -5
- package/src/api/controllers/automation.js +13 -23
- package/src/api/controllers/cloud.js +2 -3
- package/src/api/controllers/component.js +3 -4
- package/src/api/controllers/datasource.js +9 -11
- package/src/api/controllers/deploy/Deployment.js +3 -7
- package/src/api/controllers/deploy/index.js +20 -13
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +4 -9
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +4 -6
- package/src/api/controllers/query/import/tests/index.spec.js +2 -1
- package/src/api/controllers/query/index.js +11 -10
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +5 -6
- package/src/api/controllers/row/ExternalRequest.ts +53 -42
- package/src/api/controllers/row/external.js +4 -6
- package/src/api/controllers/row/internal.js +29 -44
- package/src/api/controllers/row/internalSearch.js +11 -13
- package/src/api/controllers/row/staticFormula.js +10 -11
- package/src/api/controllers/row/utils.js +7 -6
- package/src/api/controllers/screen.js +5 -7
- package/src/api/controllers/static/index.js +4 -4
- package/src/api/controllers/table/bulkFormula.js +13 -23
- package/src/api/controllers/table/external.js +7 -10
- package/src/api/controllers/table/index.js +5 -5
- package/src/api/controllers/table/internal.js +18 -21
- package/src/api/controllers/table/utils.js +29 -41
- package/src/api/controllers/user.js +17 -20
- package/src/api/controllers/view/index.js +8 -10
- package/src/api/controllers/view/utils.js +9 -4
- package/src/api/controllers/webhook.js +10 -8
- package/src/api/routes/tests/automation.spec.js +1 -0
- package/src/api/routes/tests/misc.spec.js +0 -1
- package/src/api/routes/tests/routing.spec.js +21 -12
- package/src/api/routes/tests/row.spec.js +7 -4
- package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
- package/src/automations/automationUtils.js +2 -3
- package/src/automations/steps/createRow.js +0 -1
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +33 -31
- package/src/automations/utils.js +9 -5
- package/src/db/linkedRows/LinkController.js +3 -7
- package/src/db/linkedRows/index.js +16 -30
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +0 -1
- package/src/db/tests/linkTests.spec.js +5 -6
- package/src/db/views/staticViews.js +8 -10
- package/src/environment.js +2 -1
- package/src/integrations/utils.ts +4 -1
- package/src/middleware/authorized.js +5 -3
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +50 -46
- package/src/middleware/tests/authorized.spec.js +7 -2
- package/src/middleware/tests/currentapp.spec.js +6 -0
- package/src/middleware/usageQuota.js +2 -2
- package/src/migrations/functions/appUrls.ts +11 -2
- package/src/migrations/functions/usageQuotas/syncApps.ts +5 -4
- package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
- package/src/tests/utilities/TestConfiguration.js +69 -50
- package/src/threads/automation.js +17 -15
- package/src/threads/query.js +12 -12
- package/src/utilities/fileSystem/index.js +4 -3
- package/src/utilities/global.js +15 -12
- package/src/utilities/index.js +7 -17
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +9 -23
- package/src/utilities/usageQuota/index.js +1 -0
- package/src/utilities/usageQuota/rows.js +1 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +4 -4
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">84.
|
|
26
|
+
<span class="strong">84.41% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>65/77</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">90% </span>
|
|
40
|
+
<span class="strong">90.9% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>10/11</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">84.
|
|
47
|
+
<span class="strong">84.41% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>65/77</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -203,7 +203,9 @@
|
|
|
203
203
|
<a name='L144'></a><a href='#L144'>144</a>
|
|
204
204
|
<a name='L145'></a><a href='#L145'>145</a>
|
|
205
205
|
<a name='L146'></a><a href='#L146'>146</a>
|
|
206
|
-
<a name='L147'></a><a href='#L147'>147</a
|
|
206
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
207
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
208
|
+
<a name='L149'></a><a href='#L149'>149</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
|
|
207
209
|
<span class="cline-any cline-yes">4x</span>
|
|
208
210
|
<span class="cline-any cline-yes">4x</span>
|
|
209
211
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -265,7 +267,6 @@
|
|
|
265
267
|
<span class="cline-any cline-neutral"> </span>
|
|
266
268
|
<span class="cline-any cline-neutral"> </span>
|
|
267
269
|
<span class="cline-any cline-yes">7x</span>
|
|
268
|
-
<span class="cline-any cline-yes">7x</span>
|
|
269
270
|
<span class="cline-any cline-no"> </span>
|
|
270
271
|
<span class="cline-any cline-neutral"> </span>
|
|
271
272
|
<span class="cline-any cline-yes">7x</span>
|
|
@@ -337,6 +338,8 @@
|
|
|
337
338
|
<span class="cline-any cline-neutral"> </span>
|
|
338
339
|
<span class="cline-any cline-yes">4x</span>
|
|
339
340
|
<span class="cline-any cline-yes">7x</span>
|
|
341
|
+
<span class="cline-any cline-yes">7x</span>
|
|
342
|
+
<span class="cline-any cline-yes">7x</span>
|
|
340
343
|
<span class="cline-any cline-neutral"> </span>
|
|
341
344
|
<span class="cline-any cline-neutral"> </span>
|
|
342
345
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -349,6 +352,7 @@
|
|
|
349
352
|
<span class="cline-any cline-no"> </span>
|
|
350
353
|
<span class="cline-any cline-neutral"> </span>
|
|
351
354
|
<span class="cline-any cline-neutral"> </span>
|
|
355
|
+
<span class="cline-any cline-neutral"> </span>
|
|
352
356
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">require("./utils").threadSetup()
|
|
353
357
|
const env = require("../environment")
|
|
354
358
|
const actions = require("../automations/actions")
|
|
@@ -356,11 +360,11 @@ const automationUtils = require("../automations/automationUtils")
|
|
|
356
360
|
const AutomationEmitter = require("../events/AutomationEmitter")
|
|
357
361
|
const { processObject } = require("@budibase/string-templates")
|
|
358
362
|
const { DEFAULT_TENANT_ID } = require("@budibase/backend-core/constants")
|
|
359
|
-
const CouchDB = require("../db")
|
|
360
363
|
const { DocumentTypes, isDevAppID } = require("../db/utils")
|
|
361
364
|
const { doInTenant } = require("@budibase/backend-core/tenancy")
|
|
362
365
|
const usage = require("../utilities/usageQuota")
|
|
363
366
|
const { definitions: triggerDefs } = require("../automations/triggerInfo")
|
|
367
|
+
const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
|
|
364
368
|
|
|
365
369
|
const FILTER_STEP_ID = actions.ACTION_DEFINITIONS.FILTER.stepId
|
|
366
370
|
const CRON_STEP_ID = triggerDefs.CRON.stepId
|
|
@@ -410,11 +414,10 @@ class Orchestrator {
|
|
|
410
414
|
}
|
|
411
415
|
|
|
412
416
|
async getApp() {
|
|
413
|
-
const appId = this._appId
|
|
414
417
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._app) {
|
|
415
418
|
<span class="cstat-no" title="statement not covered" > return this._app</span>
|
|
416
419
|
}
|
|
417
|
-
const db =
|
|
420
|
+
const db = getAppDB()
|
|
418
421
|
this._app = await db.get(DocumentTypes.APP_METADATA)
|
|
419
422
|
return this._app
|
|
420
423
|
}
|
|
@@ -482,18 +485,21 @@ class Orchestrator {
|
|
|
482
485
|
}
|
|
483
486
|
|
|
484
487
|
module.exports = (input, callback) => {
|
|
485
|
-
const
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
488
|
+
const appId = input.data.event.appId
|
|
489
|
+
doInAppContext(appId, () => {
|
|
490
|
+
const automationOrchestrator = new Orchestrator(
|
|
491
|
+
input.data.automation,
|
|
492
|
+
input.data.event
|
|
493
|
+
)
|
|
494
|
+
automationOrchestrator
|
|
495
|
+
.execute()
|
|
496
|
+
.then(response => {
|
|
497
|
+
callback(null, response)
|
|
498
|
+
})
|
|
499
|
+
.catch(<span class="fstat-no" title="function not covered" >er</span>r => {
|
|
500
|
+
<span class="cstat-no" title="statement not covered" > callback(err)</span>
|
|
501
|
+
})
|
|
502
|
+
})
|
|
497
503
|
}
|
|
498
504
|
</pre></td></tr></table></pre>
|
|
499
505
|
|
|
@@ -502,7 +508,7 @@ module.exports = (input, callback) => {
|
|
|
502
508
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
503
509
|
Code coverage generated by
|
|
504
510
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
505
|
-
at
|
|
511
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
506
512
|
</div>
|
|
507
513
|
</div>
|
|
508
514
|
<script src="../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">84.
|
|
26
|
+
<span class="strong">84.35% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>221/262</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">92.3% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>36/39</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">84.
|
|
47
|
+
<span class="strong">84.82% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>218/257</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -74,17 +74,17 @@
|
|
|
74
74
|
</thead>
|
|
75
75
|
<tbody><tr>
|
|
76
76
|
<td class="file high" data-value="automation.js"><a href="automation.js.html">automation.js</a></td>
|
|
77
|
-
<td data-value="84.
|
|
77
|
+
<td data-value="84.41" class="pic high">
|
|
78
78
|
<div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
|
|
79
79
|
</td>
|
|
80
|
-
<td data-value="84.
|
|
81
|
-
<td data-value="
|
|
80
|
+
<td data-value="84.41" class="pct high">84.41%</td>
|
|
81
|
+
<td data-value="77" class="abs high">65/77</td>
|
|
82
82
|
<td data-value="56.52" class="pct medium">56.52%</td>
|
|
83
83
|
<td data-value="23" class="abs medium">13/23</td>
|
|
84
|
-
<td data-value="90" class="pct high">90%</td>
|
|
85
|
-
<td data-value="
|
|
86
|
-
<td data-value="84.
|
|
87
|
-
<td data-value="
|
|
84
|
+
<td data-value="90.9" class="pct high">90.9%</td>
|
|
85
|
+
<td data-value="11" class="abs high">10/11</td>
|
|
86
|
+
<td data-value="84.41" class="pct high">84.41%</td>
|
|
87
|
+
<td data-value="77" class="abs high">65/77</td>
|
|
88
88
|
</tr>
|
|
89
89
|
|
|
90
90
|
<tr>
|
|
@@ -111,8 +111,8 @@
|
|
|
111
111
|
<td data-value="118" class="abs high">102/118</td>
|
|
112
112
|
<td data-value="68.33" class="pct medium">68.33%</td>
|
|
113
113
|
<td data-value="60" class="abs medium">41/60</td>
|
|
114
|
-
<td data-value="92.
|
|
115
|
-
<td data-value="
|
|
114
|
+
<td data-value="92.85" class="pct high">92.85%</td>
|
|
115
|
+
<td data-value="14" class="abs high">13/14</td>
|
|
116
116
|
<td data-value="86.84" class="pct high">86.84%</td>
|
|
117
117
|
<td data-value="114" class="abs high">99/114</td>
|
|
118
118
|
</tr>
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
141
141
|
Code coverage generated by
|
|
142
142
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
143
|
-
at
|
|
143
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
144
144
|
</div>
|
|
145
145
|
</div>
|
|
146
146
|
<script src="../prettify.js"></script>
|
|
@@ -262,7 +262,7 @@ module.exports.ThreadType = ThreadType
|
|
|
262
262
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
263
263
|
Code coverage generated by
|
|
264
264
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
265
|
-
at
|
|
265
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
266
266
|
</div>
|
|
267
267
|
</div>
|
|
268
268
|
<script src="../prettify.js"></script>
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">92.
|
|
40
|
+
<span class="strong">92.85% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>13/14</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
@@ -312,7 +312,6 @@
|
|
|
312
312
|
<span class="cline-any cline-yes">15x</span>
|
|
313
313
|
<span class="cline-any cline-yes">15x</span>
|
|
314
314
|
<span class="cline-any cline-yes">15x</span>
|
|
315
|
-
<span class="cline-any cline-yes">15x</span>
|
|
316
315
|
<span class="cline-any cline-neutral"> </span>
|
|
317
316
|
<span class="cline-any cline-neutral"> </span>
|
|
318
317
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -413,7 +412,6 @@
|
|
|
413
412
|
<span class="cline-any cline-neutral"> </span>
|
|
414
413
|
<span class="cline-any cline-neutral"> </span>
|
|
415
414
|
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
417
415
|
<span class="cline-any cline-yes">6x</span>
|
|
418
416
|
<span class="cline-any cline-yes">6x</span>
|
|
419
417
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -518,6 +516,7 @@
|
|
|
518
516
|
<span class="cline-any cline-yes">2x</span>
|
|
519
517
|
<span class="cline-any cline-yes">10x</span>
|
|
520
518
|
<span class="cline-any cline-yes">10x</span>
|
|
519
|
+
<span class="cline-any cline-yes">10x</span>
|
|
521
520
|
<span class="cline-any cline-neutral"> </span>
|
|
522
521
|
<span class="cline-any cline-yes">8x</span>
|
|
523
522
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -525,19 +524,19 @@
|
|
|
525
524
|
<span class="cline-any cline-yes">2x</span>
|
|
526
525
|
<span class="cline-any cline-neutral"> </span>
|
|
527
526
|
<span class="cline-any cline-neutral"> </span>
|
|
527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
528
528
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const threadUtils = require("./utils")
|
|
529
529
|
threadUtils.threadSetup()
|
|
530
530
|
const ScriptRunner = require("../utilities/scriptRunner")
|
|
531
531
|
const { integrations } = require("../integrations")
|
|
532
532
|
const { processStringSync } = require("@budibase/string-templates")
|
|
533
|
-
const
|
|
533
|
+
const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
|
|
534
534
|
|
|
535
535
|
const IS_TRIPLE_BRACE = new RegExp(/^{{3}.*}{3}$/)
|
|
536
536
|
const IS_HANDLEBARS = new RegExp(/^{{2}.*}{2}$/)
|
|
537
537
|
|
|
538
538
|
class QueryRunner {
|
|
539
539
|
constructor(input, flags = { noRecursiveQuery: false }) {
|
|
540
|
-
this.appId = input.appId
|
|
541
540
|
this.datasource = input.datasource
|
|
542
541
|
this.queryVerb = input.queryVerb
|
|
543
542
|
this.fields = input.fields
|
|
@@ -631,12 +630,11 @@ class QueryRunner {
|
|
|
631
630
|
}
|
|
632
631
|
|
|
633
632
|
async runAnotherQuery(queryId, parameters) {
|
|
634
|
-
const db =
|
|
633
|
+
const db = getAppDB()
|
|
635
634
|
const query = await db.get(queryId)
|
|
636
635
|
const datasource = await db.get(query.datasourceId)
|
|
637
636
|
return new QueryRunner(
|
|
638
637
|
{
|
|
639
|
-
appId: this.appId,
|
|
640
638
|
datasource,
|
|
641
639
|
queryVerb: query.queryVerb,
|
|
642
640
|
fields: query.fields,
|
|
@@ -750,14 +748,16 @@ class QueryRunner {
|
|
|
750
748
|
}
|
|
751
749
|
|
|
752
750
|
module.exports = (input, callback) => {
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
.
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
751
|
+
doInAppContext(input.appId, () => {
|
|
752
|
+
const Runner = new QueryRunner(input)
|
|
753
|
+
Runner.execute()
|
|
754
|
+
.then(response => {
|
|
755
|
+
callback(null, response)
|
|
756
|
+
})
|
|
757
|
+
.catch(err => {
|
|
758
|
+
callback(err)
|
|
759
|
+
})
|
|
760
|
+
})
|
|
761
761
|
}
|
|
762
762
|
</pre></td></tr></table></pre>
|
|
763
763
|
|
|
@@ -766,7 +766,7 @@ module.exports = (input, callback) => {
|
|
|
766
766
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
767
767
|
Code coverage generated by
|
|
768
768
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
769
|
-
at
|
|
769
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
770
770
|
</div>
|
|
771
771
|
</div>
|
|
772
772
|
<script src="../prettify.js"></script>
|
|
@@ -298,7 +298,7 @@ exports.hasExtraData = response => {
|
|
|
298
298
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
299
299
|
Code coverage generated by
|
|
300
300
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
301
|
-
at
|
|
301
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
302
302
|
</div>
|
|
303
303
|
</div>
|
|
304
304
|
<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 Tue Feb 01 2022 16:32:19 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 Tue Feb 01 2022 16:32:19 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 Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../prettify.js"></script>
|
|
@@ -496,7 +496,7 @@ module.exports = {
|
|
|
496
496
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
497
497
|
Code coverage generated by
|
|
498
498
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
499
|
-
at
|
|
499
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
500
500
|
</div>
|
|
501
501
|
</div>
|
|
502
502
|
<script src="../prettify.js"></script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">83.6% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>51/61</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">78.57% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>22/28</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">84.74% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>50/59</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -161,7 +161,10 @@
|
|
|
161
161
|
<a name='L102'></a><a href='#L102'>102</a>
|
|
162
162
|
<a name='L103'></a><a href='#L103'>103</a>
|
|
163
163
|
<a name='L104'></a><a href='#L104'>104</a>
|
|
164
|
-
<a name='L105'></a><a href='#L105'>105</a
|
|
164
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
165
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
166
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
167
|
+
<a name='L108'></a><a href='#L108'>108</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
165
168
|
<span class="cline-any cline-neutral"> </span>
|
|
166
169
|
<span class="cline-any cline-neutral"> </span>
|
|
167
170
|
<span class="cline-any cline-yes">44x</span>
|
|
@@ -174,42 +177,44 @@
|
|
|
174
177
|
<span class="cline-any cline-neutral"> </span>
|
|
175
178
|
<span class="cline-any cline-yes">44x</span>
|
|
176
179
|
<span class="cline-any cline-yes">44x</span>
|
|
180
|
+
<span class="cline-any cline-yes">44x</span>
|
|
177
181
|
<span class="cline-any cline-neutral"> </span>
|
|
178
182
|
<span class="cline-any cline-yes">44x</span>
|
|
179
|
-
<span class="cline-any cline-yes">
|
|
183
|
+
<span class="cline-any cline-yes">173x</span>
|
|
184
|
+
<span class="cline-any cline-yes">173x</span>
|
|
180
185
|
<span class="cline-any cline-yes">3x</span>
|
|
181
186
|
<span class="cline-any cline-neutral"> </span>
|
|
182
187
|
<span class="cline-any cline-neutral"> </span>
|
|
183
|
-
<span class="cline-any cline-yes">
|
|
188
|
+
<span class="cline-any cline-yes">170x</span>
|
|
184
189
|
<span class="cline-any cline-no"> </span>
|
|
185
190
|
<span class="cline-any cline-no"> </span>
|
|
186
191
|
<span class="cline-any cline-no"> </span>
|
|
187
192
|
<span class="cline-any cline-no"> </span>
|
|
188
193
|
<span class="cline-any cline-neutral"> </span>
|
|
189
194
|
<span class="cline-any cline-neutral"> </span>
|
|
190
|
-
<span class="cline-any cline-yes">
|
|
195
|
+
<span class="cline-any cline-yes">170x</span>
|
|
191
196
|
<span class="cline-any cline-neutral"> </span>
|
|
192
|
-
<span class="cline-any cline-yes">
|
|
197
|
+
<span class="cline-any cline-yes">170x</span>
|
|
193
198
|
<span class="cline-any cline-yes">138x</span>
|
|
194
|
-
<span class="cline-any cline-yes">
|
|
195
|
-
<span class="cline-any cline-
|
|
199
|
+
<span class="cline-any cline-yes">32x</span>
|
|
200
|
+
<span class="cline-any cline-yes">27x</span>
|
|
196
201
|
<span class="cline-any cline-neutral"> </span>
|
|
197
|
-
<span class="cline-any cline-yes">
|
|
198
|
-
<span class="cline-any cline-yes">
|
|
202
|
+
<span class="cline-any cline-yes">170x</span>
|
|
203
|
+
<span class="cline-any cline-yes">170x</span>
|
|
199
204
|
<span class="cline-any cline-neutral"> </span>
|
|
200
205
|
<span class="cline-any cline-neutral"> </span>
|
|
201
206
|
<span class="cline-any cline-neutral"> </span>
|
|
202
|
-
<span class="cline-any cline-yes">
|
|
203
|
-
<span class="cline-any cline-yes">
|
|
207
|
+
<span class="cline-any cline-yes">166x</span>
|
|
208
|
+
<span class="cline-any cline-yes">166x</span>
|
|
204
209
|
<span class="cline-any cline-neutral"> </span>
|
|
205
|
-
<span class="cline-any cline-yes">
|
|
210
|
+
<span class="cline-any cline-yes">166x</span>
|
|
206
211
|
<span class="cline-any cline-neutral"> </span>
|
|
207
212
|
<span class="cline-any cline-neutral"> </span>
|
|
208
213
|
<span class="cline-any cline-yes">44x</span>
|
|
209
214
|
<span class="cline-any cline-neutral"> </span>
|
|
210
215
|
<span class="cline-any cline-neutral"> </span>
|
|
211
|
-
<span class="cline-any cline-yes">
|
|
212
|
-
<span class="cline-any cline-yes">
|
|
216
|
+
<span class="cline-any cline-yes">164x</span>
|
|
217
|
+
<span class="cline-any cline-yes">164x</span>
|
|
213
218
|
<span class="cline-any cline-neutral"> </span>
|
|
214
219
|
<span class="cline-any cline-neutral"> </span>
|
|
215
220
|
<span class="cline-any cline-yes">44x</span>
|
|
@@ -224,6 +229,7 @@
|
|
|
224
229
|
<span class="cline-any cline-neutral"> </span>
|
|
225
230
|
<span class="cline-any cline-yes">44x</span>
|
|
226
231
|
<span class="cline-any cline-yes">32x</span>
|
|
232
|
+
<span class="cline-any cline-yes">32x</span>
|
|
227
233
|
<span class="cline-any cline-neutral"> </span>
|
|
228
234
|
<span class="cline-any cline-yes">32x</span>
|
|
229
235
|
<span class="cline-any cline-yes">30x</span>
|
|
@@ -270,7 +276,7 @@
|
|
|
270
276
|
getGlobalIDFromUserMetadataID,
|
|
271
277
|
} = require("../db/utils")
|
|
272
278
|
const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
|
|
273
|
-
const {
|
|
279
|
+
const { getProdAppID } = require("@budibase/backend-core/db")
|
|
274
280
|
const { getGlobalUserParams } = require("@budibase/backend-core/db")
|
|
275
281
|
const { user: userCache } = require("@budibase/backend-core/cache")
|
|
276
282
|
const {
|
|
@@ -278,8 +284,10 @@ const {
|
|
|
278
284
|
isUserInAppTenant,
|
|
279
285
|
} = require("@budibase/backend-core/tenancy")
|
|
280
286
|
const env = require("../environment")
|
|
287
|
+
const { getAppId } = require("@budibase/backend-core/context")
|
|
281
288
|
|
|
282
|
-
exports.updateAppRole = (
|
|
289
|
+
exports.updateAppRole = (user, { appId } = {}) => {
|
|
290
|
+
appId = appId || getAppId()
|
|
283
291
|
if (!user || !user.roles) {
|
|
284
292
|
return user
|
|
285
293
|
}
|
|
@@ -291,29 +299,29 @@ exports.updateAppRole = (appId, user) => {
|
|
|
291
299
|
<span class="cstat-no" title="statement not covered" > return user</span>
|
|
292
300
|
}
|
|
293
301
|
// always use the deployed app
|
|
294
|
-
user.roleId = user.roles[
|
|
302
|
+
user.roleId = user.roles[getProdAppID(appId)]
|
|
295
303
|
// if a role wasn't found then either set as admin (builder) or public (everyone else)
|
|
296
304
|
if (!user.roleId && user.builder && user.builder.global) {
|
|
297
305
|
user.roleId = BUILTIN_ROLE_IDS.ADMIN
|
|
298
|
-
} else
|
|
299
|
-
|
|
306
|
+
} else if (!user.roleId) {
|
|
307
|
+
user.roleId = BUILTIN_ROLE_IDS.PUBLIC
|
|
300
308
|
}
|
|
301
309
|
delete user.roles
|
|
302
310
|
return user
|
|
303
311
|
}
|
|
304
312
|
|
|
305
|
-
function processUser(
|
|
313
|
+
function processUser(user, { appId } = {}) {
|
|
306
314
|
if (user) {
|
|
307
315
|
delete user.password
|
|
308
316
|
}
|
|
309
|
-
return exports.updateAppRole(
|
|
317
|
+
return exports.updateAppRole(user, { appId })
|
|
310
318
|
}
|
|
311
319
|
|
|
312
320
|
exports.getCachedSelf = async (ctx, appId) => {
|
|
313
321
|
// this has to be tenant aware, can't depend on the context to find it out
|
|
314
322
|
// running some middlewares before the tenancy causes context to break
|
|
315
323
|
const user = await userCache.getUser(ctx.user._id)
|
|
316
|
-
return processUser(
|
|
324
|
+
return processUser(user, { appId })
|
|
317
325
|
}
|
|
318
326
|
|
|
319
327
|
exports.getRawGlobalUser = async userId => {
|
|
@@ -321,12 +329,13 @@ exports.getRawGlobalUser = async userId => {
|
|
|
321
329
|
return db.get(getGlobalIDFromUserMetadataID(userId))
|
|
322
330
|
}
|
|
323
331
|
|
|
324
|
-
exports.getGlobalUser = async
|
|
332
|
+
exports.getGlobalUser = async userId => {
|
|
325
333
|
let user = await exports.getRawGlobalUser(userId)
|
|
326
|
-
return processUser(
|
|
334
|
+
return processUser(user)
|
|
327
335
|
}
|
|
328
336
|
|
|
329
|
-
exports.getGlobalUsers = async (
|
|
337
|
+
exports.getGlobalUsers = async (users = null) => {
|
|
338
|
+
const appId = getAppId()
|
|
330
339
|
const db = getGlobalDB()
|
|
331
340
|
let globalUsers
|
|
332
341
|
if (users) {
|
|
@@ -353,11 +362,11 @@ exports.getGlobalUsers = async (appId = <span class="branch-0 cbranch-no" title=
|
|
|
353
362
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!appId) {
|
|
354
363
|
<span class="cstat-no" title="statement not covered" > return globalUsers</span>
|
|
355
364
|
}
|
|
356
|
-
return globalUsers.map(user => exports.updateAppRole(
|
|
365
|
+
return globalUsers.map(user => exports.updateAppRole(user))
|
|
357
366
|
}
|
|
358
367
|
|
|
359
|
-
exports.getGlobalUsersFromMetadata = async
|
|
360
|
-
const globalUsers = await exports.getGlobalUsers(
|
|
368
|
+
exports.getGlobalUsersFromMetadata = async users => {
|
|
369
|
+
const globalUsers = await exports.getGlobalUsers(users)
|
|
361
370
|
return users.map(<span class="fstat-no" title="function not covered" >us</span>er => {
|
|
362
371
|
const globalUser = <span class="cstat-no" title="statement not covered" >globalUsers.find(</span>
|
|
363
372
|
<span class="fstat-no" title="function not covered" > gl</span>obalUser => <span class="cstat-no" title="statement not covered" >globalUser && user._id.includes(globalUser._id)</span>
|
|
@@ -376,7 +385,7 @@ exports.getGlobalUsersFromMetadata = async (appId, users) => {
|
|
|
376
385
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
377
386
|
Code coverage generated by
|
|
378
387
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
379
|
-
at
|
|
388
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
380
389
|
</div>
|
|
381
390
|
</div>
|
|
382
391
|
<script src="../prettify.js"></script>
|