@budibase/server 1.0.49-alpha.4 → 1.0.49-alpha.8
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.f763d886.js → index.94a9250f.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +1920 -1940
- 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 +33 -126
- package/coverage/lcov-report/api/controllers/row/index.html +28 -28
- 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 +3192 -3209
- 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 +14 -22
- 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 +6 -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 +27 -58
- 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 +4 -4
- package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
- package/src/module.d.ts +3 -0
- 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
- package/tsconfig.json +2 -1
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">31.66% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>38/120</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">31.93% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>38/119</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -289,11 +289,7 @@
|
|
|
289
289
|
<a name='L230'></a><a href='#L230'>230</a>
|
|
290
290
|
<a name='L231'></a><a href='#L231'>231</a>
|
|
291
291
|
<a name='L232'></a><a href='#L232'>232</a>
|
|
292
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
293
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
294
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
295
|
-
<a name='L236'></a><a href='#L236'>236</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
296
|
-
<span class="cline-any cline-neutral"> </span>
|
|
292
|
+
<a name='L233'></a><a href='#L233'>233</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
297
293
|
<span class="cline-any cline-neutral"> </span>
|
|
298
294
|
<span class="cline-any cline-neutral"> </span>
|
|
299
295
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -306,12 +302,14 @@
|
|
|
306
302
|
<span class="cline-any cline-neutral"> </span>
|
|
307
303
|
<span class="cline-any cline-neutral"> </span>
|
|
308
304
|
<span class="cline-any cline-neutral"> </span>
|
|
305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
309
306
|
<span class="cline-any cline-yes">39x</span>
|
|
310
307
|
<span class="cline-any cline-yes">39x</span>
|
|
311
308
|
<span class="cline-any cline-yes">39x</span>
|
|
312
309
|
<span class="cline-any cline-neutral"> </span>
|
|
313
310
|
<span class="cline-any cline-neutral"> </span>
|
|
314
311
|
<span class="cline-any cline-yes">2x</span>
|
|
312
|
+
<span class="cline-any cline-yes">2x</span>
|
|
315
313
|
<span class="cline-any cline-neutral"> </span>
|
|
316
314
|
<span class="cline-any cline-neutral"> </span>
|
|
317
315
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -352,9 +350,6 @@
|
|
|
352
350
|
<span class="cline-any cline-neutral"> </span>
|
|
353
351
|
<span class="cline-any cline-no"> </span>
|
|
354
352
|
<span class="cline-any cline-no"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
353
|
<span class="cline-any cline-no"> </span>
|
|
359
354
|
<span class="cline-any cline-no"> </span>
|
|
360
355
|
<span class="cline-any cline-no"> </span>
|
|
@@ -469,7 +464,6 @@
|
|
|
469
464
|
<span class="cline-any cline-yes">39x</span>
|
|
470
465
|
<span class="cline-any cline-yes">1x</span>
|
|
471
466
|
<span class="cline-any cline-yes">1x</span>
|
|
472
|
-
<span class="cline-any cline-yes">1x</span>
|
|
473
467
|
<span class="cline-any cline-neutral"> </span>
|
|
474
468
|
<span class="cline-any cline-yes">1x</span>
|
|
475
469
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -527,8 +521,7 @@
|
|
|
527
521
|
<span class="cline-any cline-neutral"> </span>
|
|
528
522
|
<span class="cline-any cline-no"> </span>
|
|
529
523
|
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
531
|
-
const {
|
|
524
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
532
525
|
generateUserMetadataID,
|
|
533
526
|
getUserMetadataParams,
|
|
534
527
|
generateUserFlagID,
|
|
@@ -540,12 +533,14 @@ const { isEqual } = require("lodash")
|
|
|
540
533
|
const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
|
|
541
534
|
const {
|
|
542
535
|
getDevelopmentAppID,
|
|
543
|
-
|
|
536
|
+
getProdAppIDs,
|
|
537
|
+
dbExists,
|
|
544
538
|
} = require("@budibase/backend-core/db")
|
|
545
|
-
const { doesDatabaseExist } = require("../../utilities")
|
|
546
539
|
const { UserStatus } = require("@budibase/backend-core/constants")
|
|
540
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
547
541
|
|
|
548
|
-
async function rawMetadata(
|
|
542
|
+
async function rawMetadata() {
|
|
543
|
+
const db = getAppDB()
|
|
549
544
|
return (
|
|
550
545
|
await db.allDocs(
|
|
551
546
|
getUserMetadataParams(null, {
|
|
@@ -583,13 +578,10 @@ function <span class="fstat-no" title="function not covered" >combineMetadataAnd
|
|
|
583
578
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
584
579
|
}
|
|
585
580
|
|
|
586
|
-
exports.syncGlobalUsers = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
581
|
+
exports.syncGlobalUsers = <span class="fstat-no" title="function not covered" >as</span>ync () => {
|
|
587
582
|
// sync user metadata
|
|
588
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
589
|
-
const [users, metadata] = <span class="cstat-no" title="statement not covered" >await Promise.all([</span>
|
|
590
|
-
getGlobalUsers(appId),
|
|
591
|
-
rawMetadata(db),
|
|
592
|
-
])
|
|
583
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
584
|
+
const [users, metadata] = <span class="cstat-no" title="statement not covered" >await Promise.all([getGlobalUsers(), rawMetadata()])</span>
|
|
593
585
|
const toWrite = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
594
586
|
<span class="cstat-no" title="statement not covered" > for (let user of users) {</span>
|
|
595
587
|
const combined = <span class="cstat-no" title="statement not covered" >await combineMetadataAndUser(user, metadata)</span>
|
|
@@ -623,7 +615,7 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
|
|
|
623
615
|
let prodAppIds
|
|
624
616
|
// if they are a builder then get all production app IDs
|
|
625
617
|
<span class="cstat-no" title="statement not covered" > if ((user.builder && user.builder.global) || deleting) {</span>
|
|
626
|
-
<span class="cstat-no" title="statement not covered" > prodAppIds = await
|
|
618
|
+
<span class="cstat-no" title="statement not covered" > prodAppIds = await getProdAppIDs()</span>
|
|
627
619
|
} else {
|
|
628
620
|
<span class="cstat-no" title="statement not covered" > prodAppIds = Object.entries(roles)</span>
|
|
629
621
|
.filter(<span class="fstat-no" title="function not covered" >en</span>try => <span class="cstat-no" title="statement not covered" >entry[1] !== BUILTIN_ROLE_IDS.PUBLIC)</span>
|
|
@@ -633,10 +625,10 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
|
|
|
633
625
|
const roleId = <span class="cstat-no" title="statement not covered" >roles[prodAppId]</span>
|
|
634
626
|
const devAppId = <span class="cstat-no" title="statement not covered" >getDevelopmentAppID(prodAppId)</span>
|
|
635
627
|
<span class="cstat-no" title="statement not covered" > for (let appId of [prodAppId, devAppId]) {</span>
|
|
636
|
-
<span class="cstat-no" title="statement not covered" > if (!(await
|
|
628
|
+
<span class="cstat-no" title="statement not covered" > if (!(await dbExists(appId))) {</span>
|
|
637
629
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
638
630
|
}
|
|
639
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
631
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
640
632
|
const metadataId = <span class="cstat-no" title="statement not covered" >generateUserMetadataID(userId)</span>
|
|
641
633
|
let metadata
|
|
642
634
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
@@ -672,8 +664,8 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
|
|
|
672
664
|
}
|
|
673
665
|
|
|
674
666
|
exports.fetchMetadata = async function (ctx) {
|
|
675
|
-
const database =
|
|
676
|
-
const global = await getGlobalUsers(
|
|
667
|
+
const database = getAppDB()
|
|
668
|
+
const global = await getGlobalUsers()
|
|
677
669
|
const metadata = await rawMetadata(database)
|
|
678
670
|
const users = []
|
|
679
671
|
for (let user of global) {
|
|
@@ -702,8 +694,7 @@ exports.updateSelfMetadata = <span class="fstat-no" title="function not covered"
|
|
|
702
694
|
}
|
|
703
695
|
|
|
704
696
|
exports.updateMetadata = async function (ctx) {
|
|
705
|
-
const
|
|
706
|
-
const db = new CouchDB(appId)
|
|
697
|
+
const db = getAppDB()
|
|
707
698
|
const user = ctx.request.body
|
|
708
699
|
// this isn't applicable to the user
|
|
709
700
|
delete user.roles
|
|
@@ -715,7 +706,7 @@ exports.updateMetadata = async function (ctx) {
|
|
|
715
706
|
}
|
|
716
707
|
|
|
717
708
|
exports.destroyMetadata = async function (ctx) {
|
|
718
|
-
const db =
|
|
709
|
+
const db = getAppDB()
|
|
719
710
|
try {
|
|
720
711
|
const dbUser = await db.get(ctx.params.id)
|
|
721
712
|
<span class="cstat-no" title="statement not covered" > await db.remove(dbUser._id, dbUser._rev)</span>
|
|
@@ -738,7 +729,7 @@ exports.setFlag = <span class="fstat-no" title="function not covered" >as</span>
|
|
|
738
729
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Must supply a 'flag' field in request body.")</span>
|
|
739
730
|
}
|
|
740
731
|
const flagDocId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
|
|
741
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
732
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
742
733
|
let doc
|
|
743
734
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
744
735
|
<span class="cstat-no" title="statement not covered" > doc = await db.get(flagDocId)</span>
|
|
@@ -753,7 +744,7 @@ exports.setFlag = <span class="fstat-no" title="function not covered" >as</span>
|
|
|
753
744
|
exports.getFlags = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
754
745
|
const userId = <span class="cstat-no" title="statement not covered" >ctx.user._id</span>
|
|
755
746
|
const docId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
|
|
756
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
747
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
757
748
|
let doc
|
|
758
749
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
759
750
|
<span class="cstat-no" title="statement not covered" > doc = await db.get(docId)</span>
|
|
@@ -769,7 +760,7 @@ exports.getFlags = <span class="fstat-no" title="function not covered" >as</span
|
|
|
769
760
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
770
761
|
Code coverage generated by
|
|
771
762
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
772
|
-
at
|
|
763
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
773
764
|
</div>
|
|
774
765
|
</div>
|
|
775
766
|
<script src="../../prettify.js"></script>
|
|
@@ -133,7 +133,7 @@ exports.ExportFormats = {
|
|
|
133
133
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
134
134
|
Code coverage generated by
|
|
135
135
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
136
|
-
at
|
|
136
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
137
137
|
</div>
|
|
138
138
|
</div>
|
|
139
139
|
<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">73.
|
|
26
|
+
<span class="strong">73.84% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>144/195</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">74.09% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>143/193</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -89,32 +89,32 @@
|
|
|
89
89
|
|
|
90
90
|
<tr>
|
|
91
91
|
<td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
|
|
92
|
-
<td data-value="88.
|
|
92
|
+
<td data-value="88.4" class="pic high">
|
|
93
93
|
<div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
|
|
94
94
|
</td>
|
|
95
|
-
<td data-value="88.
|
|
96
|
-
<td data-value="
|
|
95
|
+
<td data-value="88.4" class="pct high">88.4%</td>
|
|
96
|
+
<td data-value="69" class="abs high">61/69</td>
|
|
97
97
|
<td data-value="72" class="pct medium">72%</td>
|
|
98
98
|
<td data-value="25" class="abs medium">18/25</td>
|
|
99
99
|
<td data-value="62.5" class="pct medium">62.5%</td>
|
|
100
100
|
<td data-value="8" class="abs medium">5/8</td>
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="
|
|
101
|
+
<td data-value="89.7" class="pct high">89.7%</td>
|
|
102
|
+
<td data-value="68" class="abs high">61/68</td>
|
|
103
103
|
</tr>
|
|
104
104
|
|
|
105
105
|
<tr>
|
|
106
106
|
<td class="file medium" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
|
|
107
|
-
<td data-value="
|
|
108
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
107
|
+
<td data-value="53.08" class="pic medium">
|
|
108
|
+
<div class="chart"><div class="cover-fill" style="width: 53%"></div><div class="cover-empty" style="width: 47%"></div></div>
|
|
109
109
|
</td>
|
|
110
|
-
<td data-value="
|
|
111
|
-
<td data-value="
|
|
110
|
+
<td data-value="53.08" class="pct medium">53.08%</td>
|
|
111
|
+
<td data-value="81" class="abs medium">43/81</td>
|
|
112
112
|
<td data-value="34.61" class="pct low">34.61%</td>
|
|
113
113
|
<td data-value="26" class="abs low">9/26</td>
|
|
114
114
|
<td data-value="66.66" class="pct medium">66.66%</td>
|
|
115
115
|
<td data-value="9" class="abs medium">6/9</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
116
|
+
<td data-value="53.08" class="pct medium">53.08%</td>
|
|
117
|
+
<td data-value="81" class="abs medium">43/81</td>
|
|
118
118
|
</tr>
|
|
119
119
|
|
|
120
120
|
<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 Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
144
144
|
</div>
|
|
145
145
|
</div>
|
|
146
146
|
<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">88.
|
|
26
|
+
<span class="strong">88.4% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>61/69</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">89.7% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>61/68</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -176,9 +176,7 @@
|
|
|
176
176
|
<a name='L117'></a><a href='#L117'>117</a>
|
|
177
177
|
<a name='L118'></a><a href='#L118'>118</a>
|
|
178
178
|
<a name='L119'></a><a href='#L119'>119</a>
|
|
179
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
180
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
181
|
-
<a name='L122'></a><a href='#L122'>122</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
|
|
179
|
+
<a name='L120'></a><a href='#L120'>120</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
|
|
182
180
|
<span class="cline-any cline-yes">38x</span>
|
|
183
181
|
<span class="cline-any cline-yes">38x</span>
|
|
184
182
|
<span class="cline-any cline-yes">38x</span>
|
|
@@ -189,7 +187,6 @@
|
|
|
189
187
|
<span class="cline-any cline-neutral"> </span>
|
|
190
188
|
<span class="cline-any cline-yes">38x</span>
|
|
191
189
|
<span class="cline-any cline-yes">1x</span>
|
|
192
|
-
<span class="cline-any cline-yes">1x</span>
|
|
193
190
|
<span class="cline-any cline-neutral"> </span>
|
|
194
191
|
<span class="cline-any cline-neutral"> </span>
|
|
195
192
|
<span class="cline-any cline-yes">38x</span>
|
|
@@ -235,7 +232,6 @@
|
|
|
235
232
|
<span class="cline-any cline-yes">38x</span>
|
|
236
233
|
<span class="cline-any cline-yes">2x</span>
|
|
237
234
|
<span class="cline-any cline-yes">2x</span>
|
|
238
|
-
<span class="cline-any cline-yes">2x</span>
|
|
239
235
|
<span class="cline-any cline-neutral"> </span>
|
|
240
236
|
<span class="cline-any cline-yes">2x</span>
|
|
241
237
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -299,22 +295,21 @@
|
|
|
299
295
|
<span class="cline-any cline-yes">2x</span>
|
|
300
296
|
<span class="cline-any cline-yes">2x</span>
|
|
301
297
|
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
303
|
-
const viewTemplate = require("./viewBuilder")
|
|
298
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const viewTemplate = require("./viewBuilder")
|
|
304
299
|
const { apiFileReturn } = require("../../../utilities/fileSystem")
|
|
305
300
|
const exporters = require("./exporters")
|
|
306
301
|
const { saveView, getView, getViews, deleteView } = require("./utils")
|
|
307
302
|
const { fetchView } = require("../row")
|
|
308
303
|
const { getTable } = require("../table/utils")
|
|
309
304
|
const { FieldTypes } = require("../../../constants")
|
|
305
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
310
306
|
|
|
311
307
|
exports.fetch = async ctx => {
|
|
312
|
-
|
|
313
|
-
ctx.body = await getViews(db)
|
|
308
|
+
ctx.body = await getViews()
|
|
314
309
|
}
|
|
315
310
|
|
|
316
311
|
exports.save = async ctx => {
|
|
317
|
-
const db =
|
|
312
|
+
const db = getAppDB()
|
|
318
313
|
const { originalName, ...viewToSave } = ctx.request.body
|
|
319
314
|
const view = viewTemplate(viewToSave)
|
|
320
315
|
|
|
@@ -322,7 +317,7 @@ exports.save = async ctx => {
|
|
|
322
317
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot create view without a name")</span>
|
|
323
318
|
}
|
|
324
319
|
|
|
325
|
-
await saveView(
|
|
320
|
+
await saveView(originalName, viewToSave.name, view)
|
|
326
321
|
|
|
327
322
|
// add views to table document
|
|
328
323
|
const table = await db.get(ctx.request.body.tableId)
|
|
@@ -343,9 +338,9 @@ exports.save = async ctx => {
|
|
|
343
338
|
}
|
|
344
339
|
|
|
345
340
|
exports.destroy = async ctx => {
|
|
346
|
-
const db =
|
|
341
|
+
const db = getAppDB()
|
|
347
342
|
const viewName = decodeURI(ctx.params.viewName)
|
|
348
|
-
const view = await deleteView(
|
|
343
|
+
const view = await deleteView(viewName)
|
|
349
344
|
const table = await db.get(view.meta.tableId)
|
|
350
345
|
delete table.views[viewName]
|
|
351
346
|
await db.put(table)
|
|
@@ -354,9 +349,8 @@ exports.destroy = async ctx => {
|
|
|
354
349
|
}
|
|
355
350
|
|
|
356
351
|
exports.exportView = async ctx => {
|
|
357
|
-
const db = new CouchDB(ctx.appId)
|
|
358
352
|
const viewName = decodeURI(ctx.query.view)
|
|
359
|
-
const view = await getView(
|
|
353
|
+
const view = await getView(viewName)
|
|
360
354
|
|
|
361
355
|
const format = ctx.query.format
|
|
362
356
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!format || !Object.values(exporters.ExportFormats).includes(format)) {
|
|
@@ -384,7 +378,7 @@ exports.exportView = async ctx => {
|
|
|
384
378
|
let schema = view && view.meta && view.meta.schema
|
|
385
379
|
if (!schema) {
|
|
386
380
|
const tableId = ctx.params.tableId || view.meta.tableId
|
|
387
|
-
const table = await getTable(
|
|
381
|
+
const table = await getTable(tableId)
|
|
388
382
|
schema = table.schema
|
|
389
383
|
}
|
|
390
384
|
|
|
@@ -427,7 +421,7 @@ exports.exportView = async ctx => {
|
|
|
427
421
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
428
422
|
Code coverage generated by
|
|
429
423
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
430
|
-
at
|
|
424
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
431
425
|
</div>
|
|
432
426
|
</div>
|
|
433
427
|
<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">
|
|
26
|
+
<span class="strong">53.08% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>43/81</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">53.08% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>43/81</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -200,7 +200,12 @@
|
|
|
200
200
|
<a name='L141'></a><a href='#L141'>141</a>
|
|
201
201
|
<a name='L142'></a><a href='#L142'>142</a>
|
|
202
202
|
<a name='L143'></a><a href='#L143'>143</a>
|
|
203
|
-
<a name='L144'></a><a href='#L144'>144</a
|
|
203
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
204
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
205
|
+
<a name='L146'></a><a href='#L146'>146</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-neutral"> </span>
|
|
204
209
|
<span class="cline-any cline-neutral"> </span>
|
|
205
210
|
<span class="cline-any cline-neutral"> </span>
|
|
206
211
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -208,11 +213,13 @@
|
|
|
208
213
|
<span class="cline-any cline-neutral"> </span>
|
|
209
214
|
<span class="cline-any cline-yes">39x</span>
|
|
210
215
|
<span class="cline-any cline-yes">39x</span>
|
|
216
|
+
<span class="cline-any cline-yes">39x</span>
|
|
211
217
|
<span class="cline-any cline-neutral"> </span>
|
|
212
218
|
<span class="cline-any cline-yes">39x</span>
|
|
213
219
|
<span class="cline-any cline-yes">2x</span>
|
|
214
220
|
<span class="cline-any cline-yes">2x</span>
|
|
215
221
|
<span class="cline-any cline-yes">2x</span>
|
|
222
|
+
<span class="cline-any cline-yes">2x</span>
|
|
216
223
|
<span class="cline-any cline-neutral"> </span>
|
|
217
224
|
<span class="cline-any cline-neutral"> </span>
|
|
218
225
|
<span class="cline-any cline-no"> </span>
|
|
@@ -229,6 +236,7 @@
|
|
|
229
236
|
<span class="cline-any cline-yes">2x</span>
|
|
230
237
|
<span class="cline-any cline-yes">2x</span>
|
|
231
238
|
<span class="cline-any cline-yes">2x</span>
|
|
239
|
+
<span class="cline-any cline-yes">2x</span>
|
|
232
240
|
<span class="cline-any cline-neutral"> </span>
|
|
233
241
|
<span class="cline-any cline-yes">5x</span>
|
|
234
242
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -260,6 +268,7 @@
|
|
|
260
268
|
<span class="cline-any cline-yes">8x</span>
|
|
261
269
|
<span class="cline-any cline-yes">8x</span>
|
|
262
270
|
<span class="cline-any cline-yes">8x</span>
|
|
271
|
+
<span class="cline-any cline-yes">8x</span>
|
|
263
272
|
<span class="cline-any cline-neutral"> </span>
|
|
264
273
|
<span class="cline-any cline-neutral"> </span>
|
|
265
274
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -300,6 +309,7 @@
|
|
|
300
309
|
<span class="cline-any cline-yes">1x</span>
|
|
301
310
|
<span class="cline-any cline-yes">1x</span>
|
|
302
311
|
<span class="cline-any cline-yes">1x</span>
|
|
312
|
+
<span class="cline-any cline-yes">1x</span>
|
|
303
313
|
<span class="cline-any cline-neutral"> </span>
|
|
304
314
|
<span class="cline-any cline-no"> </span>
|
|
305
315
|
<span class="cline-any cline-no"> </span>
|
|
@@ -351,8 +361,10 @@
|
|
|
351
361
|
SEPARATOR,
|
|
352
362
|
} = require("../../../db/utils")
|
|
353
363
|
const env = require("../../../environment")
|
|
364
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
354
365
|
|
|
355
|
-
exports.getView = async
|
|
366
|
+
exports.getView = async viewName => {
|
|
367
|
+
const db = getAppDB()
|
|
356
368
|
if (env.SELF_HOSTED) {
|
|
357
369
|
const designDoc = await db.get("_design/database")
|
|
358
370
|
return designDoc.views[viewName]
|
|
@@ -367,7 +379,8 @@ exports.getView = async (db, viewName) => {
|
|
|
367
379
|
}
|
|
368
380
|
}
|
|
369
381
|
|
|
370
|
-
exports.getViews = async
|
|
382
|
+
exports.getViews = async () => {
|
|
383
|
+
const db = getAppDB()
|
|
371
384
|
const response = []
|
|
372
385
|
if (env.SELF_HOSTED) {
|
|
373
386
|
const designDoc = await db.get("_design/database")
|
|
@@ -399,7 +412,8 @@ exports.getViews = async db => {
|
|
|
399
412
|
return response
|
|
400
413
|
}
|
|
401
414
|
|
|
402
|
-
exports.saveView = async (
|
|
415
|
+
exports.saveView = async (originalName, viewName, viewTemplate) => {
|
|
416
|
+
const db = getAppDB()
|
|
403
417
|
if (env.SELF_HOSTED) {
|
|
404
418
|
const designDoc = await db.get("_design/database")
|
|
405
419
|
designDoc.views = {
|
|
@@ -436,7 +450,8 @@ exports.saveView = async (db, originalName, viewName, viewTemplate) => {
|
|
|
436
450
|
}
|
|
437
451
|
}
|
|
438
452
|
|
|
439
|
-
exports.deleteView = async
|
|
453
|
+
exports.deleteView = async viewName => {
|
|
454
|
+
const db = getAppDB()
|
|
440
455
|
if (env.SELF_HOSTED) {
|
|
441
456
|
const designDoc = await db.get("_design/database")
|
|
442
457
|
const view = designDoc.views[viewName]
|
|
@@ -493,7 +508,7 @@ exports.getFromMemoryDoc = async (db, viewName) => {
|
|
|
493
508
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
494
509
|
Code coverage generated by
|
|
495
510
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
496
|
-
at
|
|
511
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
497
512
|
</div>
|
|
498
513
|
</div>
|
|
499
514
|
<script src="../../../prettify.js"></script>
|
|
@@ -550,7 +550,7 @@ module.exports = viewTemplate
|
|
|
550
550
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
551
551
|
Code coverage generated by
|
|
552
552
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
553
|
-
at
|
|
553
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
554
554
|
</div>
|
|
555
555
|
</div>
|
|
556
556
|
<script src="../../../prettify.js"></script>
|