@budibase/server 1.0.49-alpha.6 → 1.0.49
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 +5 -4
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +1 -2
- package/__mocks__/pg.ts +5 -3
- package/builder/assets/{index.1b905242.js → index.2c37968e.js} +231 -234
- package/builder/assets/index.39e01193.css +1 -0
- package/builder/assets/{vendor.d526bfe8.js → vendor.f9faf6ab.js} +12 -12
- package/builder/index.html +3 -3
- package/coverage/clover.xml +2816 -3119
- package/coverage/coverage-final.json +101 -106
- 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 +152 -257
- package/coverage/lcov-report/api/controllers/auth.js.html +13 -22
- package/coverage/lcov-report/api/controllers/automation.js.html +69 -39
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +11 -8
- package/coverage/lcov-report/api/controllers/component.js.html +16 -13
- package/coverage/lcov-report/api/controllers/datasource.js.html +51 -81
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/{utilities/usageQuota/usageQuoteReset.js.html → api/controllers/hosting.js.html} +48 -36
- package/coverage/lcov-report/api/controllers/index.html +76 -76
- 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 +21 -6
- 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 +35 -38
- 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 +10 -7
- package/coverage/lcov-report/api/controllers/row/external.js.html +27 -21
- package/coverage/lcov-report/api/controllers/row/index.html +34 -49
- package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
- package/coverage/lcov-report/api/controllers/row/internal.js.html +226 -118
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +34 -52
- package/coverage/lcov-report/api/controllers/row/utils.js.html +62 -47
- package/coverage/lcov-report/api/controllers/screen.js.html +21 -15
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/external.js.html +34 -25
- package/coverage/lcov-report/api/controllers/table/index.html +43 -58
- package/coverage/lcov-report/api/controllers/table/index.js.html +82 -58
- package/coverage/lcov-report/api/controllers/table/internal.js.html +66 -81
- package/coverage/lcov-report/api/controllers/table/utils.js.html +110 -218
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +50 -47
- 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 +33 -27
- package/coverage/lcov-report/api/controllers/view/utils.js.html +20 -35
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
- package/coverage/lcov-report/api/controllers/webhook.js.html +28 -34
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +8 -8
- 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/{migrations.js.html → hosting.js.html} +14 -17
- package/coverage/lcov-report/api/routes/index.html +18 -18
- package/coverage/lcov-report/api/routes/index.js.html +3 -3
- 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/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 +2 -17
- 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 +10 -7
- 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 +22 -13
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +20 -11
- 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 +13 -13
- 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 +55 -61
- package/coverage/lcov-report/automations/utils.js.html +42 -54
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +26 -53
- 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 +15 -15
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +37 -25
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +96 -51
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +42 -42
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +87 -87
- 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 +120 -135
- 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 +65 -173
- package/coverage/lcov-report/middleware/builder.js.html +10 -10
- package/coverage/lcov-report/middleware/currentapp.js.html +83 -95
- package/coverage/lcov-report/middleware/index.html +38 -38
- 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 +53 -281
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +24 -30
- package/coverage/lcov-report/threads/index.html +26 -26
- package/coverage/lcov-report/threads/index.js.html +10 -10
- package/coverage/lcov-report/threads/query.js.html +26 -62
- 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 +49 -58
- package/coverage/lcov-report/utilities/index.html +37 -37
- package/coverage/lcov-report/utilities/index.js.html +73 -43
- 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 +103 -97
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +27 -75
- 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/users.js.html +9 -9
- package/coverage/lcov-report/utilities/workerRequests.js.html +112 -43
- package/coverage/lcov.info +4423 -5022
- package/dist/api/controllers/application.js +60 -90
- package/dist/api/controllers/auth.js +5 -8
- package/dist/api/controllers/automation.js +19 -14
- package/dist/api/controllers/cloud.js +3 -2
- package/dist/api/controllers/component.js +4 -3
- package/dist/api/controllers/datasource.js +10 -20
- package/dist/api/controllers/deploy/Deployment.js +6 -3
- package/dist/api/controllers/deploy/index.js +13 -12
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/hosting.js +30 -0
- 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 +6 -4
- package/dist/api/controllers/query/index.js +10 -11
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +6 -5
- package/dist/api/controllers/row/ExternalRequest.js +63 -76
- package/dist/api/controllers/row/external.js +4 -4
- package/dist/api/controllers/row/internal.js +93 -55
- package/dist/api/controllers/row/internalSearch.js +17 -23
- package/dist/api/controllers/row/utils.js +14 -13
- package/dist/api/controllers/screen.js +7 -5
- package/dist/api/controllers/static/index.js +12 -61
- package/dist/api/controllers/table/external.js +10 -7
- package/dist/api/controllers/table/index.js +13 -16
- package/dist/api/controllers/table/internal.js +16 -22
- package/dist/api/controllers/table/utils.js +35 -62
- package/dist/api/controllers/user.js +20 -18
- package/dist/api/controllers/view/index.js +10 -8
- package/dist/api/controllers/view/utils.js +4 -9
- package/dist/api/controllers/webhook.js +8 -10
- package/dist/api/routes/hosting.js +11 -0
- package/dist/api/routes/index.js +2 -2
- package/dist/api/routes/static.js +1 -2
- package/dist/api/routes/tests/utilities/TestFunctions.js +17 -37
- package/dist/app.js +5 -35
- package/dist/automations/automationUtils.js +3 -2
- package/dist/automations/steps/createRow.js +5 -3
- package/dist/automations/steps/deleteRow.js +4 -1
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +25 -27
- package/dist/automations/utils.js +5 -10
- package/dist/constants/index.js +0 -7
- package/dist/db/linkedRows/LinkController.js +7 -3
- package/dist/db/linkedRows/index.js +27 -16
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +10 -9
- package/dist/definitions/datasource.js +0 -1
- package/dist/environment.js +1 -4
- package/dist/integrations/base/sql.js +6 -13
- package/dist/integrations/index.js +0 -3
- package/dist/integrations/utils.js +9 -60
- package/dist/middleware/authorized.js +30 -57
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +37 -41
- package/dist/middleware/usageQuota.js +15 -82
- package/dist/package.json +5 -8
- package/dist/tests/utilities/TestConfiguration.js +50 -80
- package/dist/threads/automation.js +11 -13
- package/dist/threads/query.js +13 -23
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +3 -4
- package/dist/utilities/global.js +12 -15
- package/dist/utilities/index.js +17 -7
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +17 -23
- package/dist/utilities/rowProcessor/utils.js +4 -14
- package/dist/utilities/{usageQuota/index.js → usageQuota.js} +31 -45
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +24 -4
- package/nodemon.json +1 -1
- package/package.json +6 -9
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +50 -85
- package/src/api/controllers/auth.js +5 -8
- package/src/api/controllers/automation.js +23 -13
- package/src/api/controllers/cloud.js +3 -2
- package/src/api/controllers/component.js +4 -3
- package/src/api/controllers/datasource.js +11 -21
- package/src/api/controllers/deploy/Deployment.js +7 -3
- package/src/api/controllers/deploy/index.js +13 -20
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/hosting.js +22 -0
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +9 -4
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +6 -4
- package/src/api/controllers/query/import/tests/index.spec.js +1 -2
- package/src/api/controllers/query/index.js +10 -11
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +6 -5
- package/src/api/controllers/row/ExternalRequest.ts +42 -53
- package/src/api/controllers/row/external.js +6 -4
- package/src/api/controllers/row/internal.js +90 -54
- package/src/api/controllers/row/internalSearch.js +17 -23
- package/src/api/controllers/row/utils.js +18 -13
- package/src/api/controllers/screen.js +7 -5
- package/src/api/controllers/static/index.js +12 -65
- package/src/api/controllers/table/external.js +10 -7
- package/src/api/controllers/table/index.js +28 -20
- package/src/api/controllers/table/internal.js +19 -24
- package/src/api/controllers/table/utils.js +42 -78
- package/src/api/controllers/user.js +20 -19
- package/src/api/controllers/view/index.js +10 -8
- package/src/api/controllers/view/utils.js +4 -9
- package/src/api/controllers/webhook.js +8 -10
- package/src/api/routes/hosting.js +13 -0
- package/src/api/routes/index.js +2 -2
- package/src/api/routes/static.js +0 -5
- package/src/api/routes/tests/application.spec.js +2 -2
- package/src/api/routes/tests/auth.spec.js +2 -1
- package/src/api/routes/tests/automation.spec.js +0 -1
- package/src/api/routes/tests/hosting.spec.js +36 -0
- package/src/api/routes/tests/misc.spec.js +1 -0
- package/src/api/routes/tests/routing.spec.js +12 -21
- package/src/api/routes/tests/row.spec.js +4 -7
- package/src/api/routes/tests/utilities/TestFunctions.js +17 -39
- package/src/app.ts +5 -18
- package/src/automations/automationUtils.js +3 -2
- package/src/automations/steps/createRow.js +5 -2
- package/src/automations/steps/deleteRow.js +4 -1
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +31 -33
- package/src/automations/utils.js +5 -9
- package/src/constants/index.js +0 -9
- package/src/db/linkedRows/LinkController.js +7 -3
- package/src/db/linkedRows/index.js +31 -16
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +1 -0
- package/src/db/tests/linkTests.spec.js +6 -5
- package/src/db/views/staticViews.js +10 -8
- package/src/definitions/common.ts +0 -3
- package/src/definitions/datasource.ts +0 -3
- package/src/environment.js +1 -4
- package/src/integrations/base/sql.ts +7 -14
- package/src/integrations/index.ts +0 -3
- package/src/integrations/tests/sql.spec.js +0 -16
- package/src/integrations/utils.ts +12 -75
- package/src/middleware/authorized.js +30 -66
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +46 -50
- package/src/middleware/tests/authorized.spec.js +6 -13
- package/src/middleware/tests/currentapp.spec.js +0 -6
- package/src/middleware/tests/usageQuota.spec.js +24 -18
- package/src/middleware/usageQuota.js +17 -93
- package/src/tests/utilities/TestConfiguration.js +55 -82
- package/src/threads/automation.js +15 -17
- package/src/threads/query.js +14 -26
- package/src/utilities/fileSystem/index.js +3 -4
- package/src/utilities/global.js +12 -15
- package/src/utilities/index.js +17 -7
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +27 -25
- package/src/utilities/rowProcessor/utils.js +7 -23
- package/src/utilities/usageQuota.js +73 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +27 -4
- package/builder/assets/index.83c0944f.css +0 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +0 -119
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +0 -548
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +0 -599
- package/coverage/lcov-report/utilities/usageQuota/index.html +0 -141
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +0 -305
- package/dist/api/controllers/migrations.js +0 -21
- package/dist/api/controllers/row/staticFormula.js +0 -147
- package/dist/api/controllers/table/bulkFormula.js +0 -159
- package/dist/api/routes/migrations.js +0 -9
- package/dist/integrations/googlesheets.js +0 -340
- package/dist/migrations/functions/appUrls.js +0 -46
- package/dist/migrations/functions/quotas1.js +0 -50
- package/dist/migrations/functions/usageQuotas/index.js +0 -20
- package/dist/migrations/functions/usageQuotas/syncApps.js +0 -30
- package/dist/migrations/functions/usageQuotas/syncRows.js +0 -33
- package/dist/migrations/functions/userEmailViewCasing.js +0 -24
- package/dist/migrations/index.js +0 -62
- package/dist/utilities/usageQuota/rows.js +0 -78
- package/dist/utilities/usageQuota/usageQuoteReset.js +0 -16
- package/src/api/controllers/migrations.js +0 -13
- package/src/api/controllers/row/staticFormula.js +0 -156
- package/src/api/controllers/table/bulkFormula.js +0 -173
- package/src/api/routes/migrations.js +0 -14
- package/src/api/routes/tests/static.spec.js +0 -98
- package/src/integrations/googlesheets.ts +0 -353
- package/src/migrations/functions/appUrls.ts +0 -34
- package/src/migrations/functions/quotas1.ts +0 -20
- package/src/migrations/functions/tests/appUrls.spec.js +0 -29
- package/src/migrations/functions/tests/quotas1.spec.js +0 -27
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +0 -25
- package/src/migrations/functions/usageQuotas/index.ts +0 -8
- package/src/migrations/functions/usageQuotas/syncApps.ts +0 -19
- package/src/migrations/functions/usageQuotas/syncRows.ts +0 -22
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -37
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -43
- package/src/migrations/functions/userEmailViewCasing.ts +0 -13
- package/src/migrations/index.ts +0 -56
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
- package/src/utilities/usageQuota/index.js +0 -93
- package/src/utilities/usageQuota/rows.js +0 -75
- package/src/utilities/usageQuota/usageQuoteReset.js +0 -18
|
@@ -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">59.52% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>75/126</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">45.74% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>43/
|
|
35
|
+
<span class='fraction'>43/94</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">52.63% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>10/
|
|
42
|
+
<span class='fraction'>10/19</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">61.66% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>74/120</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -396,26 +396,28 @@
|
|
|
396
396
|
<a name='L337'></a><a href='#L337'>337</a>
|
|
397
397
|
<a name='L338'></a><a href='#L338'>338</a>
|
|
398
398
|
<a name='L339'></a><a href='#L339'>339</a>
|
|
399
|
-
<a name='L340'></a><a href='#L340'>340</a
|
|
400
|
-
<
|
|
401
|
-
<span class="cline-any cline-yes">
|
|
402
|
-
<span class="cline-any cline-yes">
|
|
403
|
-
<span class="cline-any cline-yes">
|
|
404
|
-
<span class="cline-any cline-yes">
|
|
405
|
-
<span class="cline-any cline-yes">
|
|
399
|
+
<a name='L340'></a><a href='#L340'>340</a>
|
|
400
|
+
<a name='L341'></a><a href='#L341'>341</a>
|
|
401
|
+
<a name='L342'></a><a href='#L342'>342</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
402
|
+
<span class="cline-any cline-yes">34x</span>
|
|
403
|
+
<span class="cline-any cline-yes">34x</span>
|
|
404
|
+
<span class="cline-any cline-yes">34x</span>
|
|
405
|
+
<span class="cline-any cline-yes">34x</span>
|
|
406
|
+
<span class="cline-any cline-yes">34x</span>
|
|
407
|
+
<span class="cline-any cline-yes">34x</span>
|
|
406
408
|
<span class="cline-any cline-neutral"> </span>
|
|
407
409
|
<span class="cline-any cline-neutral"> </span>
|
|
408
410
|
<span class="cline-any cline-neutral"> </span>
|
|
409
411
|
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-yes">
|
|
411
|
-
<span class="cline-any cline-yes">
|
|
412
|
+
<span class="cline-any cline-yes">34x</span>
|
|
413
|
+
<span class="cline-any cline-yes">34x</span>
|
|
412
414
|
<span class="cline-any cline-neutral"> </span>
|
|
413
|
-
<span class="cline-any cline-yes">
|
|
415
|
+
<span class="cline-any cline-yes">34x</span>
|
|
414
416
|
<span class="cline-any cline-neutral"> </span>
|
|
415
417
|
<span class="cline-any cline-neutral"> </span>
|
|
416
418
|
<span class="cline-any cline-neutral"> </span>
|
|
417
419
|
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-yes">
|
|
420
|
+
<span class="cline-any cline-yes">34x</span>
|
|
419
421
|
<span class="cline-any cline-neutral"> </span>
|
|
420
422
|
<span class="cline-any cline-neutral"> </span>
|
|
421
423
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -534,13 +536,13 @@
|
|
|
534
536
|
<span class="cline-any cline-neutral"> </span>
|
|
535
537
|
<span class="cline-any cline-neutral"> </span>
|
|
536
538
|
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-yes">
|
|
538
|
-
<span class="cline-any cline-yes">
|
|
539
|
+
<span class="cline-any cline-yes">73x</span>
|
|
540
|
+
<span class="cline-any cline-yes">73x</span>
|
|
539
541
|
<span class="cline-any cline-neutral"> </span>
|
|
540
|
-
<span class="cline-any cline-yes">
|
|
541
|
-
<span class="cline-any cline-yes">
|
|
542
|
-
<span class="cline-any cline-yes">
|
|
543
|
-
<span class="cline-any cline-yes">
|
|
542
|
+
<span class="cline-any cline-yes">73x</span>
|
|
543
|
+
<span class="cline-any cline-yes">73x</span>
|
|
544
|
+
<span class="cline-any cline-yes">206x</span>
|
|
545
|
+
<span class="cline-any cline-yes">206x</span>
|
|
544
546
|
<span class="cline-any cline-neutral"> </span>
|
|
545
547
|
<span class="cline-any cline-no"> </span>
|
|
546
548
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -574,31 +576,29 @@
|
|
|
574
576
|
<span class="cline-any cline-no"> </span>
|
|
575
577
|
<span class="cline-any cline-neutral"> </span>
|
|
576
578
|
<span class="cline-any cline-neutral"> </span>
|
|
577
|
-
<span class="cline-any cline-yes">
|
|
579
|
+
<span class="cline-any cline-yes">73x</span>
|
|
578
580
|
<span class="cline-any cline-neutral"> </span>
|
|
579
|
-
<span class="cline-any cline-yes">
|
|
581
|
+
<span class="cline-any cline-yes">34x</span>
|
|
580
582
|
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-yes">39x</span>
|
|
582
583
|
<span class="cline-any cline-neutral"> </span>
|
|
583
584
|
<span class="cline-any cline-neutral"> </span>
|
|
584
585
|
<span class="cline-any cline-neutral"> </span>
|
|
585
586
|
<span class="cline-any cline-neutral"> </span>
|
|
586
587
|
<span class="cline-any cline-neutral"> </span>
|
|
587
588
|
<span class="cline-any cline-neutral"> </span>
|
|
589
|
+
<span class="cline-any cline-yes">34x</span>
|
|
588
590
|
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-yes">
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-yes">180x</span>
|
|
591
|
+
<span class="cline-any cline-yes">174x</span>
|
|
592
592
|
<span class="cline-any cline-no"> </span>
|
|
593
593
|
<span class="cline-any cline-neutral"> </span>
|
|
594
594
|
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-yes">
|
|
595
|
+
<span class="cline-any cline-yes">174x</span>
|
|
596
596
|
<span class="cline-any cline-yes">16x</span>
|
|
597
|
-
<span class="cline-any cline-yes">
|
|
597
|
+
<span class="cline-any cline-yes">158x</span>
|
|
598
598
|
<span class="cline-any cline-yes">22x</span>
|
|
599
599
|
<span class="cline-any cline-neutral"> </span>
|
|
600
600
|
<span class="cline-any cline-neutral"> </span>
|
|
601
|
-
<span class="cline-any cline-yes">
|
|
601
|
+
<span class="cline-any cline-yes">136x</span>
|
|
602
602
|
<span class="cline-any cline-neutral"> </span>
|
|
603
603
|
<span class="cline-any cline-neutral"> </span>
|
|
604
604
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -610,42 +610,45 @@
|
|
|
610
610
|
<span class="cline-any cline-neutral"> </span>
|
|
611
611
|
<span class="cline-any cline-neutral"> </span>
|
|
612
612
|
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-yes">
|
|
613
|
+
<span class="cline-any cline-yes">34x</span>
|
|
614
614
|
<span class="cline-any cline-neutral"> </span>
|
|
615
615
|
<span class="cline-any cline-neutral"> </span>
|
|
616
616
|
<span class="cline-any cline-neutral"> </span>
|
|
617
617
|
<span class="cline-any cline-neutral"> </span>
|
|
618
618
|
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-yes">
|
|
619
|
+
<span class="cline-any cline-yes">73x</span>
|
|
620
620
|
<span class="cline-any cline-neutral"> </span>
|
|
621
|
-
<span class="cline-any cline-yes">
|
|
622
|
-
<span class="cline-any cline-yes">
|
|
623
|
-
<span class="cline-any cline-yes">
|
|
624
|
-
<span class="cline-any cline-yes">
|
|
621
|
+
<span class="cline-any cline-yes">73x</span>
|
|
622
|
+
<span class="cline-any cline-yes">73x</span>
|
|
623
|
+
<span class="cline-any cline-yes">73x</span>
|
|
624
|
+
<span class="cline-any cline-yes">332x</span>
|
|
625
625
|
<span class="cline-any cline-neutral"> </span>
|
|
626
|
-
<span class="cline-any cline-yes">
|
|
627
|
-
<span class="cline-any cline-yes">
|
|
626
|
+
<span class="cline-any cline-yes">332x</span>
|
|
627
|
+
<span class="cline-any cline-yes">159x</span>
|
|
628
628
|
<span class="cline-any cline-yes">3x</span>
|
|
629
629
|
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-yes">
|
|
630
|
+
<span class="cline-any cline-yes">159x</span>
|
|
631
|
+
<span class="cline-any cline-neutral"> </span>
|
|
631
632
|
<span class="cline-any cline-neutral"> </span>
|
|
632
633
|
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-yes">
|
|
634
|
+
<span class="cline-any cline-yes">173x</span>
|
|
634
635
|
<span class="cline-any cline-no"> </span>
|
|
635
636
|
<span class="cline-any cline-neutral"> </span>
|
|
637
|
+
<span class="cline-any cline-yes">173x</span>
|
|
638
|
+
<span class="cline-any cline-neutral"> </span>
|
|
639
|
+
<span class="cline-any cline-neutral"> </span>
|
|
636
640
|
<span class="cline-any cline-neutral"> </span>
|
|
641
|
+
<span class="cline-any cline-yes">73x</span>
|
|
642
|
+
<span class="cline-any cline-yes">68x</span>
|
|
643
|
+
<span class="cline-any cline-yes">68x</span>
|
|
637
644
|
<span class="cline-any cline-neutral"> </span>
|
|
638
|
-
<span class="cline-any cline-yes">179x</span>
|
|
639
645
|
<span class="cline-any cline-neutral"> </span>
|
|
640
646
|
<span class="cline-any cline-neutral"> </span>
|
|
647
|
+
<span class="cline-any cline-yes">73x</span>
|
|
641
648
|
<span class="cline-any cline-neutral"> </span>
|
|
642
|
-
<span class="cline-any cline-yes">76x</span>
|
|
643
|
-
<span class="cline-any cline-yes">71x</span>
|
|
644
|
-
<span class="cline-any cline-yes">71x</span>
|
|
645
649
|
<span class="cline-any cline-neutral"> </span>
|
|
646
650
|
<span class="cline-any cline-neutral"> </span>
|
|
647
651
|
<span class="cline-any cline-neutral"> </span>
|
|
648
|
-
<span class="cline-any cline-yes">76x</span>
|
|
649
652
|
<span class="cline-any cline-neutral"> </span>
|
|
650
653
|
<span class="cline-any cline-neutral"> </span>
|
|
651
654
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -654,24 +657,27 @@
|
|
|
654
657
|
<span class="cline-any cline-neutral"> </span>
|
|
655
658
|
<span class="cline-any cline-neutral"> </span>
|
|
656
659
|
<span class="cline-any cline-neutral"> </span>
|
|
660
|
+
<span class="cline-any cline-yes">34x</span>
|
|
657
661
|
<span class="cline-any cline-neutral"> </span>
|
|
658
662
|
<span class="cline-any cline-neutral"> </span>
|
|
659
663
|
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-yes">39x</span>
|
|
661
|
-
<span class="cline-any cline-yes">103x</span>
|
|
662
|
-
<span class="cline-any cline-yes">103x</span>
|
|
663
|
-
<span class="cline-any cline-yes">90x</span>
|
|
664
|
-
<span class="cline-any cline-yes">90x</span>
|
|
665
664
|
<span class="cline-any cline-neutral"> </span>
|
|
666
665
|
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-yes">
|
|
666
|
+
<span class="cline-any cline-yes">100x</span>
|
|
667
|
+
<span class="cline-any cline-yes">100x</span>
|
|
668
|
+
<span class="cline-any cline-yes">100x</span>
|
|
669
|
+
<span class="cline-any cline-yes">87x</span>
|
|
670
|
+
<span class="cline-any cline-yes">87x</span>
|
|
668
671
|
<span class="cline-any cline-neutral"> </span>
|
|
669
672
|
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-yes">
|
|
673
|
+
<span class="cline-any cline-yes">100x</span>
|
|
671
674
|
<span class="cline-any cline-neutral"> </span>
|
|
672
675
|
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-yes">
|
|
674
|
-
<span class="cline-any cline-
|
|
676
|
+
<span class="cline-any cline-yes">100x</span>
|
|
677
|
+
<span class="cline-any cline-neutral"> </span>
|
|
678
|
+
<span class="cline-any cline-neutral"> </span>
|
|
679
|
+
<span class="cline-any cline-yes">100x</span>
|
|
680
|
+
<span class="cline-any cline-yes">296x</span>
|
|
675
681
|
<span class="cline-any cline-yes">8x</span>
|
|
676
682
|
<span class="cline-any cline-yes">8x</span>
|
|
677
683
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -682,14 +688,14 @@
|
|
|
682
688
|
<span class="cline-any cline-neutral"> </span>
|
|
683
689
|
<span class="cline-any cline-neutral"> </span>
|
|
684
690
|
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-yes">
|
|
691
|
+
<span class="cline-any cline-yes">100x</span>
|
|
686
692
|
<span class="cline-any cline-yes">26x</span>
|
|
687
693
|
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-yes">103x</span>
|
|
689
694
|
<span class="cline-any cline-neutral"> </span>
|
|
690
695
|
<span class="cline-any cline-neutral"> </span>
|
|
691
696
|
<span class="cline-any cline-neutral"> </span>
|
|
692
697
|
<span class="cline-any cline-neutral"> </span>
|
|
698
|
+
<span class="cline-any cline-yes">100x</span>
|
|
693
699
|
<span class="cline-any cline-neutral"> </span>
|
|
694
700
|
<span class="cline-any cline-neutral"> </span>
|
|
695
701
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -698,24 +704,20 @@
|
|
|
698
704
|
<span class="cline-any cline-neutral"> </span>
|
|
699
705
|
<span class="cline-any cline-neutral"> </span>
|
|
700
706
|
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-yes">39x</span>
|
|
702
|
-
<span class="cline-any cline-yes">11x</span>
|
|
703
|
-
<span class="cline-any cline-yes">11x</span>
|
|
704
|
-
<span class="cline-any cline-yes">11x</span>
|
|
705
707
|
<span class="cline-any cline-neutral"> </span>
|
|
706
|
-
<span class="cline-any cline-yes">11x</span>
|
|
707
|
-
<span class="cline-any cline-yes">11x</span>
|
|
708
|
-
<span class="cline-any cline-yes">11x</span>
|
|
709
708
|
<span class="cline-any cline-neutral"> </span>
|
|
710
709
|
<span class="cline-any cline-neutral"> </span>
|
|
711
|
-
<span class="cline-any cline-
|
|
710
|
+
<span class="cline-any cline-yes">34x</span>
|
|
711
|
+
<span class="cline-any cline-yes">8x</span>
|
|
712
|
+
<span class="cline-any cline-yes">8x</span>
|
|
712
713
|
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-
|
|
714
|
-
<span class="cline-any cline-
|
|
714
|
+
<span class="cline-any cline-yes">8x</span>
|
|
715
|
+
<span class="cline-any cline-yes">8x</span>
|
|
716
|
+
<span class="cline-any cline-yes">8x</span>
|
|
715
717
|
<span class="cline-any cline-neutral"> </span>
|
|
716
718
|
<span class="cline-any cline-neutral"> </span>
|
|
717
719
|
<span class="cline-any cline-no"> </span>
|
|
718
|
-
<span class="cline-any cline-
|
|
720
|
+
<span class="cline-any cline-neutral"> </span>
|
|
719
721
|
<span class="cline-any cline-no"> </span>
|
|
720
722
|
<span class="cline-any cline-no"> </span>
|
|
721
723
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -724,6 +726,8 @@
|
|
|
724
726
|
<span class="cline-any cline-no"> </span>
|
|
725
727
|
<span class="cline-any cline-no"> </span>
|
|
726
728
|
<span class="cline-any cline-neutral"> </span>
|
|
729
|
+
<span class="cline-any cline-neutral"> </span>
|
|
730
|
+
<span class="cline-any cline-no"> </span>
|
|
727
731
|
<span class="cline-any cline-no"> </span>
|
|
728
732
|
<span class="cline-any cline-no"> </span>
|
|
729
733
|
<span class="cline-any cline-no"> </span>
|
|
@@ -744,10 +748,10 @@ const { deleteFiles } = require("../../utilities/fileSystem/utilities")
|
|
|
744
748
|
const { ObjectStoreBuckets } = require("../../constants")
|
|
745
749
|
const {
|
|
746
750
|
isProdAppID,
|
|
747
|
-
|
|
751
|
+
getDeployedAppID,
|
|
748
752
|
dbExists,
|
|
749
753
|
} = require("@budibase/backend-core/db")
|
|
750
|
-
const
|
|
754
|
+
const CouchDB = require("../../db")
|
|
751
755
|
|
|
752
756
|
const BASE_AUTO_ID = 1
|
|
753
757
|
|
|
@@ -917,8 +921,6 @@ function processAutoColumn(
|
|
|
917
921
|
}
|
|
918
922
|
exports.processAutoColumn = processAutoColumn
|
|
919
923
|
|
|
920
|
-
exports.processFormulas = processFormulas
|
|
921
|
-
|
|
922
924
|
/**
|
|
923
925
|
* This will coerce a value to the correct types based on the type transform map
|
|
924
926
|
* @param {object} row The value to coerce
|
|
@@ -968,12 +970,11 @@ exports.inputProcessing = (
|
|
|
968
970
|
}
|
|
969
971
|
continue
|
|
970
972
|
}
|
|
971
|
-
//
|
|
973
|
+
// specific case to delete formula values if they get saved
|
|
974
|
+
// type coercion cannot completely remove the field, so have to do it here
|
|
972
975
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (field.type === FieldTypes.FORMULA) {
|
|
973
976
|
<span class="cstat-no" title="statement not covered" > delete clonedRow[key]</span>
|
|
974
|
-
}
|
|
975
|
-
// otherwise coerce what is there to correct types
|
|
976
|
-
else {
|
|
977
|
+
} else {
|
|
977
978
|
clonedRow[key] = exports.coerce(value, field.type)
|
|
978
979
|
}
|
|
979
980
|
}
|
|
@@ -990,23 +991,30 @@ exports.inputProcessing = (
|
|
|
990
991
|
/**
|
|
991
992
|
* This function enriches the input rows with anything they are supposed to contain, for example
|
|
992
993
|
* link records or attachment links.
|
|
994
|
+
* @param {object} ctx the request which is looking for enriched rows.
|
|
993
995
|
* @param {object} table the table from which these rows came from originally, this is used to determine
|
|
994
996
|
* the schema of the rows and then enrich.
|
|
995
997
|
* @param {object[]|object} rows the rows which are to be enriched.
|
|
996
998
|
* @param {object} opts used to set some options for the output, such as disabling relationship squashing.
|
|
997
999
|
* @returns {object[]|object} the enriched rows will be returned.
|
|
998
1000
|
*/
|
|
999
|
-
exports.outputProcessing = async (
|
|
1001
|
+
exports.outputProcessing = async (
|
|
1002
|
+
ctx,
|
|
1003
|
+
table,
|
|
1004
|
+
rows,
|
|
1005
|
+
opts = { squash: true }
|
|
1006
|
+
) => {
|
|
1007
|
+
const appId = ctx.appId
|
|
1000
1008
|
let wasArray = true
|
|
1001
1009
|
if (!(rows instanceof Array)) {
|
|
1002
1010
|
rows = [rows]
|
|
1003
1011
|
wasArray = false
|
|
1004
1012
|
}
|
|
1005
1013
|
// attach any linked row information
|
|
1006
|
-
let enriched = await linkRows.attachFullLinkedDocs(table, rows)
|
|
1014
|
+
let enriched = await linkRows.attachFullLinkedDocs(ctx, table, rows)
|
|
1007
1015
|
|
|
1008
1016
|
// process formulas
|
|
1009
|
-
enriched = processFormulas(table, enriched
|
|
1017
|
+
enriched = processFormulas(table, enriched)
|
|
1010
1018
|
|
|
1011
1019
|
// update the attachments URL depending on hosting
|
|
1012
1020
|
for (let [property, column] of Object.entries(table.schema)) {
|
|
@@ -1022,27 +1030,29 @@ exports.outputProcessing = async (table, rows, opts = { squash: true }) => {
|
|
|
1022
1030
|
}
|
|
1023
1031
|
}
|
|
1024
1032
|
if (opts.squash) {
|
|
1025
|
-
enriched = await linkRows.squashLinksToPrimaryDisplay(
|
|
1033
|
+
enriched = await linkRows.squashLinksToPrimaryDisplay(
|
|
1034
|
+
appId,
|
|
1035
|
+
table,
|
|
1036
|
+
enriched
|
|
1037
|
+
)
|
|
1026
1038
|
}
|
|
1027
1039
|
return wasArray ? enriched : enriched[0]
|
|
1028
1040
|
}
|
|
1029
1041
|
|
|
1030
1042
|
/**
|
|
1031
1043
|
* Clean up any attachments that were attached to a row.
|
|
1044
|
+
* @param {string} appId The ID of the app from which a row is being deleted.
|
|
1032
1045
|
* @param {object} table The table from which a row is being removed.
|
|
1033
1046
|
* @param {any} row optional - the row being removed.
|
|
1034
1047
|
* @param {any} rows optional - if multiple rows being deleted can do this in bulk.
|
|
1035
1048
|
* @param {any} oldRow optional - if updating a row this will determine the difference.
|
|
1036
|
-
* @param {any} oldTable optional - if updating a table, can supply the old table to look for
|
|
1037
|
-
* deleted attachment columns.
|
|
1038
1049
|
* @return {Promise<void>} When all attachments have been removed this will return.
|
|
1039
1050
|
*/
|
|
1040
|
-
exports.cleanupAttachments = async (table, { row, rows, oldRow
|
|
1041
|
-
const appId = getAppId()
|
|
1051
|
+
exports.cleanupAttachments = async (appId, table, { row, rows, oldRow }) => {
|
|
1042
1052
|
if (!isProdAppID(appId)) {
|
|
1043
|
-
const prodAppId =
|
|
1053
|
+
const prodAppId = getDeployedAppID(appId)
|
|
1044
1054
|
// if prod exists, then don't allow deleting
|
|
1045
|
-
const exists = await dbExists(prodAppId)
|
|
1055
|
+
const exists = await dbExists(CouchDB, prodAppId)
|
|
1046
1056
|
if (exists) {
|
|
1047
1057
|
return
|
|
1048
1058
|
}
|
|
@@ -1053,16 +1063,12 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =>
|
|
|
1053
1063
|
<span class="cstat-no" title="statement not covered" > files = files.concat(row[key].map(<span class="fstat-no" title="function not covered" >at</span>tachment => <span class="cstat-no" title="statement not covered" >attachment.key)</span>)</span>
|
|
1054
1064
|
}
|
|
1055
1065
|
}
|
|
1056
|
-
|
|
1057
|
-
<span class="cstat-no" title="statement not covered" > for (let [key, schema] of Object.entries(schemaToUse)) {</span>
|
|
1066
|
+
<span class="cstat-no" title="statement not covered" > for (let [key, schema] of Object.entries(table.schema)) {</span>
|
|
1058
1067
|
<span class="cstat-no" title="statement not covered" > if (schema.type !== FieldTypes.ATTACHMENT) {</span>
|
|
1059
1068
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
1060
1069
|
}
|
|
1061
|
-
//
|
|
1062
|
-
<span class="cstat-no" title="statement not covered" > if (
|
|
1063
|
-
<span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >ro</span>w => <span class="cstat-no" title="statement not covered" >addFiles(row, key))</span></span>
|
|
1064
|
-
} else <span class="cstat-no" title="statement not covered" >if (oldRow && row) {</span>
|
|
1065
|
-
// if updating, need to manage the differences
|
|
1070
|
+
// if updating, need to manage the differences
|
|
1071
|
+
<span class="cstat-no" title="statement not covered" > if (oldRow && row) {</span>
|
|
1066
1072
|
<span class="cstat-no" title="statement not covered" > files = files.concat(getRemovedAttachmentKeys(oldRow, row, key))</span>
|
|
1067
1073
|
} else <span class="cstat-no" title="statement not covered" >if (row) {</span>
|
|
1068
1074
|
<span class="cstat-no" title="statement not covered" > addFiles(row, key)</span>
|
|
@@ -1081,7 +1087,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =>
|
|
|
1081
1087
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1082
1088
|
Code coverage generated by
|
|
1083
1089
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1084
|
-
at
|
|
1090
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
1085
1091
|
</div>
|
|
1086
1092
|
</div>
|
|
1087
1093
|
<script src="../../prettify.js"></script>
|
|
@@ -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">83.33% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>12
|
|
28
|
+
<span class='fraction'>10/12</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">83.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>5/6</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">50% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>1/
|
|
42
|
+
<span class='fraction'>1/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">90.9% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>10/11</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
57
|
</div>
|
|
58
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line high'></div>
|
|
59
59
|
<pre><table class="coverage">
|
|
60
60
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
61
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -80,97 +80,49 @@
|
|
|
80
80
|
<a name='L21'></a><a href='#L21'>21</a>
|
|
81
81
|
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
82
|
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
84
|
-
<
|
|
85
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
86
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
87
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
88
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
89
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
90
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
91
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
92
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
93
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
96
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
97
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
98
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
|
-
<a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
100
|
-
<span class="cline-any cline-yes">39x</span>
|
|
101
|
-
<span class="cline-any cline-neutral"> </span>
|
|
102
|
-
<span class="cline-any cline-neutral"> </span>
|
|
103
|
-
<span class="cline-any cline-neutral"> </span>
|
|
104
|
-
<span class="cline-any cline-neutral"> </span>
|
|
105
|
-
<span class="cline-any cline-yes">39x</span>
|
|
106
|
-
<span class="cline-any cline-neutral"> </span>
|
|
107
|
-
<span class="cline-any cline-neutral"> </span>
|
|
108
|
-
<span class="cline-any cline-neutral"> </span>
|
|
83
|
+
<a name='L24'></a><a href='#L24'>24</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
84
|
+
<span class="cline-any cline-yes">34x</span>
|
|
109
85
|
<span class="cline-any cline-neutral"> </span>
|
|
110
|
-
<span class="cline-any cline-yes">267x</span>
|
|
111
|
-
<span class="cline-any cline-yes">267x</span>
|
|
112
|
-
<span class="cline-any cline-yes">164x</span>
|
|
113
|
-
<span class="cline-any cline-yes">164x</span>
|
|
114
86
|
<span class="cline-any cline-neutral"> </span>
|
|
115
|
-
<span class="cline-any cline-yes">267x</span>
|
|
116
|
-
<span class="cline-any cline-yes">776x</span>
|
|
117
|
-
<span class="cline-any cline-yes">776x</span>
|
|
118
87
|
<span class="cline-any cline-neutral"> </span>
|
|
119
88
|
<span class="cline-any cline-neutral"> </span>
|
|
89
|
+
<span class="cline-any cline-yes">34x</span>
|
|
90
|
+
<span class="cline-any cline-yes">118x</span>
|
|
91
|
+
<span class="cline-any cline-yes">118x</span>
|
|
92
|
+
<span class="cline-any cline-yes">18x</span>
|
|
120
93
|
<span class="cline-any cline-neutral"> </span>
|
|
94
|
+
<span class="cline-any cline-yes">118x</span>
|
|
95
|
+
<span class="cline-any cline-yes">364x</span>
|
|
96
|
+
<span class="cline-any cline-yes">364x</span>
|
|
121
97
|
<span class="cline-any cline-neutral"> </span>
|
|
122
|
-
<span class="cline-any cline-yes">776x</span>
|
|
123
98
|
<span class="cline-any cline-neutral"> </span>
|
|
124
|
-
<span class="cline-any cline-neutral"> </span>
|
|
125
|
-
<span class="cline-any cline-no"> </span>
|
|
126
|
-
<span class="cline-any cline-no"> </span>
|
|
127
|
-
<span class="cline-any cline-no"> </span>
|
|
128
|
-
<span class="cline-any cline-no"> </span>
|
|
129
99
|
<span class="cline-any cline-no"> </span>
|
|
130
100
|
<span class="cline-any cline-neutral"> </span>
|
|
131
101
|
<span class="cline-any cline-neutral"> </span>
|
|
132
102
|
<span class="cline-any cline-neutral"> </span>
|
|
133
103
|
<span class="cline-any cline-neutral"> </span>
|
|
104
|
+
<span class="cline-any cline-yes">118x</span>
|
|
134
105
|
<span class="cline-any cline-neutral"> </span>
|
|
135
|
-
<span class="cline-any cline-neutral"> </span>
|
|
136
|
-
<span class="cline-any cline-yes">267x</span>
|
|
137
|
-
<span class="cline-any cline-neutral"> </span>
|
|
138
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { FieldTypes, FormulaTypes } = require("../../constants")
|
|
106
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { FieldTypes } = require("../../constants")
|
|
139
107
|
const { processStringSync } = require("@budibase/string-templates")
|
|
140
108
|
|
|
141
109
|
/**
|
|
142
110
|
* Looks through the rows provided and finds formulas - which it then processes.
|
|
143
111
|
*/
|
|
144
|
-
exports.processFormulas = (
|
|
145
|
-
table,
|
|
146
|
-
rows,
|
|
147
|
-
{ dynamic, contextRows } = { dynamic: true }
|
|
148
|
-
) => {
|
|
112
|
+
exports.processFormulas = (table, rows) => {
|
|
149
113
|
const single = !Array.isArray(rows)
|
|
150
114
|
if (single) {
|
|
151
115
|
rows = [rows]
|
|
152
|
-
contextRows = contextRows ? [contextRows] : contextRows
|
|
153
116
|
}
|
|
154
117
|
for (let [column, schema] of Object.entries(table.schema)) {
|
|
155
|
-
|
|
156
|
-
if (
|
|
157
|
-
schema.type !== FieldTypes.FORMULA ||
|
|
158
|
-
(<span class="branch-1 cbranch-no" title="branch not covered" >dynamic </span>&& <span class="branch-2 cbranch-no" title="branch not covered" >isStatic)</span> ||
|
|
159
|
-
(<span class="branch-3 cbranch-no" title="branch not covered" >!dynamic </span>&& <span class="branch-4 cbranch-no" title="branch not covered" >!isStatic)</span>
|
|
160
|
-
) {
|
|
118
|
+
if (schema.type !== FieldTypes.FORMULA) {
|
|
161
119
|
continue
|
|
162
120
|
}
|
|
163
121
|
// iterate through rows and process formula
|
|
164
|
-
<span class="cstat-no" title="statement not covered" >
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
<span class="cstat-no" title="statement not covered" > rows[i] = {</span>
|
|
169
|
-
...row,
|
|
170
|
-
[column]: processStringSync(schema.formula, context),
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
122
|
+
<span class="cstat-no" title="statement not covered" > rows = rows.map(<span class="fstat-no" title="function not covered" >ro</span>w => (<span class="cstat-no" title="statement not covered" >{</span></span>
|
|
123
|
+
...row,
|
|
124
|
+
[column]: processStringSync(schema.formula, row),
|
|
125
|
+
}))
|
|
174
126
|
}
|
|
175
127
|
return single ? rows[0] : rows
|
|
176
128
|
}
|
|
@@ -181,7 +133,7 @@ exports.processFormulas = (
|
|
|
181
133
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
182
134
|
Code coverage generated by
|
|
183
135
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
184
|
-
at
|
|
136
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
185
137
|
</div>
|
|
186
138
|
</div>
|
|
187
139
|
<script src="../../prettify.js"></script>
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
82
|
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
83
|
<a name='L24'></a><a href='#L24'>24</a>
|
|
84
|
-
<a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
85
|
-
<span class="cline-any cline-yes">
|
|
86
|
-
<span class="cline-any cline-yes">
|
|
84
|
+
<a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
85
|
+
<span class="cline-any cline-yes">34x</span>
|
|
86
|
+
<span class="cline-any cline-yes">34x</span>
|
|
87
87
|
<span class="cline-any cline-neutral"> </span>
|
|
88
88
|
<span class="cline-any cline-neutral"> </span>
|
|
89
89
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
<span class="cline-any cline-neutral"> </span>
|
|
105
105
|
<span class="cline-any cline-neutral"> </span>
|
|
106
106
|
<span class="cline-any cline-neutral"> </span>
|
|
107
|
-
<span class="cline-any cline-yes">
|
|
107
|
+
<span class="cline-any cline-yes">34x</span>
|
|
108
108
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
|
|
109
109
|
const { VM, VMScript } = require("vm2")
|
|
110
110
|
const JS_TIMEOUT_MS = 1000
|
|
@@ -136,7 +136,7 @@ module.exports = ScriptRunner
|
|
|
136
136
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
137
|
Code coverage generated by
|
|
138
138
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
139
|
-
at
|
|
139
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
</div>
|
|
142
142
|
<script src="../prettify.js"></script>
|