@budibase/server 1.0.49-alpha.2 → 1.0.49-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/arangojs.ts +1 -1
- package/__mocks__/aws-sdk.ts +4 -4
- package/__mocks__/mongodb.ts +4 -5
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +2 -1
- package/__mocks__/pg.ts +3 -5
- package/builder/assets/{index.82e12602.js → index.1b905242.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +1917 -1929
- package/coverage/coverage-final.json +54 -54
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +58 -37
- package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
- package/coverage/lcov-report/api/controllers/automation.js.html +21 -51
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
- package/coverage/lcov-report/api/controllers/component.js.html +10 -13
- package/coverage/lcov-report/api/controllers/datasource.js.html +17 -23
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/api/controllers/index.html +52 -52
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +4 -4
- package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +6 -6
- package/coverage/lcov-report/api/controllers/query/index.html +10 -10
- package/coverage/lcov-report/api/controllers/query/index.js.html +21 -18
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +9 -9
- package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
- package/coverage/lcov-report/api/controllers/row/external.js.html +6 -12
- package/coverage/lcov-report/api/controllers/row/index.html +22 -22
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +37 -82
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +19 -25
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +14 -17
- package/coverage/lcov-report/api/controllers/row/utils.js.html +15 -12
- package/coverage/lcov-report/api/controllers/screen.js.html +10 -16
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +20 -50
- package/coverage/lcov-report/api/controllers/table/external.js.html +15 -24
- package/coverage/lcov-report/api/controllers/table/index.html +37 -37
- package/coverage/lcov-report/api/controllers/table/index.js.html +7 -7
- package/coverage/lcov-report/api/controllers/table/internal.js.html +36 -45
- package/coverage/lcov-report/api/controllers/table/utils.js.html +40 -76
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +26 -35
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +16 -16
- package/coverage/lcov-report/api/controllers/view/index.js.html +15 -21
- package/coverage/lcov-report/api/controllers/view/utils.js.html +25 -10
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +21 -15
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +4 -7
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +18 -18
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +2 -5
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +2 -2
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +46 -40
- package/coverage/lcov-report/automations/utils.js.html +24 -12
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/client.js.html +18 -18
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -23
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +24 -66
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +28 -28
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +5 -5
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +88 -88
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +21 -15
- package/coverage/lcov-report/middleware/builder.js.html +3 -3
- package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
- package/coverage/lcov-report/middleware/index.html +28 -28
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +29 -29
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +30 -24
- package/coverage/lcov-report/threads/index.html +16 -16
- package/coverage/lcov-report/threads/index.js.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +17 -17
- package/coverage/lcov-report/threads/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +44 -35
- package/coverage/lcov-report/utilities/index.html +27 -27
- package/coverage/lcov-report/utilities/index.js.html +40 -70
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
- package/coverage/lcov-report/utilities/rowProcessor/index.html +11 -11
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +16 -58
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +5 -2
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +5 -5
- package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
- package/coverage/lcov.info +3189 -3198
- package/dist/api/controllers/application.js +31 -28
- package/dist/api/controllers/auth.js +4 -5
- package/dist/api/controllers/automation.js +14 -19
- package/dist/api/controllers/cloud.js +2 -3
- package/dist/api/controllers/component.js +3 -4
- package/dist/api/controllers/datasource.js +9 -10
- package/dist/api/controllers/deploy/Deployment.js +3 -6
- package/dist/api/controllers/deploy/index.js +12 -13
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/layout.js +3 -3
- package/dist/api/controllers/metadata.js +4 -4
- package/dist/api/controllers/permission.js +4 -4
- package/dist/api/controllers/query/import/index.js +4 -6
- package/dist/api/controllers/query/index.js +11 -10
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +5 -6
- package/dist/api/controllers/row/ExternalRequest.js +76 -63
- package/dist/api/controllers/row/external.js +4 -4
- package/dist/api/controllers/row/internal.js +29 -44
- package/dist/api/controllers/row/internalSearch.js +11 -13
- package/dist/api/controllers/row/staticFormula.js +11 -11
- package/dist/api/controllers/row/utils.js +7 -6
- package/dist/api/controllers/screen.js +5 -7
- package/dist/api/controllers/static/index.js +4 -4
- package/dist/api/controllers/table/bulkFormula.js +14 -15
- package/dist/api/controllers/table/external.js +7 -10
- package/dist/api/controllers/table/index.js +5 -5
- package/dist/api/controllers/table/internal.js +16 -19
- package/dist/api/controllers/table/utils.js +29 -31
- package/dist/api/controllers/user.js +16 -20
- package/dist/api/controllers/view/index.js +8 -10
- package/dist/api/controllers/view/utils.js +9 -4
- package/dist/api/controllers/webhook.js +10 -8
- package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
- package/dist/automations/automationUtils.js +2 -3
- package/dist/automations/steps/createRow.js +1 -1
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +27 -25
- package/dist/automations/utils.js +10 -5
- package/dist/db/linkedRows/LinkController.js +3 -7
- package/dist/db/linkedRows/index.js +16 -26
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +9 -10
- package/dist/environment.js +2 -1
- package/dist/integrations/utils.js +3 -0
- package/dist/middleware/authorized.js +5 -3
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +41 -37
- package/dist/middleware/usageQuota.js +2 -2
- package/dist/migrations/functions/appUrls.js +11 -2
- package/dist/migrations/functions/usageQuotas/syncApps.js +7 -9
- package/dist/migrations/functions/usageQuotas/syncRows.js +7 -9
- package/dist/package.json +4 -4
- package/dist/tests/utilities/TestConfiguration.js +67 -44
- package/dist/threads/automation.js +13 -11
- package/dist/threads/query.js +11 -11
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +4 -3
- package/dist/utilities/global.js +15 -12
- package/dist/utilities/index.js +7 -17
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +9 -10
- package/dist/utilities/usageQuota/index.js +1 -0
- package/dist/utilities/usageQuota/rows.js +1 -0
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +4 -4
- package/package.json +5 -5
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +35 -28
- package/src/api/controllers/auth.js +4 -5
- package/src/api/controllers/automation.js +13 -23
- package/src/api/controllers/cloud.js +2 -3
- package/src/api/controllers/component.js +3 -4
- package/src/api/controllers/datasource.js +9 -11
- package/src/api/controllers/deploy/Deployment.js +3 -7
- package/src/api/controllers/deploy/index.js +20 -13
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +4 -9
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +4 -6
- package/src/api/controllers/query/import/tests/index.spec.js +2 -1
- package/src/api/controllers/query/index.js +11 -10
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +5 -6
- package/src/api/controllers/row/ExternalRequest.ts +53 -42
- package/src/api/controllers/row/external.js +4 -6
- package/src/api/controllers/row/internal.js +29 -44
- package/src/api/controllers/row/internalSearch.js +11 -13
- package/src/api/controllers/row/staticFormula.js +10 -11
- package/src/api/controllers/row/utils.js +7 -6
- package/src/api/controllers/screen.js +5 -7
- package/src/api/controllers/static/index.js +4 -4
- package/src/api/controllers/table/bulkFormula.js +13 -23
- package/src/api/controllers/table/external.js +7 -10
- package/src/api/controllers/table/index.js +5 -5
- package/src/api/controllers/table/internal.js +18 -21
- package/src/api/controllers/table/utils.js +29 -41
- package/src/api/controllers/user.js +17 -20
- package/src/api/controllers/view/index.js +8 -10
- package/src/api/controllers/view/utils.js +9 -4
- package/src/api/controllers/webhook.js +10 -8
- package/src/api/routes/tests/automation.spec.js +1 -0
- package/src/api/routes/tests/misc.spec.js +0 -1
- package/src/api/routes/tests/routing.spec.js +21 -12
- package/src/api/routes/tests/row.spec.js +7 -4
- package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
- package/src/automations/automationUtils.js +2 -3
- package/src/automations/steps/createRow.js +0 -1
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +33 -31
- package/src/automations/utils.js +9 -5
- package/src/db/linkedRows/LinkController.js +3 -7
- package/src/db/linkedRows/index.js +16 -30
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +0 -1
- package/src/db/tests/linkTests.spec.js +5 -6
- package/src/db/views/staticViews.js +8 -10
- package/src/environment.js +2 -1
- package/src/integrations/utils.ts +4 -1
- package/src/middleware/authorized.js +5 -3
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +50 -46
- package/src/middleware/tests/authorized.spec.js +7 -2
- package/src/middleware/tests/currentapp.spec.js +6 -0
- package/src/middleware/usageQuota.js +2 -2
- package/src/migrations/functions/appUrls.ts +11 -2
- package/src/migrations/functions/usageQuotas/syncApps.ts +5 -4
- package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
- package/src/tests/utilities/TestConfiguration.js +69 -50
- package/src/threads/automation.js +17 -15
- package/src/threads/query.js +12 -12
- package/src/utilities/fileSystem/index.js +4 -3
- package/src/utilities/global.js +15 -12
- package/src/utilities/index.js +7 -17
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +9 -23
- package/src/utilities/usageQuota/index.js +1 -0
- package/src/utilities/usageQuota/rows.js +1 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +4 -4
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">63.9% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>131/205</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">40% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>38/95</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">64.
|
|
47
|
+
<span class="strong">64.32% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>128/199</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -474,20 +474,7 @@
|
|
|
474
474
|
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
475
|
<a name='L416'></a><a href='#L416'>416</a>
|
|
476
476
|
<a name='L417'></a><a href='#L417'>417</a>
|
|
477
|
-
<a name='L418'></a><a href='#L418'>418</a>
|
|
478
|
-
<a name='L419'></a><a href='#L419'>419</a>
|
|
479
|
-
<a name='L420'></a><a href='#L420'>420</a>
|
|
480
|
-
<a name='L421'></a><a href='#L421'>421</a>
|
|
481
|
-
<a name='L422'></a><a href='#L422'>422</a>
|
|
482
|
-
<a name='L423'></a><a href='#L423'>423</a>
|
|
483
|
-
<a name='L424'></a><a href='#L424'>424</a>
|
|
484
|
-
<a name='L425'></a><a href='#L425'>425</a>
|
|
485
|
-
<a name='L426'></a><a href='#L426'>426</a>
|
|
486
|
-
<a name='L427'></a><a href='#L427'>427</a>
|
|
487
|
-
<a name='L428'></a><a href='#L428'>428</a>
|
|
488
|
-
<a name='L429'></a><a href='#L429'>429</a>
|
|
489
|
-
<a name='L430'></a><a href='#L430'>430</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
490
|
-
<span class="cline-any cline-yes">39x</span>
|
|
477
|
+
<a name='L418'></a><a href='#L418'>418</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
491
478
|
<span class="cline-any cline-neutral"> </span>
|
|
492
479
|
<span class="cline-any cline-neutral"> </span>
|
|
493
480
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -515,6 +502,7 @@
|
|
|
515
502
|
<span class="cline-any cline-yes">39x</span>
|
|
516
503
|
<span class="cline-any cline-yes">39x</span>
|
|
517
504
|
<span class="cline-any cline-yes">39x</span>
|
|
505
|
+
<span class="cline-any cline-yes">39x</span>
|
|
518
506
|
<span class="cline-any cline-neutral"> </span>
|
|
519
507
|
<span class="cline-any cline-yes">39x</span>
|
|
520
508
|
<span class="cline-any cline-no"> </span>
|
|
@@ -536,6 +524,7 @@
|
|
|
536
524
|
<span class="cline-any cline-yes">101x</span>
|
|
537
525
|
<span class="cline-any cline-yes">101x</span>
|
|
538
526
|
<span class="cline-any cline-yes">101x</span>
|
|
527
|
+
<span class="cline-any cline-yes">101x</span>
|
|
539
528
|
<span class="cline-any cline-yes">4x</span>
|
|
540
529
|
<span class="cline-any cline-yes">11x</span>
|
|
541
530
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -705,9 +694,6 @@
|
|
|
705
694
|
<span class="cline-any cline-yes">101x</span>
|
|
706
695
|
<span class="cline-any cline-neutral"> </span>
|
|
707
696
|
<span class="cline-any cline-yes">101x</span>
|
|
708
|
-
<span class="cline-any cline-yes">101x</span>
|
|
709
|
-
<span class="cline-any cline-neutral"> </span>
|
|
710
|
-
<span class="cline-any cline-yes">101x</span>
|
|
711
697
|
<span class="cline-any cline-neutral"> </span>
|
|
712
698
|
<span class="cline-any cline-neutral"> </span>
|
|
713
699
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -722,11 +708,6 @@
|
|
|
722
708
|
<span class="cline-any cline-neutral"> </span>
|
|
723
709
|
<span class="cline-any cline-neutral"> </span>
|
|
724
710
|
<span class="cline-any cline-yes">101x</span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-neutral"> </span>
|
|
727
|
-
<span class="cline-any cline-neutral"> </span>
|
|
728
|
-
<span class="cline-any cline-neutral"> </span>
|
|
729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
730
711
|
<span class="cline-any cline-yes">101x</span>
|
|
731
712
|
<span class="cline-any cline-yes">101x</span>
|
|
732
713
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -735,11 +716,6 @@
|
|
|
735
716
|
<span class="cline-any cline-neutral"> </span>
|
|
736
717
|
<span class="cline-any cline-yes">101x</span>
|
|
737
718
|
<span class="cline-any cline-yes">101x</span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-neutral"> </span>
|
|
740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-neutral"> </span>
|
|
743
719
|
<span class="cline-any cline-yes">101x</span>
|
|
744
720
|
<span class="cline-any cline-neutral"> </span>
|
|
745
721
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -915,8 +891,7 @@
|
|
|
915
891
|
<span class="cline-any cline-neutral"> </span>
|
|
916
892
|
<span class="cline-any cline-neutral"> </span>
|
|
917
893
|
<span class="cline-any cline-yes">39x</span>
|
|
918
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
919
|
-
const csvParser = require("../../../utilities/csvParser")
|
|
894
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const csvParser = require("../../../utilities/csvParser")
|
|
920
895
|
const {
|
|
921
896
|
getRowParams,
|
|
922
897
|
generateRowID,
|
|
@@ -943,10 +918,11 @@ const {
|
|
|
943
918
|
const { getViews, saveView } = require("../view/utils")
|
|
944
919
|
const viewTemplate = require("../view/viewBuilder")
|
|
945
920
|
const usageQuota = require("../../../utilities/usageQuota")
|
|
921
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
946
922
|
const { cloneDeep } = require("lodash/fp")
|
|
947
923
|
|
|
948
|
-
exports.clearColumns = <span class="fstat-no" title="function not covered" >as</span>ync (
|
|
949
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
924
|
+
exports.clearColumns = <span class="fstat-no" title="function not covered" >as</span>ync (table, columnNames) => {
|
|
925
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
950
926
|
const rows = <span class="cstat-no" title="statement not covered" >await db.allDocs(</span>
|
|
951
927
|
getRowParams(table._id, null, {
|
|
952
928
|
include_docs: true,
|
|
@@ -960,7 +936,8 @@ exports.clearColumns = <span class="fstat-no" title="function not covered" >as</
|
|
|
960
936
|
)
|
|
961
937
|
}
|
|
962
938
|
|
|
963
|
-
exports.checkForColumnUpdates = async (
|
|
939
|
+
exports.checkForColumnUpdates = async (oldTable, updatedTable) => {
|
|
940
|
+
const db = getAppDB()
|
|
964
941
|
let updatedRows = []
|
|
965
942
|
const rename = updatedTable._rename
|
|
966
943
|
let deletedColumns = []
|
|
@@ -990,9 +967,9 @@ exports.checkForColumnUpdates = async (appId, db, oldTable, updatedTable) =>
|
|
|
990
967
|
})
|
|
991
968
|
|
|
992
969
|
// cleanup any attachments from object storage for deleted attachment columns
|
|
993
|
-
await cleanupAttachments(
|
|
970
|
+
await cleanupAttachments(updatedTable, { oldTable, rows: rawRows })
|
|
994
971
|
// Update views
|
|
995
|
-
await exports.checkForViewUpdates(
|
|
972
|
+
await exports.checkForViewUpdates(updatedTable, rename, deletedColumns)
|
|
996
973
|
delete updatedTable._rename
|
|
997
974
|
}
|
|
998
975
|
return { rows: updatedRows, table: updatedTable }
|
|
@@ -1019,12 +996,12 @@ exports.makeSureTableUpToDate = (table, tableToSave) => {
|
|
|
1019
996
|
return tableToSave
|
|
1020
997
|
}
|
|
1021
998
|
|
|
1022
|
-
exports.handleDataImport = async (
|
|
999
|
+
exports.handleDataImport = async (user, table, dataImport) => {
|
|
1023
1000
|
if (!dataImport || !dataImport.csvString) {
|
|
1024
1001
|
return table
|
|
1025
1002
|
}
|
|
1026
1003
|
|
|
1027
|
-
const db =
|
|
1004
|
+
const db = getAppDB()
|
|
1028
1005
|
// Populate the table with rows imported from CSV in a bulk update
|
|
1029
1006
|
const data = await csvParser.transform({
|
|
1030
1007
|
...dataImport,
|
|
@@ -1069,8 +1046,8 @@ exports.handleDataImport = async (appId, user, table, dataImport) => {
|
|
|
1069
1046
|
return table
|
|
1070
1047
|
}
|
|
1071
1048
|
|
|
1072
|
-
exports.handleSearchIndexes = async
|
|
1073
|
-
const db =
|
|
1049
|
+
exports.handleSearchIndexes = async table => {
|
|
1050
|
+
const db = getAppDB()
|
|
1074
1051
|
// create relevant search indexes
|
|
1075
1052
|
if (table.indexes && table.indexes.length > 0) {
|
|
1076
1053
|
const currentIndexes = await db.getIndexes()
|
|
@@ -1127,12 +1104,9 @@ exports.checkStaticTables = table => {
|
|
|
1127
1104
|
}
|
|
1128
1105
|
|
|
1129
1106
|
class TableSaveFunctions {
|
|
1130
|
-
constructor({
|
|
1131
|
-
this.db =
|
|
1132
|
-
this.
|
|
1133
|
-
if (this.ctx && this.ctx.user) {
|
|
1134
|
-
this.appId = this.ctx.appId
|
|
1135
|
-
}
|
|
1107
|
+
constructor({ user, oldTable, dataImport }) {
|
|
1108
|
+
this.db = getAppDB()
|
|
1109
|
+
this.user = user
|
|
1136
1110
|
this.oldTable = oldTable
|
|
1137
1111
|
this.dataImport = dataImport
|
|
1138
1112
|
// any rows that need updated
|
|
@@ -1150,25 +1124,15 @@ class TableSaveFunctions {
|
|
|
1150
1124
|
|
|
1151
1125
|
// when confirmed valid
|
|
1152
1126
|
async mid(table) {
|
|
1153
|
-
let response = await exports.checkForColumnUpdates(
|
|
1154
|
-
this.appId,
|
|
1155
|
-
this.db,
|
|
1156
|
-
this.oldTable,
|
|
1157
|
-
table
|
|
1158
|
-
)
|
|
1127
|
+
let response = await exports.checkForColumnUpdates(this.oldTable, table)
|
|
1159
1128
|
this.rows = this.rows.concat(response.rows)
|
|
1160
1129
|
return table
|
|
1161
1130
|
}
|
|
1162
1131
|
|
|
1163
1132
|
// after saving
|
|
1164
1133
|
async after(table) {
|
|
1165
|
-
table = await exports.handleSearchIndexes(
|
|
1166
|
-
table = await exports.handleDataImport(
|
|
1167
|
-
this.appId,
|
|
1168
|
-
this.ctx.user,
|
|
1169
|
-
table,
|
|
1170
|
-
this.dataImport
|
|
1171
|
-
)
|
|
1134
|
+
table = await exports.handleSearchIndexes(table)
|
|
1135
|
+
table = await exports.handleDataImport(this.user, table, this.dataImport)
|
|
1172
1136
|
return table
|
|
1173
1137
|
}
|
|
1174
1138
|
|
|
@@ -1177,8 +1141,8 @@ class TableSaveFunctions {
|
|
|
1177
1141
|
}
|
|
1178
1142
|
}
|
|
1179
1143
|
|
|
1180
|
-
exports.getAllInternalTables = async
|
|
1181
|
-
const db =
|
|
1144
|
+
exports.getAllInternalTables = async () => {
|
|
1145
|
+
const db = getAppDB()
|
|
1182
1146
|
const internalTables = await db.allDocs(
|
|
1183
1147
|
getTableParams(null, {
|
|
1184
1148
|
include_docs: true,
|
|
@@ -1191,8 +1155,8 @@ exports.getAllInternalTables = async appId => {
|
|
|
1191
1155
|
}))
|
|
1192
1156
|
}
|
|
1193
1157
|
|
|
1194
|
-
exports.getAllExternalTables = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
1195
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
1158
|
+
exports.getAllExternalTables = <span class="fstat-no" title="function not covered" >as</span>ync datasourceId => {
|
|
1159
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
1196
1160
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
1197
1161
|
<span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
|
|
1198
1162
|
<span class="cstat-no" title="statement not covered" > throw "Datasource is not configured fully."</span>
|
|
@@ -1200,25 +1164,25 @@ exports.getAllExternalTables = <span class="fstat-no" title="function not covere
|
|
|
1200
1164
|
<span class="cstat-no" title="statement not covered" > return datasource.entities</span>
|
|
1201
1165
|
}
|
|
1202
1166
|
|
|
1203
|
-
exports.getExternalTable = <span class="fstat-no" title="function not covered" >as</span>ync (
|
|
1204
|
-
const entities = <span class="cstat-no" title="statement not covered" >await exports.getAllExternalTables(
|
|
1167
|
+
exports.getExternalTable = <span class="fstat-no" title="function not covered" >as</span>ync (datasourceId, tableName) => {
|
|
1168
|
+
const entities = <span class="cstat-no" title="statement not covered" >await exports.getAllExternalTables(datasourceId)</span>
|
|
1205
1169
|
<span class="cstat-no" title="statement not covered" > return entities[tableName]</span>
|
|
1206
1170
|
}
|
|
1207
1171
|
|
|
1208
|
-
exports.getTable = async
|
|
1209
|
-
const db =
|
|
1172
|
+
exports.getTable = async tableId => {
|
|
1173
|
+
const db = getAppDB()
|
|
1210
1174
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (isExternalTable(tableId)) {
|
|
1211
1175
|
let { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
1212
1176
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
1213
|
-
const table = <span class="cstat-no" title="statement not covered" >await exports.getExternalTable(
|
|
1177
|
+
const table = <span class="cstat-no" title="statement not covered" >await exports.getExternalTable(datasourceId, tableName)</span>
|
|
1214
1178
|
<span class="cstat-no" title="statement not covered" > return { ...table, sql: isSQL(datasource) }</span>
|
|
1215
1179
|
} else {
|
|
1216
1180
|
return db.get(tableId)
|
|
1217
1181
|
}
|
|
1218
1182
|
}
|
|
1219
1183
|
|
|
1220
|
-
exports.checkForViewUpdates = async (
|
|
1221
|
-
const views = await getViews(
|
|
1184
|
+
exports.checkForViewUpdates = async (table, rename, deletedColumns) => {
|
|
1185
|
+
const views = await getViews()
|
|
1222
1186
|
const tableViews = views.filter(<span class="fstat-no" title="function not covered" >vi</span>ew => <span class="cstat-no" title="statement not covered" >view.meta.tableId === table._id)</span>
|
|
1223
1187
|
|
|
1224
1188
|
// Check each table view to see if impacted by this table action
|
|
@@ -1280,7 +1244,7 @@ exports.checkForViewUpdates = async (db, table, rename, deletedColumns) => {
|
|
|
1280
1244
|
// Update view if required
|
|
1281
1245
|
<span class="cstat-no" title="statement not covered" > if (needsUpdated) {</span>
|
|
1282
1246
|
const newViewTemplate = <span class="cstat-no" title="statement not covered" >viewTemplate(view.meta)</span>
|
|
1283
|
-
<span class="cstat-no" title="statement not covered" > await saveView(
|
|
1247
|
+
<span class="cstat-no" title="statement not covered" > await saveView(null, view.name, newViewTemplate)</span>
|
|
1284
1248
|
<span class="cstat-no" title="statement not covered" > if (!newViewTemplate.meta.schema) {</span>
|
|
1285
1249
|
<span class="cstat-no" title="statement not covered" > newViewTemplate.meta.schema = table.schema</span>
|
|
1286
1250
|
}
|
|
@@ -1351,7 +1315,7 @@ exports.TableSaveFunctions = TableSaveFunctions
|
|
|
1351
1315
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1352
1316
|
Code coverage generated by
|
|
1353
1317
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1354
|
-
at
|
|
1318
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
1355
1319
|
</div>
|
|
1356
1320
|
</div>
|
|
1357
1321
|
<script src="../../../prettify.js"></script>
|
|
@@ -181,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
|
|
|
181
181
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
182
182
|
Code coverage generated by
|
|
183
183
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
184
|
-
at
|
|
184
|
+
at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
187
187
|
<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">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 Tue Feb 01 2022 16:32:19 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 Tue Feb 01 2022 16:32:19 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 Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
|
|
144
144
|
</div>
|
|
145
145
|
</div>
|
|
146
146
|
<script src="../../../prettify.js"></script>
|