@budibase/server 1.0.49-alpha.0 → 1.0.49-alpha.12
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.8184eed9.js → index.0bdf1cad.js} +195 -194
- package/builder/assets/{index.dd9e386f.css → index.83c0944f.css} +1 -1
- package/builder/assets/{vendor.3bd2f661.js → vendor.d526bfe8.js} +1 -1
- package/builder/index.html +3 -3
- package/coverage/clover.xml +2927 -2819
- package/coverage/coverage-final.json +104 -103
- 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 +157 -136
- package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
- package/coverage/lcov-report/api/controllers/automation.js.html +39 -69
- 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 +31 -37
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/api/controllers/index.html +69 -54
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
- package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
- package/coverage/lcov-report/{migrations/usageQuotas/syncApps.js.html → api/controllers/migrations.js.html} +30 -45
- package/coverage/lcov-report/api/controllers/permission.js.html +19 -19
- package/coverage/lcov-report/api/controllers/query/index.html +10 -10
- package/coverage/lcov-report/api/controllers/query/index.js.html +38 -35
- package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
- package/coverage/lcov-report/api/controllers/role.js.html +16 -16
- package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
- package/coverage/lcov-report/api/controllers/row/external.js.html +48 -141
- package/coverage/lcov-report/api/controllers/row/index.html +52 -37
- package/coverage/lcov-report/api/controllers/row/index.js.html +13 -13
- package/coverage/lcov-report/api/controllers/row/internal.js.html +108 -216
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +52 -34
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +548 -0
- package/coverage/lcov-report/api/controllers/row/utils.js.html +27 -24
- package/coverage/lcov-report/api/controllers/screen.js.html +15 -21
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +599 -0
- package/coverage/lcov-report/api/controllers/table/external.js.html +25 -34
- package/coverage/lcov-report/api/controllers/table/index.html +57 -42
- package/coverage/lcov-report/api/controllers/table/index.js.html +28 -70
- package/coverage/lcov-report/api/controllers/table/internal.js.html +56 -47
- package/coverage/lcov-report/api/controllers/table/utils.js.html +169 -85
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +43 -52
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
- package/coverage/lcov-report/api/controllers/view/index.html +16 -16
- package/coverage/lcov-report/api/controllers/view/index.js.html +27 -33
- package/coverage/lcov-report/api/controllers/view/utils.js.html +35 -20
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
- package/coverage/lcov-report/api/controllers/webhook.js.html +34 -28
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +3 -3
- 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 +22 -7
- package/coverage/lcov-report/api/routes/index.js.html +10 -4
- 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/{migrations/usageQuotas/index.js.html → api/routes/migrations.js.html} +25 -55
- 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 +24 -24
- package/coverage/lcov-report/automations/automationUtils.js.html +7 -10
- package/coverage/lcov-report/automations/bullboard.js.html +16 -16
- 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 +6 -6
- package/coverage/lcov-report/automations/steps/createRow.js.html +7 -10
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +7 -7
- package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
- package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
- package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
- package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
- package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
- package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
- package/coverage/lcov-report/automations/steps/updateRow.js.html +7 -7
- package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
- package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
- package/coverage/lcov-report/automations/triggers.js.html +61 -55
- package/coverage/lcov-report/automations/utils.js.html +54 -42
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +42 -27
- package/coverage/lcov-report/constants/layouts.js.html +5 -5
- package/coverage/lcov-report/constants/screens.js.html +4 -4
- package/coverage/lcov-report/db/client.js.html +18 -18
- package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
- 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 +15 -27
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +40 -85
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +40 -40
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +75 -75
- 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 +5 -5
- package/coverage/lcov-report/events/utils.js.html +3 -3
- package/coverage/lcov-report/index.html +107 -122
- 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 +3 -3
- 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 -35
- 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 +25 -25
- package/coverage/lcov-report/threads/index.js.html +10 -10
- package/coverage/lcov-report/threads/query.js.html +26 -47
- package/coverage/lcov-report/threads/utils.js.html +14 -14
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
- package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
- package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
- package/coverage/lcov-report/utilities/global.js.html +57 -48
- package/coverage/lcov-report/utilities/index.html +27 -27
- package/coverage/lcov-report/utilities/index.js.html +42 -72
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
- 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 +27 -27
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +65 -71
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +75 -27
- package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
- package/coverage/lcov-report/utilities/security.js.html +8 -8
- 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 +13 -10
- 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 +9 -9
- package/coverage/lcov-report/utilities/workerRequests.js.html +16 -16
- package/coverage/lcov.info +4620 -4358
- package/dist/api/controllers/application.js +49 -48
- 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/migrations.js +21 -0
- 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 +90 -67
- package/dist/api/controllers/row/external.js +14 -22
- package/dist/api/controllers/row/internal.js +55 -93
- package/dist/api/controllers/row/internalSearch.js +23 -17
- package/dist/api/controllers/row/staticFormula.js +147 -0
- 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 +159 -0
- package/dist/api/controllers/table/external.js +7 -10
- package/dist/api/controllers/table/index.js +7 -10
- package/dist/api/controllers/table/internal.js +20 -16
- package/dist/api/controllers/table/utils.js +54 -34
- 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/index.js +2 -0
- package/dist/api/routes/migrations.js +9 -0
- package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
- package/dist/app.js +35 -5
- 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/constants/index.js +4 -0
- package/dist/db/linkedRows/LinkController.js +3 -7
- package/dist/db/linkedRows/index.js +16 -27
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +9 -10
- package/dist/environment.js +3 -1
- package/dist/integrations/base/sql.js +43 -8
- 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 -4
- package/dist/migrations/functions/appUrls.js +46 -0
- package/dist/migrations/functions/quotas1.js +50 -0
- package/dist/migrations/{usageQuotas → functions/usageQuotas}/index.js +6 -10
- package/dist/migrations/{usageQuotas → functions/usageQuotas}/syncApps.js +12 -9
- package/dist/migrations/{usageQuotas → functions/usageQuotas}/syncRows.js +16 -12
- package/dist/migrations/functions/userEmailViewCasing.js +24 -0
- package/dist/migrations/index.js +62 -0
- package/dist/package.json +4 -4
- package/dist/tests/utilities/TestConfiguration.js +70 -44
- package/dist/threads/automation.js +13 -11
- package/dist/threads/query.js +13 -19
- 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 +23 -17
- package/dist/utilities/rowProcessor/utils.js +14 -4
- 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/integrations/postgres/init.sql +11 -6
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +38 -31
- 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/migrations.js +13 -0
- 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 +67 -43
- package/src/api/controllers/row/external.js +27 -58
- package/src/api/controllers/row/internal.js +54 -90
- package/src/api/controllers/row/internalSearch.js +23 -17
- package/src/api/controllers/row/staticFormula.js +156 -0
- 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 +173 -0
- package/src/api/controllers/table/external.js +7 -10
- package/src/api/controllers/table/index.js +7 -21
- package/src/api/controllers/table/internal.js +22 -19
- package/src/api/controllers/table/utils.js +70 -42
- 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/index.js +2 -0
- package/src/api/routes/migrations.js +14 -0
- 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/app.ts +18 -5
- 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/constants/index.js +5 -0
- package/src/db/linkedRows/LinkController.js +3 -7
- package/src/db/linkedRows/index.js +16 -31
- 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/definitions/common.ts +3 -0
- package/src/environment.js +3 -1
- package/src/integrations/base/sql.ts +55 -14
- 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 -4
- package/src/migrations/functions/appUrls.ts +34 -0
- package/src/migrations/functions/quotas1.ts +20 -0
- package/src/migrations/functions/tests/appUrls.spec.js +29 -0
- package/src/migrations/{tests/usageQuotas/index.spec.js → functions/tests/quotas1.spec.js} +5 -5
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +25 -0
- package/src/migrations/functions/usageQuotas/index.ts +8 -0
- package/src/migrations/{usageQuotas/syncApps.js → functions/usageQuotas/syncApps.ts} +6 -6
- package/src/migrations/functions/usageQuotas/syncRows.ts +22 -0
- package/src/migrations/{tests/usageQuotas → functions/usageQuotas/tests}/syncApps.spec.js +4 -4
- package/src/migrations/{tests/usageQuotas → functions/usageQuotas/tests}/syncRows.spec.js +4 -4
- package/src/migrations/functions/userEmailViewCasing.ts +13 -0
- package/src/migrations/index.ts +56 -0
- package/src/module.d.ts +3 -0
- package/src/tests/utilities/TestConfiguration.js +73 -50
- package/src/threads/automation.js +17 -15
- package/src/threads/query.js +14 -21
- 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 +25 -27
- package/src/utilities/rowProcessor/utils.js +23 -7
- 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
- package/coverage/lcov-report/migrations/usageQuotas/index.html +0 -141
- package/coverage/lcov-report/migrations/usageQuotas/syncRows.js.html +0 -143
- package/src/migrations/usageQuotas/index.js +0 -24
- package/src/migrations/usageQuotas/syncRows.js +0 -21
|
@@ -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">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
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">58.82% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>20/34</span>
|
|
43
43
|
</div>
|
|
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
|
|
|
@@ -446,31 +446,81 @@
|
|
|
446
446
|
<a name='L387'></a><a href='#L387'>387</a>
|
|
447
447
|
<a name='L388'></a><a href='#L388'>388</a>
|
|
448
448
|
<a name='L389'></a><a href='#L389'>389</a>
|
|
449
|
-
<a name='L390'></a><a href='#L390'>390</a
|
|
450
|
-
<
|
|
449
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
450
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
451
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
452
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
453
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
454
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
455
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
456
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
457
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
458
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
459
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
460
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
461
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
462
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
463
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
464
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
465
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
466
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
467
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
468
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
469
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
470
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
471
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
472
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
473
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
474
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
476
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
477
|
+
<a name='L418'></a><a href='#L418'>418</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
451
478
|
<span class="cline-any cline-neutral"> </span>
|
|
452
479
|
<span class="cline-any cline-neutral"> </span>
|
|
453
480
|
<span class="cline-any cline-neutral"> </span>
|
|
454
481
|
<span class="cline-any cline-neutral"> </span>
|
|
455
|
-
<span class="cline-any cline-yes">37x</span>
|
|
456
|
-
<span class="cline-any cline-yes">37x</span>
|
|
457
|
-
<span class="cline-any cline-yes">37x</span>
|
|
458
|
-
<span class="cline-any cline-yes">37x</span>
|
|
459
482
|
<span class="cline-any cline-neutral"> </span>
|
|
460
483
|
<span class="cline-any cline-neutral"> </span>
|
|
484
|
+
<span class="cline-any cline-yes">39x</span>
|
|
485
|
+
<span class="cline-any cline-yes">39x</span>
|
|
486
|
+
<span class="cline-any cline-yes">39x</span>
|
|
461
487
|
<span class="cline-any cline-neutral"> </span>
|
|
462
488
|
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-yes">37x</span>
|
|
464
489
|
<span class="cline-any cline-neutral"> </span>
|
|
490
|
+
<span class="cline-any cline-yes">39x</span>
|
|
465
491
|
<span class="cline-any cline-neutral"> </span>
|
|
466
492
|
<span class="cline-any cline-neutral"> </span>
|
|
467
493
|
<span class="cline-any cline-neutral"> </span>
|
|
468
|
-
<span class="cline-any cline-yes">37x</span>
|
|
469
|
-
<span class="cline-any cline-yes">37x</span>
|
|
470
|
-
<span class="cline-any cline-yes">37x</span>
|
|
471
|
-
<span class="cline-any cline-yes">37x</span>
|
|
472
494
|
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-yes">
|
|
495
|
+
<span class="cline-any cline-yes">39x</span>
|
|
496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
499
|
+
<span class="cline-any cline-neutral"> </span>
|
|
500
|
+
<span class="cline-any cline-yes">39x</span>
|
|
501
|
+
<span class="cline-any cline-yes">39x</span>
|
|
502
|
+
<span class="cline-any cline-yes">39x</span>
|
|
503
|
+
<span class="cline-any cline-yes">39x</span>
|
|
504
|
+
<span class="cline-any cline-yes">39x</span>
|
|
505
|
+
<span class="cline-any cline-yes">39x</span>
|
|
506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
507
|
+
<span class="cline-any cline-yes">39x</span>
|
|
508
|
+
<span class="cline-any cline-no"> </span>
|
|
509
|
+
<span class="cline-any cline-no"> </span>
|
|
510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
512
|
+
<span class="cline-any cline-neutral"> </span>
|
|
513
|
+
<span class="cline-any cline-neutral"> </span>
|
|
514
|
+
<span class="cline-any cline-no"> </span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-no"> </span>
|
|
517
|
+
<span class="cline-any cline-no"> </span>
|
|
518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
522
|
+
<span class="cline-any cline-yes">39x</span>
|
|
523
|
+
<span class="cline-any cline-yes">101x</span>
|
|
474
524
|
<span class="cline-any cline-yes">101x</span>
|
|
475
525
|
<span class="cline-any cline-yes">101x</span>
|
|
476
526
|
<span class="cline-any cline-yes">101x</span>
|
|
@@ -491,6 +541,8 @@
|
|
|
491
541
|
<span class="cline-any cline-yes">1x</span>
|
|
492
542
|
<span class="cline-any cline-yes">1x</span>
|
|
493
543
|
<span class="cline-any cline-yes">1x</span>
|
|
544
|
+
<span class="cline-any cline-yes">1x</span>
|
|
545
|
+
<span class="cline-any cline-yes">1x</span>
|
|
494
546
|
<span class="cline-any cline-no"> </span>
|
|
495
547
|
<span class="cline-any cline-no"> </span>
|
|
496
548
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -499,13 +551,15 @@
|
|
|
499
551
|
<span class="cline-any cline-neutral"> </span>
|
|
500
552
|
<span class="cline-any cline-neutral"> </span>
|
|
501
553
|
<span class="cline-any cline-yes">1x</span>
|
|
554
|
+
<span class="cline-any cline-neutral"> </span>
|
|
555
|
+
<span class="cline-any cline-yes">1x</span>
|
|
502
556
|
<span class="cline-any cline-yes">1x</span>
|
|
503
557
|
<span class="cline-any cline-neutral"> </span>
|
|
504
558
|
<span class="cline-any cline-yes">101x</span>
|
|
505
559
|
<span class="cline-any cline-neutral"> </span>
|
|
506
560
|
<span class="cline-any cline-neutral"> </span>
|
|
507
561
|
<span class="cline-any cline-neutral"> </span>
|
|
508
|
-
<span class="cline-any cline-yes">
|
|
562
|
+
<span class="cline-any cline-yes">39x</span>
|
|
509
563
|
<span class="cline-any cline-yes">4x</span>
|
|
510
564
|
<span class="cline-any cline-no"> </span>
|
|
511
565
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -525,7 +579,7 @@
|
|
|
525
579
|
<span class="cline-any cline-yes">4x</span>
|
|
526
580
|
<span class="cline-any cline-neutral"> </span>
|
|
527
581
|
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-yes">
|
|
582
|
+
<span class="cline-any cline-yes">39x</span>
|
|
529
583
|
<span class="cline-any cline-yes">102x</span>
|
|
530
584
|
<span class="cline-any cline-yes">101x</span>
|
|
531
585
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -575,7 +629,7 @@
|
|
|
575
629
|
<span class="cline-any cline-yes">1x</span>
|
|
576
630
|
<span class="cline-any cline-neutral"> </span>
|
|
577
631
|
<span class="cline-any cline-neutral"> </span>
|
|
578
|
-
<span class="cline-any cline-yes">
|
|
632
|
+
<span class="cline-any cline-yes">39x</span>
|
|
579
633
|
<span class="cline-any cline-yes">101x</span>
|
|
580
634
|
<span class="cline-any cline-neutral"> </span>
|
|
581
635
|
<span class="cline-any cline-yes">101x</span>
|
|
@@ -619,7 +673,7 @@
|
|
|
619
673
|
<span class="cline-any cline-yes">101x</span>
|
|
620
674
|
<span class="cline-any cline-neutral"> </span>
|
|
621
675
|
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-yes">
|
|
676
|
+
<span class="cline-any cline-yes">39x</span>
|
|
623
677
|
<span class="cline-any cline-neutral"> </span>
|
|
624
678
|
<span class="cline-any cline-yes">101x</span>
|
|
625
679
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -640,9 +694,6 @@
|
|
|
640
694
|
<span class="cline-any cline-yes">101x</span>
|
|
641
695
|
<span class="cline-any cline-neutral"> </span>
|
|
642
696
|
<span class="cline-any cline-yes">101x</span>
|
|
643
|
-
<span class="cline-any cline-yes">101x</span>
|
|
644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-yes">101x</span>
|
|
646
697
|
<span class="cline-any cline-neutral"> </span>
|
|
647
698
|
<span class="cline-any cline-neutral"> </span>
|
|
648
699
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -657,32 +708,37 @@
|
|
|
657
708
|
<span class="cline-any cline-neutral"> </span>
|
|
658
709
|
<span class="cline-any cline-neutral"> </span>
|
|
659
710
|
<span class="cline-any cline-yes">101x</span>
|
|
711
|
+
<span class="cline-any cline-yes">101x</span>
|
|
712
|
+
<span class="cline-any cline-yes">101x</span>
|
|
660
713
|
<span class="cline-any cline-neutral"> </span>
|
|
661
714
|
<span class="cline-any cline-neutral"> </span>
|
|
662
715
|
<span class="cline-any cline-neutral"> </span>
|
|
663
716
|
<span class="cline-any cline-neutral"> </span>
|
|
664
717
|
<span class="cline-any cline-yes">101x</span>
|
|
665
718
|
<span class="cline-any cline-yes">101x</span>
|
|
719
|
+
<span class="cline-any cline-yes">101x</span>
|
|
666
720
|
<span class="cline-any cline-neutral"> </span>
|
|
667
721
|
<span class="cline-any cline-neutral"> </span>
|
|
668
722
|
<span class="cline-any cline-neutral"> </span>
|
|
669
|
-
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-yes">101x</span>
|
|
671
723
|
<span class="cline-any cline-yes">101x</span>
|
|
672
724
|
<span class="cline-any cline-neutral"> </span>
|
|
673
725
|
<span class="cline-any cline-neutral"> </span>
|
|
674
726
|
<span class="cline-any cline-neutral"> </span>
|
|
727
|
+
<span class="cline-any cline-yes">39x</span>
|
|
728
|
+
<span class="cline-any cline-yes">207x</span>
|
|
729
|
+
<span class="cline-any cline-yes">207x</span>
|
|
675
730
|
<span class="cline-any cline-neutral"> </span>
|
|
676
731
|
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-
|
|
732
|
+
<span class="cline-any cline-neutral"> </span>
|
|
733
|
+
<span class="cline-any cline-neutral"> </span>
|
|
734
|
+
<span class="cline-any cline-yes">474x</span>
|
|
678
735
|
<span class="cline-any cline-neutral"> </span>
|
|
679
736
|
<span class="cline-any cline-neutral"> </span>
|
|
680
737
|
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-yes">101x</span>
|
|
682
738
|
<span class="cline-any cline-neutral"> </span>
|
|
683
739
|
<span class="cline-any cline-neutral"> </span>
|
|
684
740
|
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-yes">
|
|
741
|
+
<span class="cline-any cline-yes">39x</span>
|
|
686
742
|
<span class="cline-any cline-no"> </span>
|
|
687
743
|
<span class="cline-any cline-no"> </span>
|
|
688
744
|
<span class="cline-any cline-no"> </span>
|
|
@@ -691,12 +747,12 @@
|
|
|
691
747
|
<span class="cline-any cline-no"> </span>
|
|
692
748
|
<span class="cline-any cline-neutral"> </span>
|
|
693
749
|
<span class="cline-any cline-neutral"> </span>
|
|
694
|
-
<span class="cline-any cline-yes">
|
|
750
|
+
<span class="cline-any cline-yes">39x</span>
|
|
695
751
|
<span class="cline-any cline-no"> </span>
|
|
696
752
|
<span class="cline-any cline-no"> </span>
|
|
697
753
|
<span class="cline-any cline-neutral"> </span>
|
|
698
754
|
<span class="cline-any cline-neutral"> </span>
|
|
699
|
-
<span class="cline-any cline-yes">
|
|
755
|
+
<span class="cline-any cline-yes">39x</span>
|
|
700
756
|
<span class="cline-any cline-yes">30x</span>
|
|
701
757
|
<span class="cline-any cline-yes">30x</span>
|
|
702
758
|
<span class="cline-any cline-no"> </span>
|
|
@@ -708,7 +764,7 @@
|
|
|
708
764
|
<span class="cline-any cline-neutral"> </span>
|
|
709
765
|
<span class="cline-any cline-neutral"> </span>
|
|
710
766
|
<span class="cline-any cline-neutral"> </span>
|
|
711
|
-
<span class="cline-any cline-yes">
|
|
767
|
+
<span class="cline-any cline-yes">39x</span>
|
|
712
768
|
<span class="cline-any cline-yes">1x</span>
|
|
713
769
|
<span class="cline-any cline-yes">1x</span>
|
|
714
770
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -780,15 +836,15 @@
|
|
|
780
836
|
<span class="cline-any cline-neutral"> </span>
|
|
781
837
|
<span class="cline-any cline-neutral"> </span>
|
|
782
838
|
<span class="cline-any cline-neutral"> </span>
|
|
783
|
-
<span class="cline-any cline-yes">
|
|
839
|
+
<span class="cline-any cline-yes">39x</span>
|
|
784
840
|
<span class="cline-any cline-no"> </span>
|
|
785
841
|
<span class="cline-any cline-neutral"> </span>
|
|
786
842
|
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-yes">
|
|
843
|
+
<span class="cline-any cline-yes">39x</span>
|
|
788
844
|
<span class="cline-any cline-no"> </span>
|
|
789
845
|
<span class="cline-any cline-neutral"> </span>
|
|
790
846
|
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-yes">
|
|
847
|
+
<span class="cline-any cline-yes">39x</span>
|
|
792
848
|
<span class="cline-any cline-no"> </span>
|
|
793
849
|
<span class="cline-any cline-neutral"> </span>
|
|
794
850
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -800,7 +856,7 @@
|
|
|
800
856
|
<span class="cline-any cline-no"> </span>
|
|
801
857
|
<span class="cline-any cline-neutral"> </span>
|
|
802
858
|
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-yes">
|
|
859
|
+
<span class="cline-any cline-yes">39x</span>
|
|
804
860
|
<span class="cline-any cline-no"> </span>
|
|
805
861
|
<span class="cline-any cline-neutral"> </span>
|
|
806
862
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -817,7 +873,7 @@
|
|
|
817
873
|
<span class="cline-any cline-no"> </span>
|
|
818
874
|
<span class="cline-any cline-neutral"> </span>
|
|
819
875
|
<span class="cline-any cline-neutral"> </span>
|
|
820
|
-
<span class="cline-any cline-yes">
|
|
876
|
+
<span class="cline-any cline-yes">39x</span>
|
|
821
877
|
<span class="cline-any cline-yes">101x</span>
|
|
822
878
|
<span class="cline-any cline-yes">97x</span>
|
|
823
879
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -834,17 +890,21 @@
|
|
|
834
890
|
<span class="cline-any cline-yes">4x</span>
|
|
835
891
|
<span class="cline-any cline-neutral"> </span>
|
|
836
892
|
<span class="cline-any cline-neutral"> </span>
|
|
837
|
-
<span class="cline-any cline-yes">
|
|
838
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
839
|
-
const csvParser = require("../../../utilities/csvParser")
|
|
893
|
+
<span class="cline-any cline-yes">39x</span>
|
|
894
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const csvParser = require("../../../utilities/csvParser")
|
|
840
895
|
const {
|
|
841
896
|
getRowParams,
|
|
842
897
|
generateRowID,
|
|
843
898
|
InternalTables,
|
|
899
|
+
getTableParams,
|
|
900
|
+
BudibaseInternalDB,
|
|
844
901
|
} = require("../../../db/utils")
|
|
845
|
-
const { isEqual } = require("lodash
|
|
902
|
+
const { isEqual } = require("lodash")
|
|
846
903
|
const { AutoFieldSubTypes, FieldTypes } = require("../../../constants")
|
|
847
|
-
const {
|
|
904
|
+
const {
|
|
905
|
+
inputProcessing,
|
|
906
|
+
cleanupAttachments,
|
|
907
|
+
} = require("../../../utilities/rowProcessor")
|
|
848
908
|
const {
|
|
849
909
|
USERS_TABLE_SCHEMA,
|
|
850
910
|
SwitchableTypes,
|
|
@@ -858,8 +918,26 @@ const {
|
|
|
858
918
|
const { getViews, saveView } = require("../view/utils")
|
|
859
919
|
const viewTemplate = require("../view/viewBuilder")
|
|
860
920
|
const usageQuota = require("../../../utilities/usageQuota")
|
|
921
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
922
|
+
const { cloneDeep } = require("lodash/fp")
|
|
923
|
+
|
|
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>
|
|
926
|
+
const rows = <span class="cstat-no" title="statement not covered" >await db.allDocs(</span>
|
|
927
|
+
getRowParams(table._id, null, {
|
|
928
|
+
include_docs: true,
|
|
929
|
+
})
|
|
930
|
+
)
|
|
931
|
+
<span class="cstat-no" title="statement not covered" > return db.bulkDocs(</span>
|
|
932
|
+
rows.rows.map(<span class="fstat-no" title="function not covered" >({</span> doc }) => {
|
|
933
|
+
<span class="cstat-no" title="statement not covered" > columnNames.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete doc[colName])</span></span>
|
|
934
|
+
<span class="cstat-no" title="statement not covered" > return doc</span>
|
|
935
|
+
})
|
|
936
|
+
)
|
|
937
|
+
}
|
|
861
938
|
|
|
862
|
-
exports.checkForColumnUpdates = async (
|
|
939
|
+
exports.checkForColumnUpdates = async (oldTable, updatedTable) => {
|
|
940
|
+
const db = getAppDB()
|
|
863
941
|
let updatedRows = []
|
|
864
942
|
const rename = updatedTable._rename
|
|
865
943
|
let deletedColumns = []
|
|
@@ -876,18 +954,22 @@ exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => {
|
|
|
876
954
|
include_docs: true,
|
|
877
955
|
})
|
|
878
956
|
)
|
|
879
|
-
|
|
957
|
+
const rawRows = rows.rows.map(({ doc }) => doc)
|
|
958
|
+
updatedRows = rawRows.map(row => {
|
|
959
|
+
row = cloneDeep(row)
|
|
880
960
|
if (rename) {
|
|
881
|
-
|
|
882
|
-
delete
|
|
961
|
+
row[rename.updated] = row[rename.old]
|
|
962
|
+
delete row[rename.old]
|
|
883
963
|
} else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="else path not taken" >E</span>if (deletedColumns.length !== 0) {</span>
|
|
884
|
-
<span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete
|
|
964
|
+
<span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete row[colName])</span></span>
|
|
885
965
|
}
|
|
886
|
-
return
|
|
966
|
+
return row
|
|
887
967
|
})
|
|
888
968
|
|
|
969
|
+
// cleanup any attachments from object storage for deleted attachment columns
|
|
970
|
+
await cleanupAttachments(updatedTable, { oldTable, rows: rawRows })
|
|
889
971
|
// Update views
|
|
890
|
-
await exports.checkForViewUpdates(
|
|
972
|
+
await exports.checkForViewUpdates(updatedTable, rename, deletedColumns)
|
|
891
973
|
delete updatedTable._rename
|
|
892
974
|
}
|
|
893
975
|
return { rows: updatedRows, table: updatedTable }
|
|
@@ -914,12 +996,12 @@ exports.makeSureTableUpToDate = (table, tableToSave) => {
|
|
|
914
996
|
return tableToSave
|
|
915
997
|
}
|
|
916
998
|
|
|
917
|
-
exports.handleDataImport = async (
|
|
999
|
+
exports.handleDataImport = async (user, table, dataImport) => {
|
|
918
1000
|
if (!dataImport || !dataImport.csvString) {
|
|
919
1001
|
return table
|
|
920
1002
|
}
|
|
921
1003
|
|
|
922
|
-
const db =
|
|
1004
|
+
const db = getAppDB()
|
|
923
1005
|
// Populate the table with rows imported from CSV in a bulk update
|
|
924
1006
|
const data = await csvParser.transform({
|
|
925
1007
|
...dataImport,
|
|
@@ -964,8 +1046,8 @@ exports.handleDataImport = async (appId, user, table, dataImport) => {
|
|
|
964
1046
|
return table
|
|
965
1047
|
}
|
|
966
1048
|
|
|
967
|
-
exports.handleSearchIndexes = async
|
|
968
|
-
const db =
|
|
1049
|
+
exports.handleSearchIndexes = async table => {
|
|
1050
|
+
const db = getAppDB()
|
|
969
1051
|
// create relevant search indexes
|
|
970
1052
|
if (table.indexes && table.indexes.length > 0) {
|
|
971
1053
|
const currentIndexes = await db.getIndexes()
|
|
@@ -1022,12 +1104,9 @@ exports.checkStaticTables = table => {
|
|
|
1022
1104
|
}
|
|
1023
1105
|
|
|
1024
1106
|
class TableSaveFunctions {
|
|
1025
|
-
constructor({
|
|
1026
|
-
this.db =
|
|
1027
|
-
this.
|
|
1028
|
-
if (this.ctx && this.ctx.user) {
|
|
1029
|
-
this.appId = this.ctx.appId
|
|
1030
|
-
}
|
|
1107
|
+
constructor({ user, oldTable, dataImport }) {
|
|
1108
|
+
this.db = getAppDB()
|
|
1109
|
+
this.user = user
|
|
1031
1110
|
this.oldTable = oldTable
|
|
1032
1111
|
this.dataImport = dataImport
|
|
1033
1112
|
// any rows that need updated
|
|
@@ -1045,24 +1124,15 @@ class TableSaveFunctions {
|
|
|
1045
1124
|
|
|
1046
1125
|
// when confirmed valid
|
|
1047
1126
|
async mid(table) {
|
|
1048
|
-
let response = await exports.checkForColumnUpdates(
|
|
1049
|
-
this.db,
|
|
1050
|
-
this.oldTable,
|
|
1051
|
-
table
|
|
1052
|
-
)
|
|
1127
|
+
let response = await exports.checkForColumnUpdates(this.oldTable, table)
|
|
1053
1128
|
this.rows = this.rows.concat(response.rows)
|
|
1054
1129
|
return table
|
|
1055
1130
|
}
|
|
1056
1131
|
|
|
1057
1132
|
// after saving
|
|
1058
1133
|
async after(table) {
|
|
1059
|
-
table = await exports.handleSearchIndexes(
|
|
1060
|
-
table = await exports.handleDataImport(
|
|
1061
|
-
this.appId,
|
|
1062
|
-
this.ctx.user,
|
|
1063
|
-
table,
|
|
1064
|
-
this.dataImport
|
|
1065
|
-
)
|
|
1134
|
+
table = await exports.handleSearchIndexes(table)
|
|
1135
|
+
table = await exports.handleDataImport(this.user, table, this.dataImport)
|
|
1066
1136
|
return table
|
|
1067
1137
|
}
|
|
1068
1138
|
|
|
@@ -1071,8 +1141,22 @@ class TableSaveFunctions {
|
|
|
1071
1141
|
}
|
|
1072
1142
|
}
|
|
1073
1143
|
|
|
1074
|
-
exports.
|
|
1075
|
-
const db =
|
|
1144
|
+
exports.getAllInternalTables = async () => {
|
|
1145
|
+
const db = getAppDB()
|
|
1146
|
+
const internalTables = await db.allDocs(
|
|
1147
|
+
getTableParams(null, {
|
|
1148
|
+
include_docs: true,
|
|
1149
|
+
})
|
|
1150
|
+
)
|
|
1151
|
+
return internalTables.rows.map(tableDoc => ({
|
|
1152
|
+
...tableDoc.doc,
|
|
1153
|
+
type: "internal",
|
|
1154
|
+
sourceId: BudibaseInternalDB._id,
|
|
1155
|
+
}))
|
|
1156
|
+
}
|
|
1157
|
+
|
|
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>
|
|
1076
1160
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
1077
1161
|
<span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
|
|
1078
1162
|
<span class="cstat-no" title="statement not covered" > throw "Datasource is not configured fully."</span>
|
|
@@ -1080,25 +1164,25 @@ exports.getAllExternalTables = <span class="fstat-no" title="function not covere
|
|
|
1080
1164
|
<span class="cstat-no" title="statement not covered" > return datasource.entities</span>
|
|
1081
1165
|
}
|
|
1082
1166
|
|
|
1083
|
-
exports.getExternalTable = <span class="fstat-no" title="function not covered" >as</span>ync (
|
|
1084
|
-
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>
|
|
1085
1169
|
<span class="cstat-no" title="statement not covered" > return entities[tableName]</span>
|
|
1086
1170
|
}
|
|
1087
1171
|
|
|
1088
|
-
exports.getTable = async
|
|
1089
|
-
const db =
|
|
1172
|
+
exports.getTable = async tableId => {
|
|
1173
|
+
const db = getAppDB()
|
|
1090
1174
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (isExternalTable(tableId)) {
|
|
1091
1175
|
let { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
1092
1176
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
1093
|
-
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>
|
|
1094
1178
|
<span class="cstat-no" title="statement not covered" > return { ...table, sql: isSQL(datasource) }</span>
|
|
1095
1179
|
} else {
|
|
1096
1180
|
return db.get(tableId)
|
|
1097
1181
|
}
|
|
1098
1182
|
}
|
|
1099
1183
|
|
|
1100
|
-
exports.checkForViewUpdates = async (
|
|
1101
|
-
const views = await getViews(
|
|
1184
|
+
exports.checkForViewUpdates = async (table, rename, deletedColumns) => {
|
|
1185
|
+
const views = await getViews()
|
|
1102
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>
|
|
1103
1187
|
|
|
1104
1188
|
// Check each table view to see if impacted by this table action
|
|
@@ -1160,7 +1244,7 @@ exports.checkForViewUpdates = async (db, table, rename, deletedColumns) => {
|
|
|
1160
1244
|
// Update view if required
|
|
1161
1245
|
<span class="cstat-no" title="statement not covered" > if (needsUpdated) {</span>
|
|
1162
1246
|
const newViewTemplate = <span class="cstat-no" title="statement not covered" >viewTemplate(view.meta)</span>
|
|
1163
|
-
<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>
|
|
1164
1248
|
<span class="cstat-no" title="statement not covered" > if (!newViewTemplate.meta.schema) {</span>
|
|
1165
1249
|
<span class="cstat-no" title="statement not covered" > newViewTemplate.meta.schema = table.schema</span>
|
|
1166
1250
|
}
|
|
@@ -1231,7 +1315,7 @@ exports.TableSaveFunctions = TableSaveFunctions
|
|
|
1231
1315
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1232
1316
|
Code coverage generated by
|
|
1233
1317
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1234
|
-
at
|
|
1318
|
+
at Fri Feb 04 2022 13:16:14 GMT+0000 (Coordinated Universal Time)
|
|
1235
1319
|
</div>
|
|
1236
1320
|
</div>
|
|
1237
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 Fri Feb 04 2022 13:16:14 GMT+0000 (Coordinated Universal Time)
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
187
187
|
<script src="../../prettify.js"></script>
|