@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">92.1% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>35/38</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">82.14% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>23/28</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>4/
|
|
42
|
+
<span class='fraction'>4/4</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">91.66% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>33/36</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>
|
|
@@ -145,88 +145,16 @@
|
|
|
145
145
|
<a name='L86'></a><a href='#L86'>86</a>
|
|
146
146
|
<a name='L87'></a><a href='#L87'>87</a>
|
|
147
147
|
<a name='L88'></a><a href='#L88'>88</a>
|
|
148
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
149
|
-
<
|
|
150
|
-
<
|
|
151
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
152
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
153
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
154
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
155
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
159
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
160
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
161
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
162
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
163
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
164
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
165
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
166
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
167
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
168
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
169
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
170
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
171
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
172
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
173
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
174
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
175
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
176
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
177
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
178
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
179
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
180
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
181
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
182
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
183
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
184
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
185
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
186
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
187
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
188
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
189
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
190
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
191
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
192
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
193
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
194
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
195
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
196
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
197
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
198
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
199
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
200
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
201
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
202
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
203
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
204
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
205
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
206
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
207
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
208
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
209
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
210
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
220
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
221
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
222
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
223
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
224
|
-
<a name='L165'></a><a href='#L165'>165</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
|
|
148
|
+
<a name='L89'></a><a href='#L89'>89</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
|
|
149
|
+
<span class="cline-any cline-yes">24x</span>
|
|
150
|
+
<span class="cline-any cline-yes">24x</span>
|
|
225
151
|
<span class="cline-any cline-yes">24x</span>
|
|
226
152
|
<span class="cline-any cline-neutral"> </span>
|
|
227
153
|
<span class="cline-any cline-neutral"> </span>
|
|
228
154
|
<span class="cline-any cline-neutral"> </span>
|
|
229
155
|
<span class="cline-any cline-yes">24x</span>
|
|
156
|
+
<span class="cline-any cline-neutral"> </span>
|
|
157
|
+
<span class="cline-any cline-neutral"> </span>
|
|
230
158
|
<span class="cline-any cline-yes">24x</span>
|
|
231
159
|
<span class="cline-any cline-neutral"> </span>
|
|
232
160
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -248,15 +176,18 @@
|
|
|
248
176
|
<span class="cline-any cline-neutral"> </span>
|
|
249
177
|
<span class="cline-any cline-neutral"> </span>
|
|
250
178
|
<span class="cline-any cline-yes">4x</span>
|
|
251
|
-
<span class="cline-any cline-yes">
|
|
179
|
+
<span class="cline-any cline-yes">5x</span>
|
|
252
180
|
<span class="cline-any cline-yes">4x</span>
|
|
253
181
|
<span class="cline-any cline-neutral"> </span>
|
|
254
182
|
<span class="cline-any cline-neutral"> </span>
|
|
255
183
|
<span class="cline-any cline-neutral"> </span>
|
|
256
184
|
<span class="cline-any cline-neutral"> </span>
|
|
257
185
|
<span class="cline-any cline-yes">24x</span>
|
|
258
|
-
<span class="cline-any cline-yes">
|
|
259
|
-
<span class="cline-any cline-
|
|
186
|
+
<span class="cline-any cline-yes">11x</span>
|
|
187
|
+
<span class="cline-any cline-neutral"> </span>
|
|
188
|
+
<span class="cline-any cline-neutral"> </span>
|
|
189
|
+
<span class="cline-any cline-yes">11x</span>
|
|
190
|
+
<span class="cline-any cline-yes">7x</span>
|
|
260
191
|
<span class="cline-any cline-neutral"> </span>
|
|
261
192
|
<span class="cline-any cline-neutral"> </span>
|
|
262
193
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -270,128 +201,49 @@
|
|
|
270
201
|
<span class="cline-any cline-yes">2x</span>
|
|
271
202
|
<span class="cline-any cline-yes">2x</span>
|
|
272
203
|
<span class="cline-any cline-yes">2x</span>
|
|
273
|
-
<span class="cline-any cline-no"> </span>
|
|
274
|
-
<span class="cline-any cline-neutral"> </span>
|
|
275
|
-
<span class="cline-any cline-no"> </span>
|
|
276
|
-
<span class="cline-any cline-neutral"> </span>
|
|
277
|
-
<span class="cline-any cline-yes">2x</span>
|
|
278
|
-
<span class="cline-any cline-neutral"> </span>
|
|
279
|
-
<span class="cline-any cline-neutral"> </span>
|
|
280
|
-
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-neutral"> </span>
|
|
282
|
-
<span class="cline-any cline-neutral"> </span>
|
|
283
|
-
<span class="cline-any cline-no"> </span>
|
|
284
|
-
<span class="cline-any cline-neutral"> </span>
|
|
285
204
|
<span class="cline-any cline-yes">2x</span>
|
|
286
205
|
<span class="cline-any cline-neutral"> </span>
|
|
206
|
+
<span class="cline-any cline-yes">1x</span>
|
|
287
207
|
<span class="cline-any cline-neutral"> </span>
|
|
208
|
+
<span class="cline-any cline-yes">1x</span>
|
|
288
209
|
<span class="cline-any cline-neutral"> </span>
|
|
289
210
|
<span class="cline-any cline-neutral"> </span>
|
|
290
211
|
<span class="cline-any cline-neutral"> </span>
|
|
291
|
-
<span class="cline-any cline-yes">4x</span>
|
|
292
|
-
<span class="cline-any cline-neutral"> </span>
|
|
293
|
-
<span class="cline-any cline-no"> </span>
|
|
294
212
|
<span class="cline-any cline-neutral"> </span>
|
|
295
213
|
<span class="cline-any cline-neutral"> </span>
|
|
296
214
|
<span class="cline-any cline-no"> </span>
|
|
297
215
|
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-yes">
|
|
299
|
-
<span class="cline-any cline-yes">4x</span>
|
|
300
|
-
<span class="cline-any cline-neutral"> </span>
|
|
301
|
-
<span class="cline-any cline-no"> </span>
|
|
302
|
-
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-neutral"> </span>
|
|
304
|
-
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-yes">24x</span>
|
|
306
|
-
<span class="cline-any cline-yes">4x</span>
|
|
216
|
+
<span class="cline-any cline-yes">1x</span>
|
|
307
217
|
<span class="cline-any cline-neutral"> </span>
|
|
308
218
|
<span class="cline-any cline-neutral"> </span>
|
|
309
219
|
<span class="cline-any cline-neutral"> </span>
|
|
310
220
|
<span class="cline-any cline-neutral"> </span>
|
|
311
221
|
<span class="cline-any cline-neutral"> </span>
|
|
312
|
-
<span class="cline-any cline-yes">4x</span>
|
|
313
|
-
<span class="cline-any cline-no"> </span>
|
|
314
|
-
<span class="cline-any cline-no"> </span>
|
|
315
|
-
<span class="cline-any cline-neutral"> </span>
|
|
316
|
-
<span class="cline-any cline-neutral"> </span>
|
|
317
|
-
<span class="cline-any cline-yes">4x</span>
|
|
318
|
-
<span class="cline-any cline-no"> </span>
|
|
319
|
-
<span class="cline-any cline-neutral"> </span>
|
|
320
|
-
<span class="cline-any cline-neutral"> </span>
|
|
321
|
-
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-yes">4x</span>
|
|
324
|
-
<span class="cline-any cline-yes">4x</span>
|
|
325
|
-
<span class="cline-any cline-yes">4x</span>
|
|
326
|
-
<span class="cline-any cline-neutral"> </span>
|
|
327
|
-
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-yes">4x</span>
|
|
329
|
-
<span class="cline-any cline-no"> </span>
|
|
330
|
-
<span class="cline-any cline-no"> </span>
|
|
331
|
-
<span class="cline-any cline-neutral"> </span>
|
|
332
|
-
<span class="cline-any cline-neutral"> </span>
|
|
333
|
-
<span class="cline-any cline-yes">4x</span>
|
|
334
222
|
<span class="cline-any cline-yes">3x</span>
|
|
335
223
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
+
<span class="cline-any cline-yes">1x</span>
|
|
336
225
|
<span class="cline-any cline-neutral"> </span>
|
|
337
226
|
<span class="cline-any cline-neutral"> </span>
|
|
338
|
-
<span class="cline-any cline-
|
|
339
|
-
<span class="cline-any cline-yes">4x</span>
|
|
340
|
-
<span class="cline-any cline-yes">4x</span>
|
|
341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-yes">24x</span>
|
|
345
|
-
<span class="cline-any cline-no"> </span>
|
|
346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-no"> </span>
|
|
348
|
-
<span class="cline-any cline-no"> </span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-no"> </span>
|
|
353
|
-
<span class="cline-any cline-no"> </span>
|
|
354
|
-
<span class="cline-any cline-no"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-yes">24x</span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-no"> </span>
|
|
361
|
-
<span class="cline-any cline-no"> </span>
|
|
362
|
-
<span class="cline-any cline-no"> </span>
|
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-yes">24x</span>
|
|
227
|
+
<span class="cline-any cline-yes">2x</span>
|
|
367
228
|
<span class="cline-any cline-neutral"> </span>
|
|
368
229
|
<span class="cline-any cline-yes">3x</span>
|
|
369
|
-
<span class="cline-any cline-
|
|
370
|
-
<span class="cline-any cline-
|
|
371
|
-
<span class="cline-any cline-no"> </span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-yes">24x</span>
|
|
376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-neutral"> </span>
|
|
379
|
-
<span class="cline-any cline-yes">24x</span>
|
|
380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
381
|
-
<span class="cline-any cline-neutral"> </span>
|
|
382
|
-
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-yes">24x</span>
|
|
230
|
+
<span class="cline-any cline-yes">3x</span>
|
|
231
|
+
<span class="cline-any cline-yes">3x</span>
|
|
384
232
|
<span class="cline-any cline-neutral"> </span>
|
|
385
|
-
<span class="cline-any cline-
|
|
233
|
+
<span class="cline-any cline-no"> </span>
|
|
386
234
|
<span class="cline-any cline-neutral"> </span>
|
|
387
235
|
<span class="cline-any cline-neutral"> </span>
|
|
388
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
389
|
-
const
|
|
236
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../db")
|
|
237
|
+
const usageQuota = require("../utilities/usageQuota")
|
|
238
|
+
const env = require("../environment")
|
|
239
|
+
const { getTenantId } = require("@budibase/backend-core/tenancy")
|
|
390
240
|
const {
|
|
391
241
|
isExternalTable,
|
|
392
242
|
isRowId: isExternalRowId,
|
|
393
243
|
} = require("../integrations/utils")
|
|
394
|
-
|
|
244
|
+
|
|
245
|
+
// tenants without limits
|
|
246
|
+
const EXCLUDED_TENANTS = ["bb", "default", "bbtest", "bbstaging"]
|
|
395
247
|
|
|
396
248
|
// currently only counting new writes and deletes
|
|
397
249
|
const METHOD_MAP = {
|
|
@@ -401,13 +253,13 @@ const METHOD_MAP = {
|
|
|
401
253
|
|
|
402
254
|
const DOMAIN_MAP = {
|
|
403
255
|
rows: usageQuota.Properties.ROW,
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
256
|
+
upload: usageQuota.Properties.UPLOAD,
|
|
257
|
+
views: usageQuota.Properties.VIEW,
|
|
258
|
+
users: usageQuota.Properties.USER,
|
|
407
259
|
applications: usageQuota.Properties.APPS,
|
|
408
260
|
// this will not be updated by endpoint calls
|
|
409
261
|
// instead it will be updated by triggerInfo
|
|
410
|
-
|
|
262
|
+
automationRuns: usageQuota.Properties.AUTOMATION,
|
|
411
263
|
}
|
|
412
264
|
|
|
413
265
|
function getProperty(url) {
|
|
@@ -419,7 +271,10 @@ function getProperty(url) {
|
|
|
419
271
|
}
|
|
420
272
|
|
|
421
273
|
module.exports = async (ctx, next) => {
|
|
422
|
-
|
|
274
|
+
const tenantId = getTenantId()
|
|
275
|
+
|
|
276
|
+
// if in development or a self hosted cloud usage quotas should not be executed
|
|
277
|
+
if (env.isDev() || env.SELF_HOSTED || EXCLUDED_TENANTS.includes(tenantId)) {
|
|
423
278
|
return next()
|
|
424
279
|
}
|
|
425
280
|
|
|
@@ -433,10 +288,10 @@ module.exports = async (ctx, next) => {
|
|
|
433
288
|
const usageId = ctx.request.body._id
|
|
434
289
|
try {
|
|
435
290
|
if (ctx.appId) {
|
|
436
|
-
const db =
|
|
437
|
-
|
|
291
|
+
const db = new CouchDB(ctx.appId)
|
|
292
|
+
await db.get(usageId)
|
|
438
293
|
}
|
|
439
|
-
|
|
294
|
+
return next()
|
|
440
295
|
} catch (err) {
|
|
441
296
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
442
297
|
isExternalTable(usageId) ||
|
|
@@ -452,103 +307,20 @@ module.exports = async (ctx, next) => {
|
|
|
452
307
|
}
|
|
453
308
|
|
|
454
309
|
// update usage for uploads to be the total size
|
|
455
|
-
|
|
310
|
+
if (property === usageQuota.Properties.UPLOAD) {
|
|
456
311
|
const files =
|
|
457
|
-
|
|
312
|
+
ctx.request.files.file.length > 1
|
|
458
313
|
? Array.from(ctx.request.files.file)
|
|
459
|
-
: [ctx.request.files.file]
|
|
460
|
-
|
|
314
|
+
: <span class="branch-1 cbranch-no" title="branch not covered" >[ctx.request.files.file]</span>
|
|
315
|
+
usage = files.map(file => file.size).reduce((total, size) => total + size)
|
|
461
316
|
}
|
|
462
317
|
try {
|
|
463
|
-
await
|
|
318
|
+
await usageQuota.update(property, usage)
|
|
319
|
+
return next()
|
|
464
320
|
} catch (err) {
|
|
465
321
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, err)</span>
|
|
466
322
|
}
|
|
467
323
|
}
|
|
468
|
-
|
|
469
|
-
const performRequest = async (ctx, next, property, usage) => {
|
|
470
|
-
const usageContext = {
|
|
471
|
-
skipNext: false,
|
|
472
|
-
skipUsage: false,
|
|
473
|
-
[usageQuota.Properties.APPS]: {},
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (usage === -1) {
|
|
477
|
-
<span class="cstat-no" title="statement not covered" > if (PRE_DELETE[property]) {</span>
|
|
478
|
-
<span class="cstat-no" title="statement not covered" > await PRE_DELETE[property](ctx, usageContext)</span>
|
|
479
|
-
}
|
|
480
|
-
} else {
|
|
481
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (PRE_CREATE[property]) {
|
|
482
|
-
<span class="cstat-no" title="statement not covered" > await PRE_CREATE[property](ctx, usageContext)</span>
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
// run the request
|
|
487
|
-
if (!usageContext.skipNext) {
|
|
488
|
-
await usageQuota.update(property, usage, { dryRun: true })
|
|
489
|
-
await next()
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (usage === -1) {
|
|
493
|
-
<span class="cstat-no" title="statement not covered" > if (POST_DELETE[property]) {</span>
|
|
494
|
-
<span class="cstat-no" title="statement not covered" > await POST_DELETE[property](ctx, usageContext)</span>
|
|
495
|
-
}
|
|
496
|
-
} else {
|
|
497
|
-
if (POST_CREATE[property]) {
|
|
498
|
-
await POST_CREATE[property](ctx, usageContext)
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
// update the usage
|
|
503
|
-
if (!usageContext.skipUsage) {
|
|
504
|
-
await usageQuota.update(property, usage)
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
const appPreDelete = <span class="fstat-no" title="function not covered" >as</span>ync (ctx, usageContext) => {
|
|
509
|
-
<span class="cstat-no" title="statement not covered" > if (ctx.query.unpublish) {</span>
|
|
510
|
-
// don't run usage decrement for unpublish
|
|
511
|
-
<span class="cstat-no" title="statement not covered" > usageContext.skipUsage = true</span>
|
|
512
|
-
<span class="cstat-no" title="statement not covered" > return</span>
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
// store the row count to delete
|
|
516
|
-
const rows = <span class="cstat-no" title="statement not covered" >await getUniqueRows([ctx.appId])</span>
|
|
517
|
-
<span class="cstat-no" title="statement not covered" > if (rows.length) {</span>
|
|
518
|
-
<span class="cstat-no" title="statement not covered" > usageContext[usageQuota.Properties.APPS] = { rowCount: rows.length }</span>
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
const appPostDelete = <span class="fstat-no" title="function not covered" >as</span>ync (ctx, usageContext) => {
|
|
523
|
-
// delete the app rows from usage
|
|
524
|
-
const rowCount = <span class="cstat-no" title="statement not covered" >usageContext[usageQuota.Properties.APPS].rowCount</span>
|
|
525
|
-
<span class="cstat-no" title="statement not covered" > if (rowCount) {</span>
|
|
526
|
-
<span class="cstat-no" title="statement not covered" > await usageQuota.update(usageQuota.Properties.ROW, -rowCount)</span>
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
|
-
|
|
530
|
-
const appPostCreate = async ctx => {
|
|
531
|
-
// app import & template creation
|
|
532
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.body.useTemplate === "true") {
|
|
533
|
-
const rows = <span class="cstat-no" title="statement not covered" >await getUniqueRows([ctx.response.body.appId])</span>
|
|
534
|
-
const rowCount = <span class="cstat-no" title="statement not covered" >rows ? rows.length : 0</span>
|
|
535
|
-
<span class="cstat-no" title="statement not covered" > await usageQuota.update(usageQuota.Properties.ROW, rowCount)</span>
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
const PRE_DELETE = {
|
|
540
|
-
[usageQuota.Properties.APPS]: appPreDelete,
|
|
541
|
-
}
|
|
542
|
-
|
|
543
|
-
const POST_DELETE = {
|
|
544
|
-
[usageQuota.Properties.APPS]: appPostDelete,
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
const PRE_CREATE = {}
|
|
548
|
-
|
|
549
|
-
const POST_CREATE = {
|
|
550
|
-
[usageQuota.Properties.APPS]: appPostCreate,
|
|
551
|
-
}
|
|
552
324
|
</pre></td></tr></table></pre>
|
|
553
325
|
|
|
554
326
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -556,7 +328,7 @@ const POST_CREATE = {
|
|
|
556
328
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
557
329
|
Code coverage generated by
|
|
558
330
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
559
|
-
at
|
|
331
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
560
332
|
</div>
|
|
561
333
|
</div>
|
|
562
334
|
<script src="../prettify.js"></script>
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
<span class="cline-any cline-neutral"> </span>
|
|
70
70
|
<span class="cline-any cline-neutral"> </span>
|
|
71
71
|
<span class="cline-any cline-yes">29x</span>
|
|
72
|
-
<span class="cline-any cline-yes">
|
|
72
|
+
<span class="cline-any cline-yes">289x</span>
|
|
73
73
|
<span class="cline-any cline-neutral"> </span>
|
|
74
74
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const WEBHOOK_ENDPOINTS = new RegExp(
|
|
75
75
|
["webhooks/trigger", "webhooks/schema"].join("|")
|
|
@@ -85,7 +85,7 @@ exports.isWebhookEndpoint = ctx => {
|
|
|
85
85
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
86
86
|
Code coverage generated by
|
|
87
87
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
88
|
-
at
|
|
88
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
89
89
|
</div>
|
|
90
90
|
</div>
|
|
91
91
|
<script src="../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">84.
|
|
26
|
+
<span class="strong">84.21% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>64/76</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">90
|
|
40
|
+
<span class="strong">90% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>10
|
|
42
|
+
<span class='fraction'>9/10</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">84.
|
|
47
|
+
<span class="strong">84.21% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>64/76</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -203,9 +203,7 @@
|
|
|
203
203
|
<a name='L144'></a><a href='#L144'>144</a>
|
|
204
204
|
<a name='L145'></a><a href='#L145'>145</a>
|
|
205
205
|
<a name='L146'></a><a href='#L146'>146</a>
|
|
206
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
207
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
208
|
-
<a name='L149'></a><a href='#L149'>149</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
|
|
206
|
+
<a name='L147'></a><a href='#L147'>147</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
|
|
209
207
|
<span class="cline-any cline-yes">4x</span>
|
|
210
208
|
<span class="cline-any cline-yes">4x</span>
|
|
211
209
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -267,6 +265,7 @@
|
|
|
267
265
|
<span class="cline-any cline-neutral"> </span>
|
|
268
266
|
<span class="cline-any cline-neutral"> </span>
|
|
269
267
|
<span class="cline-any cline-yes">7x</span>
|
|
268
|
+
<span class="cline-any cline-yes">7x</span>
|
|
270
269
|
<span class="cline-any cline-no"> </span>
|
|
271
270
|
<span class="cline-any cline-neutral"> </span>
|
|
272
271
|
<span class="cline-any cline-yes">7x</span>
|
|
@@ -338,8 +337,6 @@
|
|
|
338
337
|
<span class="cline-any cline-neutral"> </span>
|
|
339
338
|
<span class="cline-any cline-yes">4x</span>
|
|
340
339
|
<span class="cline-any cline-yes">7x</span>
|
|
341
|
-
<span class="cline-any cline-yes">7x</span>
|
|
342
|
-
<span class="cline-any cline-yes">7x</span>
|
|
343
340
|
<span class="cline-any cline-neutral"> </span>
|
|
344
341
|
<span class="cline-any cline-neutral"> </span>
|
|
345
342
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -352,7 +349,6 @@
|
|
|
352
349
|
<span class="cline-any cline-no"> </span>
|
|
353
350
|
<span class="cline-any cline-neutral"> </span>
|
|
354
351
|
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
352
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">require("./utils").threadSetup()
|
|
357
353
|
const env = require("../environment")
|
|
358
354
|
const actions = require("../automations/actions")
|
|
@@ -360,11 +356,11 @@ const automationUtils = require("../automations/automationUtils")
|
|
|
360
356
|
const AutomationEmitter = require("../events/AutomationEmitter")
|
|
361
357
|
const { processObject } = require("@budibase/string-templates")
|
|
362
358
|
const { DEFAULT_TENANT_ID } = require("@budibase/backend-core/constants")
|
|
359
|
+
const CouchDB = require("../db")
|
|
363
360
|
const { DocumentTypes, isDevAppID } = require("../db/utils")
|
|
364
361
|
const { doInTenant } = require("@budibase/backend-core/tenancy")
|
|
365
362
|
const usage = require("../utilities/usageQuota")
|
|
366
363
|
const { definitions: triggerDefs } = require("../automations/triggerInfo")
|
|
367
|
-
const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
|
|
368
364
|
|
|
369
365
|
const FILTER_STEP_ID = actions.ACTION_DEFINITIONS.FILTER.stepId
|
|
370
366
|
const CRON_STEP_ID = triggerDefs.CRON.stepId
|
|
@@ -414,10 +410,11 @@ class Orchestrator {
|
|
|
414
410
|
}
|
|
415
411
|
|
|
416
412
|
async getApp() {
|
|
413
|
+
const appId = this._appId
|
|
417
414
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._app) {
|
|
418
415
|
<span class="cstat-no" title="statement not covered" > return this._app</span>
|
|
419
416
|
}
|
|
420
|
-
const db =
|
|
417
|
+
const db = new CouchDB(appId)
|
|
421
418
|
this._app = await db.get(DocumentTypes.APP_METADATA)
|
|
422
419
|
return this._app
|
|
423
420
|
}
|
|
@@ -485,21 +482,18 @@ class Orchestrator {
|
|
|
485
482
|
}
|
|
486
483
|
|
|
487
484
|
module.exports = (input, callback) => {
|
|
488
|
-
const
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
)
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
<span class="cstat-no" title="statement not covered" > callback(err)</span>
|
|
501
|
-
})
|
|
502
|
-
})
|
|
485
|
+
const automationOrchestrator = new Orchestrator(
|
|
486
|
+
input.data.automation,
|
|
487
|
+
input.data.event
|
|
488
|
+
)
|
|
489
|
+
automationOrchestrator
|
|
490
|
+
.execute()
|
|
491
|
+
.then(response => {
|
|
492
|
+
callback(null, response)
|
|
493
|
+
})
|
|
494
|
+
.catch(<span class="fstat-no" title="function not covered" >er</span>r => {
|
|
495
|
+
<span class="cstat-no" title="statement not covered" > callback(err)</span>
|
|
496
|
+
})
|
|
503
497
|
}
|
|
504
498
|
</pre></td></tr></table></pre>
|
|
505
499
|
|
|
@@ -508,7 +502,7 @@ module.exports = (input, callback) => {
|
|
|
508
502
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
509
503
|
Code coverage generated by
|
|
510
504
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
511
|
-
at
|
|
505
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
512
506
|
</div>
|
|
513
507
|
</div>
|
|
514
508
|
<script src="../prettify.js"></script>
|