@budibase/server 1.0.49 → 1.0.50-alpha.3
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.2c37968e.js → index.9fe798bd.js} +252 -249
- package/builder/assets/index.c0cc369d.css +6 -0
- package/builder/assets/{vendor.f9faf6ab.js → vendor.5ad9695a.js} +202 -106
- package/builder/index.html +3 -3
- package/coverage/clover.xml +3105 -2814
- package/coverage/coverage-final.json +106 -101
- 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 +257 -152
- package/coverage/lcov-report/api/controllers/auth.js.html +22 -13
- 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 +13 -16
- package/coverage/lcov-report/api/controllers/datasource.js.html +81 -51
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/api/controllers/index.html +78 -78
- 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/api/controllers/migrations.js.html +119 -0
- 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 +55 -40
- package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
- package/coverage/lcov-report/api/controllers/row/internal.js.html +118 -226
- 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 +47 -62
- 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 +58 -43
- package/coverage/lcov-report/api/controllers/table/index.js.html +58 -82
- package/coverage/lcov-report/api/controllers/table/internal.js.html +81 -66
- package/coverage/lcov-report/api/controllers/table/utils.js.html +218 -110
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +79 -76
- 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 +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/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/{hosting.js.html → migrations.js.html} +17 -14
- 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 +17 -2
- 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 +13 -22
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +11 -20
- 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 +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 +53 -26
- 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 +25 -37
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +51 -96
- 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 +135 -120
- 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 +173 -65
- package/coverage/lcov-report/middleware/builder.js.html +10 -10
- package/coverage/lcov-report/middleware/currentapp.js.html +95 -83
- 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 +281 -53
- 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 +26 -26
- package/coverage/lcov-report/threads/index.js.html +10 -10
- package/coverage/lcov-report/threads/query.js.html +39 -24
- 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 +58 -49
- package/coverage/lcov-report/utilities/index.html +37 -37
- package/coverage/lcov-report/utilities/index.js.html +43 -73
- 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 +97 -103
- 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 +141 -0
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +359 -0
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +305 -0
- package/coverage/lcov-report/{api/controllers/hosting.js.html → utilities/usageQuota/usageQuoteReset.js.html} +36 -48
- package/coverage/lcov-report/utilities/users.js.html +9 -9
- package/coverage/lcov-report/utilities/workerRequests.js.html +43 -112
- package/coverage/lcov.info +5010 -4425
- package/dist/api/controllers/application.js +90 -60
- package/dist/api/controllers/auth.js +8 -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 +20 -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 +13 -14
- package/dist/api/controllers/screen.js +5 -7
- package/dist/api/controllers/static/index.js +62 -16
- 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 +16 -13
- package/dist/api/controllers/table/internal.js +22 -16
- package/dist/api/controllers/table/utils.js +62 -35
- package/dist/api/controllers/user.js +43 -43
- 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 -2
- package/dist/api/routes/migrations.js +9 -0
- package/dist/api/routes/static.js +2 -1
- 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 +3 -5
- package/dist/automations/steps/deleteRow.js +1 -4
- 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 +7 -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/definitions/datasource.js +1 -0
- package/dist/environment.js +4 -1
- package/dist/integrations/base/sql.js +62 -21
- package/dist/integrations/googlesheets.js +340 -0
- package/dist/integrations/index.js +3 -0
- package/dist/integrations/utils.js +60 -9
- package/dist/middleware/authorized.js +57 -30
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +41 -37
- package/dist/middleware/usageQuota.js +82 -15
- package/dist/migrations/functions/appUrls.js +46 -0
- package/dist/migrations/functions/quotas1.js +50 -0
- package/dist/migrations/functions/usageQuotas/index.js +20 -0
- package/dist/migrations/functions/usageQuotas/syncApps.js +29 -0
- package/dist/migrations/functions/usageQuotas/syncRows.js +33 -0
- package/dist/migrations/functions/userEmailViewCasing.js +24 -0
- package/dist/migrations/index.js +62 -0
- package/dist/package.json +8 -5
- package/dist/tests/utilities/TestConfiguration.js +80 -50
- package/dist/threads/automation.js +13 -11
- package/dist/threads/query.js +15 -11
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +4 -3
- package/dist/utilities/global.js +15 -12
- package/dist/utilities/index.js +7 -17
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +23 -17
- package/dist/utilities/rowProcessor/utils.js +14 -4
- package/dist/utilities/{usageQuota.js → usageQuota/index.js} +45 -31
- package/dist/utilities/usageQuota/rows.js +78 -0
- package/dist/utilities/usageQuota/usageQuoteReset.js +16 -0
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +4 -24
- package/nodemon.json +1 -1
- package/package.json +9 -6
- package/scripts/integrations/mssql/data/Dockerfile +1 -1
- package/scripts/integrations/mssql/data/setup.sql +17 -4
- package/scripts/integrations/postgres/init.sql +11 -6
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +85 -50
- package/src/api/controllers/auth.js +8 -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 +21 -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 +13 -18
- package/src/api/controllers/screen.js +5 -7
- package/src/api/controllers/static/index.js +66 -15
- 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 +20 -28
- package/src/api/controllers/table/internal.js +24 -19
- package/src/api/controllers/table/utils.js +78 -42
- package/src/api/controllers/user.js +46 -45
- 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 -2
- package/src/api/routes/migrations.js +14 -0
- package/src/api/routes/static.js +5 -0
- package/src/api/routes/tests/application.spec.js +2 -2
- package/src/api/routes/tests/auth.spec.js +1 -2
- 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/static.spec.js +98 -0
- 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 +2 -5
- package/src/automations/steps/deleteRow.js +1 -4
- 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 +9 -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/definitions/datasource.ts +3 -0
- package/src/environment.js +4 -1
- package/src/integrations/base/sql.ts +75 -29
- package/src/integrations/googlesheets.ts +353 -0
- package/src/integrations/index.ts +3 -0
- package/src/integrations/tests/sql.spec.js +16 -0
- package/src/integrations/utils.ts +75 -12
- package/src/middleware/authorized.js +66 -30
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +50 -46
- package/src/middleware/tests/authorized.spec.js +13 -6
- package/src/middleware/tests/currentapp.spec.js +6 -0
- package/src/middleware/tests/usageQuota.spec.js +18 -24
- package/src/middleware/usageQuota.js +93 -17
- 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/functions/tests/quotas1.spec.js +27 -0
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +25 -0
- package/src/migrations/functions/usageQuotas/index.ts +8 -0
- package/src/migrations/functions/usageQuotas/syncApps.ts +18 -0
- package/src/migrations/functions/usageQuotas/syncRows.ts +22 -0
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +37 -0
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +43 -0
- 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 +82 -55
- package/src/threads/automation.js +17 -15
- package/src/threads/query.js +17 -12
- package/src/utilities/fileSystem/index.js +4 -3
- package/src/utilities/global.js +15 -12
- package/src/utilities/index.js +7 -17
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +25 -27
- package/src/utilities/rowProcessor/utils.js +23 -7
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +72 -0
- package/src/utilities/usageQuota/index.js +93 -0
- package/src/utilities/usageQuota/rows.js +75 -0
- package/src/utilities/usageQuota/usageQuoteReset.js +18 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +4 -27
- package/tsconfig.json +4 -2
- package/builder/assets/index.39e01193.css +0 -1
- package/dist/api/controllers/hosting.js +0 -30
- package/dist/api/routes/hosting.js +0 -11
- package/src/api/controllers/hosting.js +0 -22
- package/src/api/routes/hosting.js +0 -13
- package/src/api/routes/tests/hosting.spec.js +0 -36
- package/src/utilities/usageQuota.js +0 -73
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">69.81% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>37/53</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">43.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>13/30</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">69.23% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>36/52</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -148,21 +148,16 @@
|
|
|
148
148
|
<a name='L89'></a><a href='#L89'>89</a>
|
|
149
149
|
<a name='L90'></a><a href='#L90'>90</a>
|
|
150
150
|
<a name='L91'></a><a href='#L91'>91</a>
|
|
151
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
152
|
-
<
|
|
153
|
-
<
|
|
154
|
-
<
|
|
155
|
-
<
|
|
156
|
-
<
|
|
157
|
-
<span class="cline-any cline-yes">
|
|
158
|
-
<span class="cline-any cline-yes">
|
|
159
|
-
<span class="cline-any cline-
|
|
160
|
-
<span class="cline-any cline-yes">
|
|
161
|
-
<span class="cline-any cline-yes">34x</span>
|
|
162
|
-
<span class="cline-any cline-yes">34x</span>
|
|
163
|
-
<span class="cline-any cline-yes">34x</span>
|
|
164
|
-
<span class="cline-any cline-neutral"> </span>
|
|
165
|
-
<span class="cline-any cline-yes">34x</span>
|
|
151
|
+
<a name='L92'></a><a href='#L92'>92</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
152
|
+
<span class="cline-any cline-yes">39x</span>
|
|
153
|
+
<span class="cline-any cline-yes">39x</span>
|
|
154
|
+
<span class="cline-any cline-yes">39x</span>
|
|
155
|
+
<span class="cline-any cline-yes">39x</span>
|
|
156
|
+
<span class="cline-any cline-yes">39x</span>
|
|
157
|
+
<span class="cline-any cline-yes">39x</span>
|
|
158
|
+
<span class="cline-any cline-yes">39x</span>
|
|
159
|
+
<span class="cline-any cline-neutral"> </span>
|
|
160
|
+
<span class="cline-any cline-yes">39x</span>
|
|
166
161
|
<span class="cline-any cline-neutral"> </span>
|
|
167
162
|
<span class="cline-any cline-yes">2x</span>
|
|
168
163
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -172,14 +167,15 @@
|
|
|
172
167
|
<span class="cline-any cline-neutral"> </span>
|
|
173
168
|
<span class="cline-any cline-neutral"> </span>
|
|
174
169
|
<span class="cline-any cline-neutral"> </span>
|
|
175
|
-
<span class="cline-any cline-yes">
|
|
170
|
+
<span class="cline-any cline-yes">39x</span>
|
|
176
171
|
<span class="cline-any cline-yes">1x</span>
|
|
177
172
|
<span class="cline-any cline-yes">1x</span>
|
|
178
173
|
<span class="cline-any cline-yes">1x</span>
|
|
179
174
|
<span class="cline-any cline-yes">1x</span>
|
|
180
175
|
<span class="cline-any cline-neutral"> </span>
|
|
181
176
|
<span class="cline-any cline-neutral"> </span>
|
|
182
|
-
<span class="cline-any cline-yes">
|
|
177
|
+
<span class="cline-any cline-yes">39x</span>
|
|
178
|
+
<span class="cline-any cline-yes">19x</span>
|
|
183
179
|
<span class="cline-any cline-neutral"> </span>
|
|
184
180
|
<span class="cline-any cline-neutral"> </span>
|
|
185
181
|
<span class="cline-any cline-yes">19x</span>
|
|
@@ -197,66 +193,60 @@
|
|
|
197
193
|
<span class="cline-any cline-yes">16x</span>
|
|
198
194
|
<span class="cline-any cline-neutral"> </span>
|
|
199
195
|
<span class="cline-any cline-neutral"> </span>
|
|
200
|
-
<span class="cline-any cline-yes">
|
|
201
|
-
<span class="cline-any cline-yes">
|
|
196
|
+
<span class="cline-any cline-yes">39x</span>
|
|
197
|
+
<span class="cline-any cline-yes">77x</span>
|
|
202
198
|
<span class="cline-any cline-yes">2x</span>
|
|
203
199
|
<span class="cline-any cline-yes">2x</span>
|
|
204
200
|
<span class="cline-any cline-neutral"> </span>
|
|
205
|
-
<span class="cline-any cline-yes">
|
|
206
|
-
<span class="cline-any cline-yes">
|
|
207
|
-
<span class="cline-any cline-yes">
|
|
208
|
-
<span class="cline-any cline-yes">
|
|
201
|
+
<span class="cline-any cline-yes">77x</span>
|
|
202
|
+
<span class="cline-any cline-yes">77x</span>
|
|
203
|
+
<span class="cline-any cline-yes">212x</span>
|
|
204
|
+
<span class="cline-any cline-yes">212x</span>
|
|
209
205
|
<span class="cline-any cline-neutral"> </span>
|
|
210
|
-
<span class="cline-any cline-yes">
|
|
206
|
+
<span class="cline-any cline-yes">212x</span>
|
|
211
207
|
<span class="cline-any cline-no"> </span>
|
|
212
208
|
<span class="cline-any cline-neutral"> </span>
|
|
213
209
|
<span class="cline-any cline-neutral"> </span>
|
|
214
210
|
<span class="cline-any cline-neutral"> </span>
|
|
215
211
|
<span class="cline-any cline-neutral"> </span>
|
|
216
|
-
<span class="cline-any cline-yes">
|
|
217
|
-
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-no"> </span>
|
|
219
|
-
<span class="cline-any cline-neutral"> </span>
|
|
220
|
-
<span class="cline-any cline-neutral"> </span>
|
|
212
|
+
<span class="cline-any cline-yes">212x</span>
|
|
221
213
|
<span class="cline-any cline-no"> </span>
|
|
222
214
|
<span class="cline-any cline-no"> </span>
|
|
223
215
|
<span class="cline-any cline-no"> </span>
|
|
224
216
|
<span class="cline-any cline-no"> </span>
|
|
225
217
|
<span class="cline-any cline-neutral"> </span>
|
|
226
218
|
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
228
|
-
<span class="cline-any cline-neutral"> </span>
|
|
229
|
-
<span class="cline-any cline-neutral"> </span>
|
|
230
219
|
<span class="cline-any cline-no"> </span>
|
|
220
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
221
|
<span class="cline-any cline-no"> </span>
|
|
232
222
|
<span class="cline-any cline-neutral"> </span>
|
|
233
|
-
<span class="cline-any cline-yes">
|
|
223
|
+
<span class="cline-any cline-yes">212x</span>
|
|
234
224
|
<span class="cline-any cline-neutral"> </span>
|
|
235
225
|
<span class="cline-any cline-no"> </span>
|
|
236
226
|
<span class="cline-any cline-no"> </span>
|
|
237
227
|
<span class="cline-any cline-neutral"> </span>
|
|
238
228
|
<span class="cline-any cline-no"> </span>
|
|
239
229
|
<span class="cline-any cline-neutral"> </span>
|
|
240
|
-
<span class="cline-any cline-yes">
|
|
230
|
+
<span class="cline-any cline-yes">212x</span>
|
|
241
231
|
<span class="cline-any cline-no"> </span>
|
|
242
232
|
<span class="cline-any cline-neutral"> </span>
|
|
243
233
|
<span class="cline-any cline-neutral"> </span>
|
|
244
234
|
<span class="cline-any cline-neutral"> </span>
|
|
245
235
|
<span class="cline-any cline-neutral"> </span>
|
|
246
|
-
<span class="cline-any cline-yes">
|
|
236
|
+
<span class="cline-any cline-yes">212x</span>
|
|
247
237
|
<span class="cline-any cline-neutral"> </span>
|
|
248
|
-
<span class="cline-any cline-yes">
|
|
238
|
+
<span class="cline-any cline-yes">212x</span>
|
|
249
239
|
<span class="cline-any cline-neutral"> </span>
|
|
250
|
-
<span class="cline-any cline-yes">
|
|
240
|
+
<span class="cline-any cline-yes">77x</span>
|
|
251
241
|
<span class="cline-any cline-neutral"> </span>
|
|
252
242
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const validateJs = require("validate.js")
|
|
253
243
|
const { cloneDeep } = require("lodash/fp")
|
|
254
|
-
const CouchDB = require("../../../db")
|
|
255
244
|
const { InternalTables } = require("../../../db/utils")
|
|
256
245
|
const userController = require("../user")
|
|
257
246
|
const { FieldTypes } = require("../../../constants")
|
|
258
247
|
const { processStringSync } = require("@budibase/string-templates")
|
|
259
248
|
const { makeExternalQuery } = require("../../../integrations/base/utils")
|
|
249
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
260
250
|
|
|
261
251
|
validateJs.extend(validateJs.validators.datetime, {
|
|
262
252
|
parse: function (value) {
|
|
@@ -268,14 +258,15 @@ validateJs.extend(validateJs.validators.datetime, {
|
|
|
268
258
|
},
|
|
269
259
|
})
|
|
270
260
|
|
|
271
|
-
exports.getDatasourceAndQuery = async
|
|
261
|
+
exports.getDatasourceAndQuery = async json => {
|
|
272
262
|
const datasourceId = json.endpoint.datasourceId
|
|
273
|
-
const db =
|
|
263
|
+
const db = getAppDB()
|
|
274
264
|
const datasource = await db.get(datasourceId)
|
|
275
265
|
return makeExternalQuery(datasource, json)
|
|
276
266
|
}
|
|
277
267
|
|
|
278
|
-
exports.findRow = async (ctx,
|
|
268
|
+
exports.findRow = async (ctx, tableId, rowId) => {
|
|
269
|
+
const db = getAppDB()
|
|
279
270
|
let row
|
|
280
271
|
// TODO remove special user case in future
|
|
281
272
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
@@ -293,9 +284,9 @@ exports.findRow = async (ctx, db, tableId, rowId) => {
|
|
|
293
284
|
return row
|
|
294
285
|
}
|
|
295
286
|
|
|
296
|
-
exports.validate = async ({
|
|
287
|
+
exports.validate = async ({ tableId, row, table }) => {
|
|
297
288
|
if (!table) {
|
|
298
|
-
const db =
|
|
289
|
+
const db = getAppDB()
|
|
299
290
|
table = await db.get(tableId)
|
|
300
291
|
}
|
|
301
292
|
const errors = {}
|
|
@@ -309,22 +300,16 @@ exports.validate = async ({ appId, tableId, row, table }) => {
|
|
|
309
300
|
let res
|
|
310
301
|
|
|
311
302
|
// Validate.js doesn't seem to handle array
|
|
312
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (type === FieldTypes.ARRAY) {
|
|
313
|
-
|
|
314
|
-
<span class="cstat-no" title="statement not covered" > Array.isArray(row[fieldName]) && row[fieldName].length > 0</span>
|
|
315
|
-
|
|
316
|
-
// Check values are valid if values are specified
|
|
317
|
-
<span class="cstat-no" title="statement not covered" > if (hasValues) {</span>
|
|
303
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (type === FieldTypes.ARRAY && <span class="branch-1 cbranch-no" title="branch not covered" >row[fieldName])</span> {
|
|
304
|
+
<span class="cstat-no" title="statement not covered" > if (row[fieldName].length) {</span>
|
|
318
305
|
<span class="cstat-no" title="statement not covered" > row[fieldName].map(<span class="fstat-no" title="function not covered" >va</span>l => {</span>
|
|
319
306
|
<span class="cstat-no" title="statement not covered" > if (!constraints.inclusion.includes(val)) {</span>
|
|
320
|
-
<span class="cstat-no" title="statement not covered" > errors[fieldName] = "
|
|
307
|
+
<span class="cstat-no" title="statement not covered" > errors[fieldName] = "Field not in list"</span>
|
|
321
308
|
}
|
|
322
309
|
})
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
<span class="cstat-no" title="statement not covered" > if (constraints.presence === true && !hasValues) {</span>
|
|
327
|
-
<span class="cstat-no" title="statement not covered" > errors[fieldName] = "Required field"</span>
|
|
310
|
+
} else <span class="cstat-no" title="statement not covered" >if (constraints.presence && row[fieldName].length === 0) {</span>
|
|
311
|
+
// non required MultiSelect creates an empty array, which should not throw errors
|
|
312
|
+
<span class="cstat-no" title="statement not covered" > errors[fieldName] = [`${fieldName} is required`]</span>
|
|
328
313
|
}
|
|
329
314
|
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (type === FieldTypes.JSON && <span class="branch-1 cbranch-no" title="branch not covered" >typeof row[fieldName] === "string")</span> {
|
|
330
315
|
// this should only happen if there is an error
|
|
@@ -352,7 +337,7 @@ exports.validate = async ({ appId, tableId, row, table }) => {
|
|
|
352
337
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
353
338
|
Code coverage generated by
|
|
354
339
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
355
|
-
at
|
|
340
|
+
at Tue Feb 08 2022 15:32:15 GMT+0000 (Coordinated Universal Time)
|
|
356
341
|
</div>
|
|
357
342
|
</div>
|
|
358
343
|
<script src="../../../prettify.js"></script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>21/21</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>21/21</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -103,14 +103,11 @@
|
|
|
103
103
|
<a name='L44'></a><a href='#L44'>44</a>
|
|
104
104
|
<a name='L45'></a><a href='#L45'>45</a>
|
|
105
105
|
<a name='L46'></a><a href='#L46'>46</a>
|
|
106
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
107
|
-
<
|
|
108
|
-
<
|
|
109
|
-
<span class="cline-any cline-yes">33x</span>
|
|
110
|
-
<span class="cline-any cline-yes">33x</span>
|
|
106
|
+
<a name='L47'></a><a href='#L47'>47</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
|
|
107
|
+
<span class="cline-any cline-yes">38x</span>
|
|
108
|
+
<span class="cline-any cline-yes">38x</span>
|
|
111
109
|
<span class="cline-any cline-neutral"> </span>
|
|
112
|
-
<span class="cline-any cline-yes">
|
|
113
|
-
<span class="cline-any cline-yes">1x</span>
|
|
110
|
+
<span class="cline-any cline-yes">38x</span>
|
|
114
111
|
<span class="cline-any cline-yes">1x</span>
|
|
115
112
|
<span class="cline-any cline-neutral"> </span>
|
|
116
113
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -127,8 +124,7 @@
|
|
|
127
124
|
<span class="cline-any cline-neutral"> </span>
|
|
128
125
|
<span class="cline-any cline-neutral"> </span>
|
|
129
126
|
<span class="cline-any cline-neutral"> </span>
|
|
130
|
-
<span class="cline-any cline-yes">
|
|
131
|
-
<span class="cline-any cline-yes">19x</span>
|
|
127
|
+
<span class="cline-any cline-yes">38x</span>
|
|
132
128
|
<span class="cline-any cline-yes">19x</span>
|
|
133
129
|
<span class="cline-any cline-yes">19x</span>
|
|
134
130
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -145,7 +141,7 @@
|
|
|
145
141
|
<span class="cline-any cline-neutral"> </span>
|
|
146
142
|
<span class="cline-any cline-neutral"> </span>
|
|
147
143
|
<span class="cline-any cline-neutral"> </span>
|
|
148
|
-
<span class="cline-any cline-yes">
|
|
144
|
+
<span class="cline-any cline-yes">38x</span>
|
|
149
145
|
<span class="cline-any cline-yes">1x</span>
|
|
150
146
|
<span class="cline-any cline-yes">1x</span>
|
|
151
147
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -153,13 +149,12 @@
|
|
|
153
149
|
<span class="cline-any cline-neutral"> </span>
|
|
154
150
|
<span class="cline-any cline-yes">1x</span>
|
|
155
151
|
<span class="cline-any cline-neutral"> </span>
|
|
156
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
157
|
-
const { getScreenParams, generateScreenID } = require("../../db/utils")
|
|
152
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { getScreenParams, generateScreenID } = require("../../db/utils")
|
|
158
153
|
const { AccessController } = require("@budibase/backend-core/roles")
|
|
154
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
159
155
|
|
|
160
156
|
exports.fetch = async ctx => {
|
|
161
|
-
const
|
|
162
|
-
const db = new CouchDB(appId)
|
|
157
|
+
const db = getAppDB()
|
|
163
158
|
|
|
164
159
|
const screens = (
|
|
165
160
|
await db.allDocs(
|
|
@@ -169,15 +164,14 @@ exports.fetch = async ctx => {
|
|
|
169
164
|
)
|
|
170
165
|
).rows.map(element => element.doc)
|
|
171
166
|
|
|
172
|
-
ctx.body = await new AccessController(
|
|
167
|
+
ctx.body = await new AccessController().checkScreensAccess(
|
|
173
168
|
screens,
|
|
174
169
|
ctx.user.role._id
|
|
175
170
|
)
|
|
176
171
|
}
|
|
177
172
|
|
|
178
173
|
exports.save = async ctx => {
|
|
179
|
-
const
|
|
180
|
-
const db = new CouchDB(appId)
|
|
174
|
+
const db = getAppDB()
|
|
181
175
|
let screen = ctx.request.body
|
|
182
176
|
|
|
183
177
|
if (!screen._id) {
|
|
@@ -194,7 +188,7 @@ exports.save = async ctx => {
|
|
|
194
188
|
}
|
|
195
189
|
|
|
196
190
|
exports.destroy = async ctx => {
|
|
197
|
-
const db =
|
|
191
|
+
const db = getAppDB()
|
|
198
192
|
await db.remove(ctx.params.screenId, ctx.params.screenRev)
|
|
199
193
|
ctx.body = {
|
|
200
194
|
message: "Screen deleted successfully",
|
|
@@ -208,7 +202,7 @@ exports.destroy = async ctx => {
|
|
|
208
202
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
209
203
|
Code coverage generated by
|
|
210
204
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
211
|
-
at
|
|
205
|
+
at Tue Feb 08 2022 15:32:15 GMT+0000 (Coordinated Universal Time)
|
|
212
206
|
</div>
|
|
213
207
|
</div>
|
|
214
208
|
<script src="../../prettify.js"></script>
|
|
@@ -68,15 +68,15 @@
|
|
|
68
68
|
<a name='L9'></a><a href='#L9'>9</a>
|
|
69
69
|
<a name='L10'></a><a href='#L10'>10</a>
|
|
70
70
|
<a name='L11'></a><a href='#L11'>11</a>
|
|
71
|
-
<a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
71
|
+
<a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
72
72
|
<span class="cline-any cline-neutral"> </span>
|
|
73
|
-
<span class="cline-any cline-yes">
|
|
73
|
+
<span class="cline-any cline-yes">39x</span>
|
|
74
74
|
<span class="cline-any cline-no"> </span>
|
|
75
75
|
<span class="cline-any cline-no"> </span>
|
|
76
76
|
<span class="cline-any cline-no"> </span>
|
|
77
77
|
<span class="cline-any cline-neutral"> </span>
|
|
78
78
|
<span class="cline-any cline-neutral"> </span>
|
|
79
|
-
<span class="cline-any cline-yes">
|
|
79
|
+
<span class="cline-any cline-yes">39x</span>
|
|
80
80
|
<span class="cline-any cline-no"> </span>
|
|
81
81
|
<span class="cline-any cline-neutral"> </span>
|
|
82
82
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const ScriptRunner = require("../../utilities/scriptRunner")
|
|
@@ -97,7 +97,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
97
97
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
98
98
|
Code coverage generated by
|
|
99
99
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
100
|
-
at
|
|
100
|
+
at Tue Feb 08 2022 15:32:15 GMT+0000 (Coordinated Universal Time)
|
|
101
101
|
</div>
|
|
102
102
|
</div>
|
|
103
103
|
<script src="../../prettify.js"></script>
|