@budibase/server 1.0.49-alpha.5 → 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/builder/assets/{index.8f94a789.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/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/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/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
|
@@ -98,12 +98,7 @@
|
|
|
98
98
|
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
99
|
<a name='L40'></a><a href='#L40'>40</a>
|
|
100
100
|
<a name='L41'></a><a href='#L41'>41</a>
|
|
101
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
103
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
104
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
105
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
106
|
-
<a name='L47'></a><a href='#L47'>47</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
|
|
101
|
+
<a name='L42'></a><a href='#L42'>42</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
|
|
107
102
|
<span class="cline-any cline-yes">23x</span>
|
|
108
103
|
<span class="cline-any cline-yes">23x</span>
|
|
109
104
|
<span class="cline-any cline-yes">23x</span>
|
|
@@ -122,11 +117,6 @@
|
|
|
122
117
|
<span class="cline-any cline-yes">1x</span>
|
|
123
118
|
<span class="cline-any cline-neutral"> </span>
|
|
124
119
|
<span class="cline-any cline-neutral"> </span>
|
|
125
|
-
<span class="cline-any cline-neutral"> </span>
|
|
126
|
-
<span class="cline-any cline-neutral"> </span>
|
|
127
|
-
<span class="cline-any cline-neutral"> </span>
|
|
128
|
-
<span class="cline-any cline-neutral"> </span>
|
|
129
|
-
<span class="cline-any cline-neutral"> </span>
|
|
130
120
|
<span class="cline-any cline-yes">23x</span>
|
|
131
121
|
<span class="cline-any cline-yes">1x</span>
|
|
132
122
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -150,9 +140,9 @@
|
|
|
150
140
|
<span class="cline-any cline-neutral"> </span>
|
|
151
141
|
<span class="cline-any cline-neutral"> </span>
|
|
152
142
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { MetadataTypes } = require("../../constants")
|
|
153
|
-
const CouchDB = require("../../db")
|
|
154
143
|
const { generateMetadataID } = require("../../db/utils")
|
|
155
144
|
const { saveEntityMetadata, deleteEntityMetadata } = require("../../utilities")
|
|
145
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
156
146
|
|
|
157
147
|
exports.getTypes = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
158
148
|
<span class="cstat-no" title="statement not covered" > ctx.body = {</span>
|
|
@@ -165,17 +155,12 @@ exports.saveMetadata = async ctx => {
|
|
|
165
155
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (type === MetadataTypes.AUTOMATION_TEST_HISTORY) {
|
|
166
156
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot save automation history type")</span>
|
|
167
157
|
}
|
|
168
|
-
ctx.body = await saveEntityMetadata(
|
|
169
|
-
ctx.appId,
|
|
170
|
-
type,
|
|
171
|
-
entityId,
|
|
172
|
-
ctx.request.body
|
|
173
|
-
)
|
|
158
|
+
ctx.body = await saveEntityMetadata(type, entityId, ctx.request.body)
|
|
174
159
|
}
|
|
175
160
|
|
|
176
161
|
exports.deleteMetadata = async ctx => {
|
|
177
162
|
const { type, entityId } = ctx.params
|
|
178
|
-
await deleteEntityMetadata(
|
|
163
|
+
await deleteEntityMetadata(type, entityId)
|
|
179
164
|
ctx.body = {
|
|
180
165
|
message: "Metadata deleted successfully",
|
|
181
166
|
}
|
|
@@ -183,7 +168,7 @@ exports.deleteMetadata = async ctx => {
|
|
|
183
168
|
|
|
184
169
|
exports.getMetadata = async ctx => {
|
|
185
170
|
const { type, entityId } = ctx.params
|
|
186
|
-
const db =
|
|
171
|
+
const db = getAppDB()
|
|
187
172
|
const id = generateMetadataID(type, entityId)
|
|
188
173
|
try {
|
|
189
174
|
ctx.body = await db.get(id)
|
|
@@ -202,7 +187,7 @@ exports.getMetadata = async ctx => {
|
|
|
202
187
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
203
188
|
Code coverage generated by
|
|
204
189
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
205
|
-
at Tue Feb 01 2022
|
|
190
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
206
191
|
</div>
|
|
207
192
|
</div>
|
|
208
193
|
<script src="../../prettify.js"></script>
|
|
@@ -103,7 +103,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
|
|
|
103
103
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
104
104
|
Code coverage generated by
|
|
105
105
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
106
|
-
at Tue Feb 01 2022
|
|
106
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
107
107
|
</div>
|
|
108
108
|
</div>
|
|
109
109
|
<script src="../../prettify.js"></script>
|
|
@@ -240,12 +240,12 @@
|
|
|
240
240
|
<span class="cline-any cline-neutral"> </span>
|
|
241
241
|
<span class="cline-any cline-yes">38x</span>
|
|
242
242
|
<span class="cline-any cline-yes">38x</span>
|
|
243
|
-
<span class="cline-any cline-yes">38x</span>
|
|
244
243
|
<span class="cline-any cline-neutral"> </span>
|
|
245
244
|
<span class="cline-any cline-neutral"> </span>
|
|
246
245
|
<span class="cline-any cline-neutral"> </span>
|
|
247
246
|
<span class="cline-any cline-yes">38x</span>
|
|
248
247
|
<span class="cline-any cline-yes">38x</span>
|
|
248
|
+
<span class="cline-any cline-yes">38x</span>
|
|
249
249
|
<span class="cline-any cline-neutral"> </span>
|
|
250
250
|
<span class="cline-any cline-yes">38x</span>
|
|
251
251
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -415,12 +415,12 @@ const {
|
|
|
415
415
|
getBuiltinRoles,
|
|
416
416
|
} = require("@budibase/backend-core/roles")
|
|
417
417
|
const { getRoleParams } = require("../../db/utils")
|
|
418
|
-
const CouchDB = require("../../db")
|
|
419
418
|
const {
|
|
420
419
|
CURRENTLY_SUPPORTED_LEVELS,
|
|
421
420
|
getBasePermissions,
|
|
422
421
|
} = require("../../utilities/security")
|
|
423
422
|
const { removeFromArray } = require("../../utilities")
|
|
423
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
424
424
|
|
|
425
425
|
const PermissionUpdateType = {
|
|
426
426
|
REMOVE: "remove",
|
|
@@ -444,7 +444,7 @@ async function updatePermissionOnRole(
|
|
|
444
444
|
{ roleId, resourceId, level },
|
|
445
445
|
updateType
|
|
446
446
|
) {
|
|
447
|
-
const db =
|
|
447
|
+
const db = getAppDB()
|
|
448
448
|
const remove = updateType === PermissionUpdateType.REMOVE
|
|
449
449
|
const isABuiltin = isBuiltin(roleId)
|
|
450
450
|
const dbRoleId = getDBRoleID(roleId)
|
|
@@ -515,7 +515,7 @@ exports.fetchLevels = function (ctx) {
|
|
|
515
515
|
}
|
|
516
516
|
|
|
517
517
|
exports.fetch = async function (ctx) {
|
|
518
|
-
const db =
|
|
518
|
+
const db = getAppDB()
|
|
519
519
|
const roles = await getAllDBRoles(db)
|
|
520
520
|
let permissions = {}
|
|
521
521
|
// create an object with structure role ID -> resource ID -> level
|
|
@@ -542,7 +542,7 @@ exports.fetch = async function (ctx) {
|
|
|
542
542
|
|
|
543
543
|
exports.getResourcePerms = async function (ctx) {
|
|
544
544
|
const resourceId = ctx.params.resourceId
|
|
545
|
-
const db =
|
|
545
|
+
const db = getAppDB()
|
|
546
546
|
const body = await db.allDocs(
|
|
547
547
|
getRoleParams(null, {
|
|
548
548
|
include_docs: true,
|
|
@@ -589,7 +589,7 @@ exports.removePermission = async function (ctx) {
|
|
|
589
589
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
590
590
|
Code coverage generated by
|
|
591
591
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
592
|
-
at Tue Feb 01 2022
|
|
592
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
593
593
|
</div>
|
|
594
594
|
</div>
|
|
595
595
|
<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">81.
|
|
26
|
+
<span class="strong">81.73% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>85/104</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">81.
|
|
47
|
+
<span class="strong">81.55% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>84/103</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="index.js"><a href="index.js.html">index.js</a></td>
|
|
77
|
-
<td data-value="80" class="pic high">
|
|
77
|
+
<td data-value="80.2" class="pic high">
|
|
78
78
|
<div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
|
|
79
79
|
</td>
|
|
80
|
-
<td data-value="80" class="pct high">80%</td>
|
|
81
|
-
<td data-value="
|
|
80
|
+
<td data-value="80.2" class="pct high">80.2%</td>
|
|
81
|
+
<td data-value="96" class="abs high">77/96</td>
|
|
82
82
|
<td data-value="65.51" class="pct medium">65.51%</td>
|
|
83
83
|
<td data-value="29" class="abs medium">19/29</td>
|
|
84
84
|
<td data-value="85.71" class="pct high">85.71%</td>
|
|
85
85
|
<td data-value="14" class="abs high">12/14</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
86
|
+
<td data-value="80" class="pct high">80%</td>
|
|
87
|
+
<td data-value="95" class="abs high">76/95</td>
|
|
88
88
|
</tr>
|
|
89
89
|
|
|
90
90
|
<tr>
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
111
111
|
Code coverage generated by
|
|
112
112
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
113
|
-
at Tue Feb 01 2022
|
|
113
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
114
114
|
</div>
|
|
115
115
|
</div>
|
|
116
116
|
<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">80% </span>
|
|
26
|
+
<span class="strong">80.2% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>77/96</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">80% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>76/95</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -267,8 +267,8 @@
|
|
|
267
267
|
<a name='L208'></a><a href='#L208'>208</a>
|
|
268
268
|
<a name='L209'></a><a href='#L209'>209</a>
|
|
269
269
|
<a name='L210'></a><a href='#L210'>210</a>
|
|
270
|
-
<a name='L211'></a><a href='#L211'>211</a
|
|
271
|
-
<span class="cline-any cline-neutral"> </span>
|
|
270
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
271
|
+
<a name='L212'></a><a href='#L212'>212</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
272
272
|
<span class="cline-any cline-neutral"> </span>
|
|
273
273
|
<span class="cline-any cline-neutral"> </span>
|
|
274
274
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -279,6 +279,7 @@
|
|
|
279
279
|
<span class="cline-any cline-yes">39x</span>
|
|
280
280
|
<span class="cline-any cline-yes">39x</span>
|
|
281
281
|
<span class="cline-any cline-yes">39x</span>
|
|
282
|
+
<span class="cline-any cline-yes">39x</span>
|
|
282
283
|
<span class="cline-any cline-neutral"> </span>
|
|
283
284
|
<span class="cline-any cline-yes">39x</span>
|
|
284
285
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -454,6 +455,7 @@
|
|
|
454
455
|
<span class="cline-any cline-yes">2x</span>
|
|
455
456
|
<span class="cline-any cline-yes">2x</span>
|
|
456
457
|
<span class="cline-any cline-yes">2x</span>
|
|
458
|
+
<span class="cline-any cline-yes">2x</span>
|
|
457
459
|
<span class="cline-any cline-neutral"> </span>
|
|
458
460
|
<span class="cline-any cline-yes">2x</span>
|
|
459
461
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -477,8 +479,7 @@
|
|
|
477
479
|
<span class="cline-any cline-yes">2x</span>
|
|
478
480
|
<span class="cline-any cline-yes">2x</span>
|
|
479
481
|
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
481
|
-
const {
|
|
482
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
482
483
|
generateQueryID,
|
|
483
484
|
getQueryParams,
|
|
484
485
|
isProdAppID,
|
|
@@ -489,6 +490,7 @@ const { save: saveDatasource } = require("../datasource")
|
|
|
489
490
|
const { RestImporter } = require("./import")
|
|
490
491
|
const { invalidateDynamicVariables } = require("../../../threads/utils")
|
|
491
492
|
const environment = require("../../../environment")
|
|
493
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
492
494
|
|
|
493
495
|
const Runner = new Thread(ThreadType.QUERY, {
|
|
494
496
|
timeoutMs: environment.QUERY_THREAD_TIMEOUT || 10000,
|
|
@@ -507,7 +509,7 @@ function enrichQueries(input) {
|
|
|
507
509
|
}
|
|
508
510
|
|
|
509
511
|
exports.fetch = async function (ctx) {
|
|
510
|
-
const db =
|
|
512
|
+
const db = getAppDB()
|
|
511
513
|
|
|
512
514
|
const body = await db.allDocs(
|
|
513
515
|
getQueryParams(null, {
|
|
@@ -548,7 +550,7 @@ exports.import = <span class="fstat-no" title="function not covered" >as</span>y
|
|
|
548
550
|
<span class="cstat-no" title="statement not covered" > datasourceId = body.datasourceId</span>
|
|
549
551
|
}
|
|
550
552
|
|
|
551
|
-
const importResult = <span class="cstat-no" title="statement not covered" >await importer.importQueries(
|
|
553
|
+
const importResult = <span class="cstat-no" title="statement not covered" >await importer.importQueries(datasourceId)</span>
|
|
552
554
|
|
|
553
555
|
<span class="cstat-no" title="statement not covered" > ctx.body = {</span>
|
|
554
556
|
...importResult,
|
|
@@ -558,7 +560,7 @@ exports.import = <span class="fstat-no" title="function not covered" >as</span>y
|
|
|
558
560
|
}
|
|
559
561
|
|
|
560
562
|
exports.save = async function (ctx) {
|
|
561
|
-
const db =
|
|
563
|
+
const db = getAppDB()
|
|
562
564
|
const query = ctx.request.body
|
|
563
565
|
|
|
564
566
|
if (!query._id) {
|
|
@@ -573,7 +575,7 @@ exports.save = async function (ctx) {
|
|
|
573
575
|
}
|
|
574
576
|
|
|
575
577
|
exports.find = async function (ctx) {
|
|
576
|
-
const db =
|
|
578
|
+
const db = getAppDB()
|
|
577
579
|
const query = enrichQueries(await db.get(ctx.params.queryId))
|
|
578
580
|
// remove properties that could be dangerous in real app
|
|
579
581
|
if (isProdAppID(ctx.appId)) {
|
|
@@ -584,7 +586,7 @@ exports.find = async function (ctx) {
|
|
|
584
586
|
}
|
|
585
587
|
|
|
586
588
|
exports.preview = async function (ctx) {
|
|
587
|
-
const db =
|
|
589
|
+
const db = getAppDB()
|
|
588
590
|
|
|
589
591
|
const datasource = await db.get(ctx.request.body.datasourceId)
|
|
590
592
|
// preview may not have a queryId as it hasn't been saved, but if it does
|
|
@@ -615,7 +617,7 @@ exports.preview = async function (ctx) {
|
|
|
615
617
|
}
|
|
616
618
|
|
|
617
619
|
async function execute(ctx, opts = <span class="branch-0 cbranch-no" title="branch not covered" >{ rowsOnly: false })</span> {
|
|
618
|
-
const db =
|
|
620
|
+
const db = getAppDB()
|
|
619
621
|
|
|
620
622
|
const query = await db.get(ctx.params.queryId)
|
|
621
623
|
const datasource = await db.get(query.datasourceId)
|
|
@@ -660,7 +662,8 @@ exports.executeV2 = <span class="fstat-no" title="function not covered" >as</spa
|
|
|
660
662
|
<span class="cstat-no" title="statement not covered" > return execute(ctx, { rowsOnly: false })</span>
|
|
661
663
|
}
|
|
662
664
|
|
|
663
|
-
const removeDynamicVariables = async
|
|
665
|
+
const removeDynamicVariables = async queryId => {
|
|
666
|
+
const db = getAppDB()
|
|
664
667
|
const query = await db.get(queryId)
|
|
665
668
|
const datasource = await db.get(query.datasourceId)
|
|
666
669
|
const dynamicVariables = datasource.config.dynamicVariables
|
|
@@ -681,8 +684,8 @@ const removeDynamicVariables = async (db, queryId) => {
|
|
|
681
684
|
}
|
|
682
685
|
|
|
683
686
|
exports.destroy = async function (ctx) {
|
|
684
|
-
const db =
|
|
685
|
-
await removeDynamicVariables(
|
|
687
|
+
const db = getAppDB()
|
|
688
|
+
await removeDynamicVariables(ctx.params.queryId)
|
|
686
689
|
await db.remove(ctx.params.queryId, ctx.params.revId)
|
|
687
690
|
ctx.message = `Query deleted.`
|
|
688
691
|
ctx.status = 200
|
|
@@ -694,7 +697,7 @@ exports.destroy = async function (ctx) {
|
|
|
694
697
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
695
698
|
Code coverage generated by
|
|
696
699
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
697
|
-
at Tue Feb 01 2022
|
|
700
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
698
701
|
</div>
|
|
699
702
|
</div>
|
|
700
703
|
<script src="../../../prettify.js"></script>
|
|
@@ -190,7 +190,7 @@ exports.generateQueryPreviewValidation = () => {
|
|
|
190
190
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
191
191
|
Code coverage generated by
|
|
192
192
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
193
|
-
at Tue Feb 01 2022
|
|
193
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
194
194
|
</div>
|
|
195
195
|
</div>
|
|
196
196
|
<script src="../../../prettify.js"></script>
|
|
@@ -155,8 +155,7 @@
|
|
|
155
155
|
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
156
|
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
157
|
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
-
<a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
159
|
-
<span class="cline-any cline-neutral"> </span>
|
|
158
|
+
<a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
160
159
|
<span class="cline-any cline-neutral"> </span>
|
|
161
160
|
<span class="cline-any cline-neutral"> </span>
|
|
162
161
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -167,6 +166,7 @@
|
|
|
167
166
|
<span class="cline-any cline-neutral"> </span>
|
|
168
167
|
<span class="cline-any cline-neutral"> </span>
|
|
169
168
|
<span class="cline-any cline-yes">38x</span>
|
|
169
|
+
<span class="cline-any cline-yes">38x</span>
|
|
170
170
|
<span class="cline-any cline-neutral"> </span>
|
|
171
171
|
<span class="cline-any cline-yes">38x</span>
|
|
172
172
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -253,8 +253,7 @@
|
|
|
253
253
|
<span class="cline-any cline-yes">1x</span>
|
|
254
254
|
<span class="cline-any cline-yes">1x</span>
|
|
255
255
|
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
257
|
-
const {
|
|
256
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
258
257
|
Role,
|
|
259
258
|
getRole,
|
|
260
259
|
isBuiltin,
|
|
@@ -265,6 +264,7 @@ const {
|
|
|
265
264
|
getUserMetadataParams,
|
|
266
265
|
InternalTables,
|
|
267
266
|
} = require("../../db/utils")
|
|
267
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
268
268
|
|
|
269
269
|
const UpdateRolesOptions = {
|
|
270
270
|
CREATED: "created",
|
|
@@ -295,15 +295,15 @@ async function updateRolesOnUserTable(db, roleId, updateOption) {
|
|
|
295
295
|
}
|
|
296
296
|
|
|
297
297
|
exports.fetch = async function (ctx) {
|
|
298
|
-
ctx.body = await getAllRoles(
|
|
298
|
+
ctx.body = await getAllRoles()
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
exports.find = async function (ctx) {
|
|
302
|
-
ctx.body = await getRole(ctx.
|
|
302
|
+
ctx.body = await getRole(ctx.params.roleId)
|
|
303
303
|
}
|
|
304
304
|
|
|
305
305
|
exports.save = async function (ctx) {
|
|
306
|
-
const db =
|
|
306
|
+
const db = getAppDB()
|
|
307
307
|
let { _id, name, inherits, permissionId } = ctx.request.body
|
|
308
308
|
if (!_id) {
|
|
309
309
|
_id = generateRoleID()
|
|
@@ -324,7 +324,7 @@ exports.save = async function (ctx) {
|
|
|
324
324
|
}
|
|
325
325
|
|
|
326
326
|
exports.destroy = async function (ctx) {
|
|
327
|
-
const db =
|
|
327
|
+
const db = getAppDB()
|
|
328
328
|
const roleId = ctx.params.roleId
|
|
329
329
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (isBuiltin(roleId)) {
|
|
330
330
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete builtin role.")</span>
|
|
@@ -358,7 +358,7 @@ exports.destroy = async function (ctx) {
|
|
|
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 Tue Feb 01 2022
|
|
361
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
362
362
|
</div>
|
|
363
363
|
</div>
|
|
364
364
|
<script src="../../prettify.js"></script>
|
|
@@ -149,8 +149,7 @@
|
|
|
149
149
|
<a name='L90'></a><a href='#L90'>90</a>
|
|
150
150
|
<a name='L91'></a><a href='#L91'>91</a>
|
|
151
151
|
<a name='L92'></a><a href='#L92'>92</a>
|
|
152
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
153
|
-
<a name='L94'></a><a href='#L94'>94</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
|
|
152
|
+
<a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
|
|
154
153
|
<span class="cline-any cline-neutral"> </span>
|
|
155
154
|
<span class="cline-any cline-neutral"> </span>
|
|
156
155
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -195,7 +194,6 @@
|
|
|
195
194
|
<span class="cline-any cline-neutral"> </span>
|
|
196
195
|
<span class="cline-any cline-neutral"> </span>
|
|
197
196
|
<span class="cline-any cline-neutral"> </span>
|
|
198
|
-
<span class="cline-any cline-neutral"> </span>
|
|
199
197
|
<span class="cline-any cline-yes">3x</span>
|
|
200
198
|
<span class="cline-any cline-yes">3x</span>
|
|
201
199
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -284,12 +282,11 @@ Routing.prototype.addScreenId = function (fullpath, roleId, screenId) {
|
|
|
284
282
|
|
|
285
283
|
/**
|
|
286
284
|
* Gets the full routing structure by querying the routing view and processing the result into the tree.
|
|
287
|
-
* @param {string} appId The application to produce the routing structure for.
|
|
288
285
|
* @returns {Promise<object>} The routing structure, this is the full structure designed for use in the builder,
|
|
289
286
|
* if the client routing is required then the updateRoutingStructureForUserRole should be used.
|
|
290
287
|
*/
|
|
291
|
-
async function getRoutingStructure(
|
|
292
|
-
const screenRoutes = await getRoutingInfo(
|
|
288
|
+
async function getRoutingStructure() {
|
|
289
|
+
const screenRoutes = await getRoutingInfo()
|
|
293
290
|
const routing = new Routing()
|
|
294
291
|
|
|
295
292
|
for (let screenRoute of screenRoutes) {
|
|
@@ -302,13 +299,13 @@ async function getRoutingStructure(appId) {
|
|
|
302
299
|
}
|
|
303
300
|
|
|
304
301
|
exports.fetch = async ctx => {
|
|
305
|
-
ctx.body = await getRoutingStructure(
|
|
302
|
+
ctx.body = await getRoutingStructure()
|
|
306
303
|
}
|
|
307
304
|
|
|
308
305
|
exports.clientFetch = async ctx => {
|
|
309
|
-
const routing = await getRoutingStructure(
|
|
306
|
+
const routing = await getRoutingStructure()
|
|
310
307
|
let roleId = ctx.user.role._id
|
|
311
|
-
const roleIds = await getUserRoleHierarchy(
|
|
308
|
+
const roleIds = await getUserRoleHierarchy(roleId)
|
|
312
309
|
for (let topLevel of Object.values(routing.routes)) {
|
|
313
310
|
for (let subpathKey of Object.keys(topLevel.subpaths)) {
|
|
314
311
|
let found = false
|
|
@@ -343,7 +340,7 @@ exports.clientFetch = async ctx => {
|
|
|
343
340
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
344
341
|
Code coverage generated by
|
|
345
342
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
346
|
-
at Tue Feb 01 2022
|
|
343
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
347
344
|
</div>
|
|
348
345
|
</div>
|
|
349
346
|
<script src="../../prettify.js"></script>
|
|
@@ -286,9 +286,7 @@
|
|
|
286
286
|
<a name='L227'></a><a href='#L227'>227</a>
|
|
287
287
|
<a name='L228'></a><a href='#L228'>228</a>
|
|
288
288
|
<a name='L229'></a><a href='#L229'>229</a>
|
|
289
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
290
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
291
|
-
<a name='L232'></a><a href='#L232'>232</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
289
|
+
<a name='L230'></a><a href='#L230'>230</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
292
290
|
<span class="cline-any cline-neutral"> </span>
|
|
293
291
|
<span class="cline-any cline-neutral"> </span>
|
|
294
292
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -318,8 +316,6 @@
|
|
|
318
316
|
<span class="cline-any cline-no"> </span>
|
|
319
317
|
<span class="cline-any cline-neutral"> </span>
|
|
320
318
|
<span class="cline-any cline-neutral"> </span>
|
|
321
|
-
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
323
319
|
<span class="cline-any cline-yes">39x</span>
|
|
324
320
|
<span class="cline-any cline-neutral"> </span>
|
|
325
321
|
<span class="cline-any cline-yes">39x</span>
|
|
@@ -530,9 +526,9 @@ const {
|
|
|
530
526
|
breakRowIdField,
|
|
531
527
|
} = require("../../../integrations/utils")
|
|
532
528
|
const ExternalRequest = require("./ExternalRequest")
|
|
533
|
-
const
|
|
529
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
534
530
|
|
|
535
|
-
async function <span class="fstat-no" title="function not covered" >handleRequest(</span>
|
|
531
|
+
async function <span class="fstat-no" title="function not covered" >handleRequest(</span>operation, tableId, opts = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
536
532
|
// make sure the filters are cleaned up, no empty strings for equals, fuzzy or string
|
|
537
533
|
<span class="cstat-no" title="statement not covered" > if (opts && opts.filters) {</span>
|
|
538
534
|
<span class="cstat-no" title="statement not covered" > for (let filterField of NoEmptyFilterStrings) {</span>
|
|
@@ -546,9 +542,7 @@ async function <span class="fstat-no" title="function not covered" >handleReques
|
|
|
546
542
|
}
|
|
547
543
|
}
|
|
548
544
|
}
|
|
549
|
-
<span class="cstat-no" title="statement not covered" > return new ExternalRequest(
|
|
550
|
-
opts
|
|
551
|
-
)
|
|
545
|
+
<span class="cstat-no" title="statement not covered" > return new ExternalRequest(operation, tableId, opts.datasource).run(opts)</span>
|
|
552
546
|
}
|
|
553
547
|
|
|
554
548
|
exports.handleRequest = handleRequest
|
|
@@ -702,7 +696,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
702
696
|
const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
|
|
703
697
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
704
698
|
const { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
705
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
699
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
706
700
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
707
701
|
<span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
|
|
708
702
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Datasource has not been configured for plus API.")</span>
|
|
@@ -757,7 +751,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
757
751
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
758
752
|
Code coverage generated by
|
|
759
753
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
760
|
-
at Tue Feb 01 2022
|
|
754
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
761
755
|
</div>
|
|
762
756
|
</div>
|
|
763
757
|
<script src="../../../prettify.js"></script>
|