@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,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">72.46% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>50/69</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">67.64% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>23/
|
|
35
|
+
<span class='fraction'>23/34</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">40% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/5</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">75.75% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>50/66</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -213,11 +213,7 @@
|
|
|
213
213
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
214
|
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
215
|
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
-
<a name='L160'></a><a href='#L160'>160</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
220
|
-
<span class="cline-any cline-yes">39x</span>
|
|
216
|
+
<a name='L157'></a><a href='#L157'>157</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
221
217
|
<span class="cline-any cline-yes">39x</span>
|
|
222
218
|
<span class="cline-any cline-yes">39x</span>
|
|
223
219
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -229,12 +225,13 @@
|
|
|
229
225
|
<span class="cline-any cline-yes">39x</span>
|
|
230
226
|
<span class="cline-any cline-yes">39x</span>
|
|
231
227
|
<span class="cline-any cline-yes">39x</span>
|
|
228
|
+
<span class="cline-any cline-yes">39x</span>
|
|
229
|
+
<span class="cline-any cline-yes">39x</span>
|
|
232
230
|
<span class="cline-any cline-neutral"> </span>
|
|
233
231
|
<span class="cline-any cline-yes">39x</span>
|
|
234
232
|
<span class="cline-any cline-yes">101x</span>
|
|
235
233
|
<span class="cline-any cline-yes">101x</span>
|
|
236
234
|
<span class="cline-any cline-yes">101x</span>
|
|
237
|
-
<span class="cline-any cline-yes">101x</span>
|
|
238
235
|
<span class="cline-any cline-neutral"> </span>
|
|
239
236
|
<span class="cline-any cline-neutral"> </span>
|
|
240
237
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -258,7 +255,6 @@
|
|
|
258
255
|
<span class="cline-any cline-neutral"> </span>
|
|
259
256
|
<span class="cline-any cline-neutral"> </span>
|
|
260
257
|
<span class="cline-any cline-neutral"> </span>
|
|
261
|
-
<span class="cline-any cline-neutral"> </span>
|
|
262
258
|
<span class="cline-any cline-yes">101x</span>
|
|
263
259
|
<span class="cline-any cline-neutral"> </span>
|
|
264
260
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -306,7 +302,6 @@
|
|
|
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>
|
|
309
|
-
<span class="cline-any cline-neutral"> </span>
|
|
310
305
|
<span class="cline-any cline-yes">101x</span>
|
|
311
306
|
<span class="cline-any cline-yes">4x</span>
|
|
312
307
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -332,7 +327,6 @@
|
|
|
332
327
|
<span class="cline-any cline-yes">39x</span>
|
|
333
328
|
<span class="cline-any cline-yes">2x</span>
|
|
334
329
|
<span class="cline-any cline-yes">2x</span>
|
|
335
|
-
<span class="cline-any cline-yes">2x</span>
|
|
336
330
|
<span class="cline-any cline-neutral"> </span>
|
|
337
331
|
<span class="cline-any cline-neutral"> </span>
|
|
338
332
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -350,19 +344,20 @@
|
|
|
350
344
|
<span class="cline-any cline-neutral"> </span>
|
|
351
345
|
<span class="cline-any cline-neutral"> </span>
|
|
352
346
|
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
347
|
<span class="cline-any cline-yes">2x</span>
|
|
355
348
|
<span class="cline-any cline-neutral"> </span>
|
|
356
349
|
<span class="cline-any cline-neutral"> </span>
|
|
357
350
|
<span class="cline-any cline-yes">2x</span>
|
|
358
|
-
<span class="cline-any cline-
|
|
359
|
-
<span class="cline-any cline-
|
|
351
|
+
<span class="cline-any cline-no"> </span>
|
|
352
|
+
<span class="cline-any cline-no"> </span>
|
|
353
|
+
<span class="cline-any cline-no"> </span>
|
|
360
354
|
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-
|
|
355
|
+
<span class="cline-any cline-no"> </span>
|
|
362
356
|
<span class="cline-any cline-no"> </span>
|
|
363
357
|
<span class="cline-any cline-neutral"> </span>
|
|
364
358
|
<span class="cline-any cline-neutral"> </span>
|
|
365
359
|
<span class="cline-any cline-neutral"> </span>
|
|
360
|
+
<span class="cline-any cline-neutral"> </span>
|
|
366
361
|
<span class="cline-any cline-yes">2x</span>
|
|
367
362
|
<span class="cline-any cline-yes">2x</span>
|
|
368
363
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -373,10 +368,8 @@
|
|
|
373
368
|
<span class="cline-any cline-no"> </span>
|
|
374
369
|
<span class="cline-any cline-no"> </span>
|
|
375
370
|
<span class="cline-any cline-no"> </span>
|
|
376
|
-
<span class="cline-any cline-no"> </span>
|
|
377
371
|
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
379
|
-
const linkRows = require("../../../db/linkedRows")
|
|
372
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const linkRows = require("../../../db/linkedRows")
|
|
380
373
|
const { getRowParams, generateTableID } = require("../../../db/utils")
|
|
381
374
|
const { FieldTypes } = require("../../../constants")
|
|
382
375
|
const {
|
|
@@ -386,12 +379,13 @@ const {
|
|
|
386
379
|
handleDataImport,
|
|
387
380
|
} = require("./utils")
|
|
388
381
|
const usageQuota = require("../../../utilities/usageQuota")
|
|
382
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
383
|
+
const env = require("../../../environment")
|
|
389
384
|
const { cleanupAttachments } = require("../../../utilities/rowProcessor")
|
|
390
385
|
const { runStaticFormulaChecks } = require("./bulkFormula")
|
|
391
386
|
|
|
392
387
|
exports.save = async function (ctx) {
|
|
393
|
-
const
|
|
394
|
-
const db = new CouchDB(appId)
|
|
388
|
+
const db = getAppDB()
|
|
395
389
|
const { dataImport, ...rest } = ctx.request.body
|
|
396
390
|
let tableToSave = {
|
|
397
391
|
type: "table",
|
|
@@ -413,8 +407,7 @@ exports.save = async function (ctx) {
|
|
|
413
407
|
// saving a table is a complex operation, involving many different steps, this
|
|
414
408
|
// has been broken out into a utility to make it more obvious/easier to manipulate
|
|
415
409
|
const tableSaveFunctions = new TableSaveFunctions({
|
|
416
|
-
|
|
417
|
-
ctx,
|
|
410
|
+
user: ctx.user,
|
|
418
411
|
oldTable,
|
|
419
412
|
dataImport,
|
|
420
413
|
})
|
|
@@ -459,7 +452,6 @@ exports.save = async function (ctx) {
|
|
|
459
452
|
// update linked rows
|
|
460
453
|
try {
|
|
461
454
|
const linkResp = await linkRows.updateLinks({
|
|
462
|
-
appId,
|
|
463
455
|
eventType: oldTable
|
|
464
456
|
? linkRows.EventType.TABLE_UPDATED
|
|
465
457
|
: linkRows.EventType.TABLE_SAVE,
|
|
@@ -484,13 +476,12 @@ exports.save = async function (ctx) {
|
|
|
484
476
|
|
|
485
477
|
tableToSave = await tableSaveFunctions.after(tableToSave)
|
|
486
478
|
// has to run after, make sure it has _id
|
|
487
|
-
await runStaticFormulaChecks(
|
|
479
|
+
await runStaticFormulaChecks(tableToSave, { oldTable })
|
|
488
480
|
return tableToSave
|
|
489
481
|
}
|
|
490
482
|
|
|
491
483
|
exports.destroy = async function (ctx) {
|
|
492
|
-
const
|
|
493
|
-
const db = new CouchDB(appId)
|
|
484
|
+
const db = getAppDB()
|
|
494
485
|
const tableToDelete = await db.get(ctx.params.tableId)
|
|
495
486
|
|
|
496
487
|
// Delete all rows for that table
|
|
@@ -504,7 +495,6 @@ exports.destroy = async function (ctx) {
|
|
|
504
495
|
|
|
505
496
|
// update linked rows
|
|
506
497
|
await linkRows.updateLinks({
|
|
507
|
-
appId,
|
|
508
498
|
eventType: linkRows.EventType.TABLE_DELETE,
|
|
509
499
|
table: tableToDelete,
|
|
510
500
|
})
|
|
@@ -513,25 +503,26 @@ exports.destroy = async function (ctx) {
|
|
|
513
503
|
await db.remove(tableToDelete)
|
|
514
504
|
|
|
515
505
|
// remove table search index
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
<span class="cstat-no" title="statement not covered" >
|
|
506
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!env.isTest()) {
|
|
507
|
+
const currentIndexes = <span class="cstat-no" title="statement not covered" >await db.getIndexes()</span>
|
|
508
|
+
const existingIndex = <span class="cstat-no" title="statement not covered" >currentIndexes.indexes.find(</span>
|
|
509
|
+
<span class="fstat-no" title="function not covered" > ex</span>isting => <span class="cstat-no" title="statement not covered" >existing.name === `search:${ctx.params.tableId}`</span>
|
|
510
|
+
)
|
|
511
|
+
<span class="cstat-no" title="statement not covered" > if (existingIndex) {</span>
|
|
512
|
+
<span class="cstat-no" title="statement not covered" > await db.deleteIndex(existingIndex)</span>
|
|
513
|
+
}
|
|
522
514
|
}
|
|
523
515
|
|
|
524
516
|
// has to run after, make sure it has _id
|
|
525
|
-
await runStaticFormulaChecks(
|
|
526
|
-
await cleanupAttachments(
|
|
517
|
+
await runStaticFormulaChecks(tableToDelete, { deletion: true })
|
|
518
|
+
await cleanupAttachments(tableToDelete, { rows })
|
|
527
519
|
return tableToDelete
|
|
528
520
|
}
|
|
529
521
|
|
|
530
522
|
exports.bulkImport = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
531
|
-
const
|
|
532
|
-
const table = <span class="cstat-no" title="statement not covered" >await getTable(appId, ctx.params.tableId)</span>
|
|
523
|
+
const table = <span class="cstat-no" title="statement not covered" >await getTable(ctx.params.tableId)</span>
|
|
533
524
|
const { dataImport } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
534
|
-
<span class="cstat-no" title="statement not covered" > await handleDataImport(
|
|
525
|
+
<span class="cstat-no" title="statement not covered" > await handleDataImport(ctx.user, table, dataImport)</span>
|
|
535
526
|
<span class="cstat-no" title="statement not covered" > return table</span>
|
|
536
527
|
}
|
|
537
528
|
</pre></td></tr></table></pre>
|
|
@@ -541,7 +532,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
541
532
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
542
533
|
Code coverage generated by
|
|
543
534
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
544
|
-
at
|
|
535
|
+
at Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
545
536
|
</div>
|
|
546
537
|
</div>
|
|
547
538
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">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 Wed Feb 02 2022 10:59:03 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 Wed Feb 02 2022 10:59:03 GMT+0000 (Coordinated Universal Time)
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
187
187
|
<script src="../../prettify.js"></script>
|