@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,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">63.9% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>131/205</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">40% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>38/95</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">58.82% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>20/34</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">64.
|
|
47
|
+
<span class="strong">64.32% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>128/199</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -438,39 +438,99 @@
|
|
|
438
438
|
<a name='L379'></a><a href='#L379'>379</a>
|
|
439
439
|
<a name='L380'></a><a href='#L380'>380</a>
|
|
440
440
|
<a name='L381'></a><a href='#L381'>381</a>
|
|
441
|
-
<a name='L382'></a><a href='#L382'>382</a
|
|
442
|
-
<
|
|
441
|
+
<a name='L382'></a><a href='#L382'>382</a>
|
|
442
|
+
<a name='L383'></a><a href='#L383'>383</a>
|
|
443
|
+
<a name='L384'></a><a href='#L384'>384</a>
|
|
444
|
+
<a name='L385'></a><a href='#L385'>385</a>
|
|
445
|
+
<a name='L386'></a><a href='#L386'>386</a>
|
|
446
|
+
<a name='L387'></a><a href='#L387'>387</a>
|
|
447
|
+
<a name='L388'></a><a href='#L388'>388</a>
|
|
448
|
+
<a name='L389'></a><a href='#L389'>389</a>
|
|
449
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
450
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
451
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
452
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
453
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
454
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
455
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
456
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
457
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
458
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
459
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
460
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
461
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
462
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
463
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
464
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
465
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
466
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
467
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
468
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
469
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
470
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
471
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
472
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
473
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
474
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
476
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
477
|
+
<a name='L418'></a><a href='#L418'>418</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
443
478
|
<span class="cline-any cline-neutral"> </span>
|
|
444
479
|
<span class="cline-any cline-neutral"> </span>
|
|
445
480
|
<span class="cline-any cline-neutral"> </span>
|
|
446
481
|
<span class="cline-any cline-neutral"> </span>
|
|
447
|
-
<span class="cline-any cline-yes">34x</span>
|
|
448
|
-
<span class="cline-any cline-yes">34x</span>
|
|
449
|
-
<span class="cline-any cline-yes">34x</span>
|
|
450
|
-
<span class="cline-any cline-yes">34x</span>
|
|
451
482
|
<span class="cline-any cline-neutral"> </span>
|
|
452
483
|
<span class="cline-any cline-neutral"> </span>
|
|
484
|
+
<span class="cline-any cline-yes">39x</span>
|
|
485
|
+
<span class="cline-any cline-yes">39x</span>
|
|
486
|
+
<span class="cline-any cline-yes">39x</span>
|
|
453
487
|
<span class="cline-any cline-neutral"> </span>
|
|
454
488
|
<span class="cline-any cline-neutral"> </span>
|
|
455
|
-
<span class="cline-any cline-yes">34x</span>
|
|
456
489
|
<span class="cline-any cline-neutral"> </span>
|
|
490
|
+
<span class="cline-any cline-yes">39x</span>
|
|
457
491
|
<span class="cline-any cline-neutral"> </span>
|
|
458
492
|
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-yes">34x</span>
|
|
460
|
-
<span class="cline-any cline-yes">34x</span>
|
|
461
|
-
<span class="cline-any cline-yes">34x</span>
|
|
462
493
|
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-
|
|
464
|
-
<span class="cline-any cline-yes">
|
|
465
|
-
<span class="cline-any cline-
|
|
466
|
-
<span class="cline-any cline-
|
|
467
|
-
<span class="cline-any cline-
|
|
494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
495
|
+
<span class="cline-any cline-yes">39x</span>
|
|
496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
499
|
+
<span class="cline-any cline-neutral"> </span>
|
|
500
|
+
<span class="cline-any cline-yes">39x</span>
|
|
501
|
+
<span class="cline-any cline-yes">39x</span>
|
|
502
|
+
<span class="cline-any cline-yes">39x</span>
|
|
503
|
+
<span class="cline-any cline-yes">39x</span>
|
|
504
|
+
<span class="cline-any cline-yes">39x</span>
|
|
505
|
+
<span class="cline-any cline-yes">39x</span>
|
|
506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
507
|
+
<span class="cline-any cline-yes">39x</span>
|
|
508
|
+
<span class="cline-any cline-no"> </span>
|
|
509
|
+
<span class="cline-any cline-no"> </span>
|
|
510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
512
|
+
<span class="cline-any cline-neutral"> </span>
|
|
513
|
+
<span class="cline-any cline-neutral"> </span>
|
|
514
|
+
<span class="cline-any cline-no"> </span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-no"> </span>
|
|
517
|
+
<span class="cline-any cline-no"> </span>
|
|
518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
522
|
+
<span class="cline-any cline-yes">39x</span>
|
|
523
|
+
<span class="cline-any cline-yes">101x</span>
|
|
524
|
+
<span class="cline-any cline-yes">101x</span>
|
|
525
|
+
<span class="cline-any cline-yes">101x</span>
|
|
526
|
+
<span class="cline-any cline-yes">101x</span>
|
|
527
|
+
<span class="cline-any cline-yes">101x</span>
|
|
468
528
|
<span class="cline-any cline-yes">4x</span>
|
|
469
529
|
<span class="cline-any cline-yes">11x</span>
|
|
470
530
|
<span class="cline-any cline-neutral"> </span>
|
|
471
531
|
<span class="cline-any cline-neutral"> </span>
|
|
472
532
|
<span class="cline-any cline-neutral"> </span>
|
|
473
|
-
<span class="cline-any cline-yes">
|
|
533
|
+
<span class="cline-any cline-yes">101x</span>
|
|
474
534
|
<span class="cline-any cline-neutral"> </span>
|
|
475
535
|
<span class="cline-any cline-yes">1x</span>
|
|
476
536
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -481,6 +541,8 @@
|
|
|
481
541
|
<span class="cline-any cline-yes">1x</span>
|
|
482
542
|
<span class="cline-any cline-yes">1x</span>
|
|
483
543
|
<span class="cline-any cline-yes">1x</span>
|
|
544
|
+
<span class="cline-any cline-yes">1x</span>
|
|
545
|
+
<span class="cline-any cline-yes">1x</span>
|
|
484
546
|
<span class="cline-any cline-no"> </span>
|
|
485
547
|
<span class="cline-any cline-no"> </span>
|
|
486
548
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -489,13 +551,15 @@
|
|
|
489
551
|
<span class="cline-any cline-neutral"> </span>
|
|
490
552
|
<span class="cline-any cline-neutral"> </span>
|
|
491
553
|
<span class="cline-any cline-yes">1x</span>
|
|
554
|
+
<span class="cline-any cline-neutral"> </span>
|
|
555
|
+
<span class="cline-any cline-yes">1x</span>
|
|
492
556
|
<span class="cline-any cline-yes">1x</span>
|
|
493
557
|
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-yes">
|
|
558
|
+
<span class="cline-any cline-yes">101x</span>
|
|
495
559
|
<span class="cline-any cline-neutral"> </span>
|
|
496
560
|
<span class="cline-any cline-neutral"> </span>
|
|
497
561
|
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-yes">
|
|
562
|
+
<span class="cline-any cline-yes">39x</span>
|
|
499
563
|
<span class="cline-any cline-yes">4x</span>
|
|
500
564
|
<span class="cline-any cline-no"> </span>
|
|
501
565
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -515,9 +579,9 @@
|
|
|
515
579
|
<span class="cline-any cline-yes">4x</span>
|
|
516
580
|
<span class="cline-any cline-neutral"> </span>
|
|
517
581
|
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-yes">
|
|
519
|
-
<span class="cline-any cline-yes">
|
|
520
|
-
<span class="cline-any cline-yes">
|
|
582
|
+
<span class="cline-any cline-yes">39x</span>
|
|
583
|
+
<span class="cline-any cline-yes">102x</span>
|
|
584
|
+
<span class="cline-any cline-yes">101x</span>
|
|
521
585
|
<span class="cline-any cline-neutral"> </span>
|
|
522
586
|
<span class="cline-any cline-neutral"> </span>
|
|
523
587
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -556,15 +620,19 @@
|
|
|
556
620
|
<span class="cline-any cline-neutral"> </span>
|
|
557
621
|
<span class="cline-any cline-neutral"> </span>
|
|
558
622
|
<span class="cline-any cline-yes">1x</span>
|
|
623
|
+
<span class="cline-any cline-neutral"> </span>
|
|
624
|
+
<span class="cline-any cline-neutral"> </span>
|
|
625
|
+
<span class="cline-any cline-yes">1x</span>
|
|
626
|
+
<span class="cline-any cline-yes">1x</span>
|
|
559
627
|
<span class="cline-any cline-yes">1x</span>
|
|
560
628
|
<span class="cline-any cline-yes">1x</span>
|
|
561
629
|
<span class="cline-any cline-yes">1x</span>
|
|
562
630
|
<span class="cline-any cline-neutral"> </span>
|
|
563
631
|
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-yes">
|
|
565
|
-
<span class="cline-any cline-yes">
|
|
632
|
+
<span class="cline-any cline-yes">39x</span>
|
|
633
|
+
<span class="cline-any cline-yes">101x</span>
|
|
566
634
|
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-yes">
|
|
635
|
+
<span class="cline-any cline-yes">101x</span>
|
|
568
636
|
<span class="cline-any cline-yes">2x</span>
|
|
569
637
|
<span class="cline-any cline-yes">2x</span>
|
|
570
638
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -602,12 +670,12 @@
|
|
|
602
670
|
<span class="cline-any cline-neutral"> </span>
|
|
603
671
|
<span class="cline-any cline-neutral"> </span>
|
|
604
672
|
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-yes">
|
|
673
|
+
<span class="cline-any cline-yes">101x</span>
|
|
606
674
|
<span class="cline-any cline-neutral"> </span>
|
|
607
675
|
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-yes">
|
|
676
|
+
<span class="cline-any cline-yes">39x</span>
|
|
609
677
|
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-yes">
|
|
678
|
+
<span class="cline-any cline-yes">101x</span>
|
|
611
679
|
<span class="cline-any cline-yes">1x</span>
|
|
612
680
|
<span class="cline-any cline-neutral"> </span>
|
|
613
681
|
<span class="cline-any cline-yes">5x</span>
|
|
@@ -615,60 +683,62 @@
|
|
|
615
683
|
<span class="cline-any cline-neutral"> </span>
|
|
616
684
|
<span class="cline-any cline-neutral"> </span>
|
|
617
685
|
<span class="cline-any cline-neutral"> </span>
|
|
618
|
-
<span class="cline-any cline-yes">
|
|
686
|
+
<span class="cline-any cline-yes">101x</span>
|
|
619
687
|
<span class="cline-any cline-neutral"> </span>
|
|
620
688
|
<span class="cline-any cline-neutral"> </span>
|
|
621
689
|
<span class="cline-any cline-neutral"> </span>
|
|
622
690
|
<span class="cline-any cline-neutral"> </span>
|
|
623
|
-
<span class="cline-any cline-yes">
|
|
624
|
-
<span class="cline-any cline-yes">
|
|
625
|
-
<span class="cline-any cline-yes">
|
|
626
|
-
<span class="cline-any cline-yes">
|
|
691
|
+
<span class="cline-any cline-yes">101x</span>
|
|
692
|
+
<span class="cline-any cline-yes">101x</span>
|
|
693
|
+
<span class="cline-any cline-yes">101x</span>
|
|
694
|
+
<span class="cline-any cline-yes">101x</span>
|
|
627
695
|
<span class="cline-any cline-neutral"> </span>
|
|
628
|
-
<span class="cline-any cline-yes">
|
|
629
|
-
<span class="cline-any cline-yes">99x</span>
|
|
696
|
+
<span class="cline-any cline-yes">101x</span>
|
|
630
697
|
<span class="cline-any cline-neutral"> </span>
|
|
631
|
-
<span class="cline-any cline-yes">99x</span>
|
|
632
698
|
<span class="cline-any cline-neutral"> </span>
|
|
633
699
|
<span class="cline-any cline-neutral"> </span>
|
|
634
700
|
<span class="cline-any cline-neutral"> </span>
|
|
635
|
-
<span class="cline-any cline-
|
|
636
|
-
<span class="cline-any cline-yes">99x</span>
|
|
701
|
+
<span class="cline-any cline-yes">101x</span>
|
|
637
702
|
<span class="cline-any cline-yes">4x</span>
|
|
638
703
|
<span class="cline-any cline-neutral"> </span>
|
|
639
|
-
<span class="cline-any cline-yes">
|
|
640
|
-
<span class="cline-any cline-yes">
|
|
704
|
+
<span class="cline-any cline-yes">101x</span>
|
|
705
|
+
<span class="cline-any cline-yes">101x</span>
|
|
706
|
+
<span class="cline-any cline-neutral"> </span>
|
|
641
707
|
<span class="cline-any cline-neutral"> </span>
|
|
642
708
|
<span class="cline-any cline-neutral"> </span>
|
|
643
709
|
<span class="cline-any cline-neutral"> </span>
|
|
710
|
+
<span class="cline-any cline-yes">101x</span>
|
|
711
|
+
<span class="cline-any cline-yes">101x</span>
|
|
712
|
+
<span class="cline-any cline-yes">101x</span>
|
|
644
713
|
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-yes">99x</span>
|
|
646
714
|
<span class="cline-any cline-neutral"> </span>
|
|
647
715
|
<span class="cline-any cline-neutral"> </span>
|
|
648
716
|
<span class="cline-any cline-neutral"> </span>
|
|
717
|
+
<span class="cline-any cline-yes">101x</span>
|
|
718
|
+
<span class="cline-any cline-yes">101x</span>
|
|
719
|
+
<span class="cline-any cline-yes">101x</span>
|
|
649
720
|
<span class="cline-any cline-neutral"> </span>
|
|
650
|
-
<span class="cline-any cline-yes">99x</span>
|
|
651
|
-
<span class="cline-any cline-yes">99x</span>
|
|
652
721
|
<span class="cline-any cline-neutral"> </span>
|
|
653
722
|
<span class="cline-any cline-neutral"> </span>
|
|
723
|
+
<span class="cline-any cline-yes">101x</span>
|
|
654
724
|
<span class="cline-any cline-neutral"> </span>
|
|
655
725
|
<span class="cline-any cline-neutral"> </span>
|
|
656
|
-
<span class="cline-any cline-yes">99x</span>
|
|
657
|
-
<span class="cline-any cline-yes">99x</span>
|
|
658
726
|
<span class="cline-any cline-neutral"> </span>
|
|
727
|
+
<span class="cline-any cline-yes">39x</span>
|
|
728
|
+
<span class="cline-any cline-yes">207x</span>
|
|
729
|
+
<span class="cline-any cline-yes">207x</span>
|
|
659
730
|
<span class="cline-any cline-neutral"> </span>
|
|
660
731
|
<span class="cline-any cline-neutral"> </span>
|
|
661
732
|
<span class="cline-any cline-neutral"> </span>
|
|
662
733
|
<span class="cline-any cline-neutral"> </span>
|
|
663
|
-
<span class="cline-any cline-yes">
|
|
734
|
+
<span class="cline-any cline-yes">474x</span>
|
|
664
735
|
<span class="cline-any cline-neutral"> </span>
|
|
665
736
|
<span class="cline-any cline-neutral"> </span>
|
|
666
737
|
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-yes">99x</span>
|
|
668
738
|
<span class="cline-any cline-neutral"> </span>
|
|
669
739
|
<span class="cline-any cline-neutral"> </span>
|
|
670
740
|
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-yes">
|
|
741
|
+
<span class="cline-any cline-yes">39x</span>
|
|
672
742
|
<span class="cline-any cline-no"> </span>
|
|
673
743
|
<span class="cline-any cline-no"> </span>
|
|
674
744
|
<span class="cline-any cline-no"> </span>
|
|
@@ -677,22 +747,24 @@
|
|
|
677
747
|
<span class="cline-any cline-no"> </span>
|
|
678
748
|
<span class="cline-any cline-neutral"> </span>
|
|
679
749
|
<span class="cline-any cline-neutral"> </span>
|
|
680
|
-
<span class="cline-any cline-yes">
|
|
750
|
+
<span class="cline-any cline-yes">39x</span>
|
|
681
751
|
<span class="cline-any cline-no"> </span>
|
|
682
752
|
<span class="cline-any cline-no"> </span>
|
|
683
753
|
<span class="cline-any cline-neutral"> </span>
|
|
684
754
|
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-yes">
|
|
755
|
+
<span class="cline-any cline-yes">39x</span>
|
|
686
756
|
<span class="cline-any cline-yes">30x</span>
|
|
687
757
|
<span class="cline-any cline-yes">30x</span>
|
|
688
758
|
<span class="cline-any cline-no"> </span>
|
|
689
759
|
<span class="cline-any cline-no"> </span>
|
|
760
|
+
<span class="cline-any cline-no"> </span>
|
|
761
|
+
<span class="cline-any cline-no"> </span>
|
|
690
762
|
<span class="cline-any cline-neutral"> </span>
|
|
691
763
|
<span class="cline-any cline-yes">30x</span>
|
|
692
764
|
<span class="cline-any cline-neutral"> </span>
|
|
693
765
|
<span class="cline-any cline-neutral"> </span>
|
|
694
766
|
<span class="cline-any cline-neutral"> </span>
|
|
695
|
-
<span class="cline-any cline-yes">
|
|
767
|
+
<span class="cline-any cline-yes">39x</span>
|
|
696
768
|
<span class="cline-any cline-yes">1x</span>
|
|
697
769
|
<span class="cline-any cline-yes">1x</span>
|
|
698
770
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -764,15 +836,15 @@
|
|
|
764
836
|
<span class="cline-any cline-neutral"> </span>
|
|
765
837
|
<span class="cline-any cline-neutral"> </span>
|
|
766
838
|
<span class="cline-any cline-neutral"> </span>
|
|
767
|
-
<span class="cline-any cline-yes">
|
|
839
|
+
<span class="cline-any cline-yes">39x</span>
|
|
768
840
|
<span class="cline-any cline-no"> </span>
|
|
769
841
|
<span class="cline-any cline-neutral"> </span>
|
|
770
842
|
<span class="cline-any cline-neutral"> </span>
|
|
771
|
-
<span class="cline-any cline-yes">
|
|
843
|
+
<span class="cline-any cline-yes">39x</span>
|
|
772
844
|
<span class="cline-any cline-no"> </span>
|
|
773
845
|
<span class="cline-any cline-neutral"> </span>
|
|
774
846
|
<span class="cline-any cline-neutral"> </span>
|
|
775
|
-
<span class="cline-any cline-yes">
|
|
847
|
+
<span class="cline-any cline-yes">39x</span>
|
|
776
848
|
<span class="cline-any cline-no"> </span>
|
|
777
849
|
<span class="cline-any cline-neutral"> </span>
|
|
778
850
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -784,7 +856,7 @@
|
|
|
784
856
|
<span class="cline-any cline-no"> </span>
|
|
785
857
|
<span class="cline-any cline-neutral"> </span>
|
|
786
858
|
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-yes">
|
|
859
|
+
<span class="cline-any cline-yes">39x</span>
|
|
788
860
|
<span class="cline-any cline-no"> </span>
|
|
789
861
|
<span class="cline-any cline-neutral"> </span>
|
|
790
862
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -801,9 +873,9 @@
|
|
|
801
873
|
<span class="cline-any cline-no"> </span>
|
|
802
874
|
<span class="cline-any cline-neutral"> </span>
|
|
803
875
|
<span class="cline-any cline-neutral"> </span>
|
|
804
|
-
<span class="cline-any cline-yes">
|
|
805
|
-
<span class="cline-any cline-yes">
|
|
806
|
-
<span class="cline-any cline-yes">
|
|
876
|
+
<span class="cline-any cline-yes">39x</span>
|
|
877
|
+
<span class="cline-any cline-yes">101x</span>
|
|
878
|
+
<span class="cline-any cline-yes">97x</span>
|
|
807
879
|
<span class="cline-any cline-neutral"> </span>
|
|
808
880
|
<span class="cline-any cline-yes">4x</span>
|
|
809
881
|
<span class="cline-any cline-yes">11x</span>
|
|
@@ -818,17 +890,21 @@
|
|
|
818
890
|
<span class="cline-any cline-yes">4x</span>
|
|
819
891
|
<span class="cline-any cline-neutral"> </span>
|
|
820
892
|
<span class="cline-any cline-neutral"> </span>
|
|
821
|
-
<span class="cline-any cline-yes">
|
|
822
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
823
|
-
const csvParser = require("../../../utilities/csvParser")
|
|
893
|
+
<span class="cline-any cline-yes">39x</span>
|
|
894
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const csvParser = require("../../../utilities/csvParser")
|
|
824
895
|
const {
|
|
825
896
|
getRowParams,
|
|
826
897
|
generateRowID,
|
|
827
898
|
InternalTables,
|
|
899
|
+
getTableParams,
|
|
900
|
+
BudibaseInternalDB,
|
|
828
901
|
} = require("../../../db/utils")
|
|
829
|
-
const { isEqual } = require("lodash
|
|
902
|
+
const { isEqual } = require("lodash")
|
|
830
903
|
const { AutoFieldSubTypes, FieldTypes } = require("../../../constants")
|
|
831
|
-
const {
|
|
904
|
+
const {
|
|
905
|
+
inputProcessing,
|
|
906
|
+
cleanupAttachments,
|
|
907
|
+
} = require("../../../utilities/rowProcessor")
|
|
832
908
|
const {
|
|
833
909
|
USERS_TABLE_SCHEMA,
|
|
834
910
|
SwitchableTypes,
|
|
@@ -837,11 +913,31 @@ const {
|
|
|
837
913
|
const {
|
|
838
914
|
isExternalTable,
|
|
839
915
|
breakExternalTableId,
|
|
916
|
+
isSQL,
|
|
840
917
|
} = require("../../../integrations/utils")
|
|
841
918
|
const { getViews, saveView } = require("../view/utils")
|
|
842
919
|
const viewTemplate = require("../view/viewBuilder")
|
|
920
|
+
const usageQuota = require("../../../utilities/usageQuota")
|
|
921
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
922
|
+
const { cloneDeep } = require("lodash/fp")
|
|
843
923
|
|
|
844
|
-
exports.
|
|
924
|
+
exports.clearColumns = <span class="fstat-no" title="function not covered" >as</span>ync (table, columnNames) => {
|
|
925
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
926
|
+
const rows = <span class="cstat-no" title="statement not covered" >await db.allDocs(</span>
|
|
927
|
+
getRowParams(table._id, null, {
|
|
928
|
+
include_docs: true,
|
|
929
|
+
})
|
|
930
|
+
)
|
|
931
|
+
<span class="cstat-no" title="statement not covered" > return db.bulkDocs(</span>
|
|
932
|
+
rows.rows.map(<span class="fstat-no" title="function not covered" >({</span> doc }) => {
|
|
933
|
+
<span class="cstat-no" title="statement not covered" > columnNames.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete doc[colName])</span></span>
|
|
934
|
+
<span class="cstat-no" title="statement not covered" > return doc</span>
|
|
935
|
+
})
|
|
936
|
+
)
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
exports.checkForColumnUpdates = async (oldTable, updatedTable) => {
|
|
940
|
+
const db = getAppDB()
|
|
845
941
|
let updatedRows = []
|
|
846
942
|
const rename = updatedTable._rename
|
|
847
943
|
let deletedColumns = []
|
|
@@ -858,18 +954,22 @@ exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => {
|
|
|
858
954
|
include_docs: true,
|
|
859
955
|
})
|
|
860
956
|
)
|
|
861
|
-
|
|
957
|
+
const rawRows = rows.rows.map(({ doc }) => doc)
|
|
958
|
+
updatedRows = rawRows.map(row => {
|
|
959
|
+
row = cloneDeep(row)
|
|
862
960
|
if (rename) {
|
|
863
|
-
|
|
864
|
-
delete
|
|
961
|
+
row[rename.updated] = row[rename.old]
|
|
962
|
+
delete row[rename.old]
|
|
865
963
|
} else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="else path not taken" >E</span>if (deletedColumns.length !== 0) {</span>
|
|
866
|
-
<span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete
|
|
964
|
+
<span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete row[colName])</span></span>
|
|
867
965
|
}
|
|
868
|
-
return
|
|
966
|
+
return row
|
|
869
967
|
})
|
|
870
968
|
|
|
969
|
+
// cleanup any attachments from object storage for deleted attachment columns
|
|
970
|
+
await cleanupAttachments(updatedTable, { oldTable, rows: rawRows })
|
|
871
971
|
// Update views
|
|
872
|
-
await exports.checkForViewUpdates(
|
|
972
|
+
await exports.checkForViewUpdates(updatedTable, rename, deletedColumns)
|
|
873
973
|
delete updatedTable._rename
|
|
874
974
|
}
|
|
875
975
|
return { rows: updatedRows, table: updatedTable }
|
|
@@ -896,12 +996,12 @@ exports.makeSureTableUpToDate = (table, tableToSave) => {
|
|
|
896
996
|
return tableToSave
|
|
897
997
|
}
|
|
898
998
|
|
|
899
|
-
exports.handleDataImport = async (
|
|
999
|
+
exports.handleDataImport = async (user, table, dataImport) => {
|
|
900
1000
|
if (!dataImport || !dataImport.csvString) {
|
|
901
1001
|
return table
|
|
902
1002
|
}
|
|
903
1003
|
|
|
904
|
-
const db =
|
|
1004
|
+
const db = getAppDB()
|
|
905
1005
|
// Populate the table with rows imported from CSV in a bulk update
|
|
906
1006
|
const data = await csvParser.transform({
|
|
907
1007
|
...dataImport,
|
|
@@ -936,14 +1036,18 @@ exports.handleDataImport = async (appId, user, table, dataImport) => {
|
|
|
936
1036
|
finalData.push(row)
|
|
937
1037
|
}
|
|
938
1038
|
|
|
1039
|
+
await usageQuota.update(usageQuota.Properties.ROW, finalData.length, {
|
|
1040
|
+
dryRun: true,
|
|
1041
|
+
})
|
|
939
1042
|
await db.bulkDocs(finalData)
|
|
1043
|
+
await usageQuota.update(usageQuota.Properties.ROW, finalData.length)
|
|
940
1044
|
let response = await db.put(table)
|
|
941
1045
|
table._rev = response._rev
|
|
942
1046
|
return table
|
|
943
1047
|
}
|
|
944
1048
|
|
|
945
|
-
exports.handleSearchIndexes = async
|
|
946
|
-
const db =
|
|
1049
|
+
exports.handleSearchIndexes = async table => {
|
|
1050
|
+
const db = getAppDB()
|
|
947
1051
|
// create relevant search indexes
|
|
948
1052
|
if (table.indexes && table.indexes.length > 0) {
|
|
949
1053
|
const currentIndexes = await db.getIndexes()
|
|
@@ -1000,12 +1104,9 @@ exports.checkStaticTables = table => {
|
|
|
1000
1104
|
}
|
|
1001
1105
|
|
|
1002
1106
|
class TableSaveFunctions {
|
|
1003
|
-
constructor({
|
|
1004
|
-
this.db =
|
|
1005
|
-
this.
|
|
1006
|
-
if (this.ctx && this.ctx.user) {
|
|
1007
|
-
this.appId = this.ctx.appId
|
|
1008
|
-
}
|
|
1107
|
+
constructor({ user, oldTable, dataImport }) {
|
|
1108
|
+
this.db = getAppDB()
|
|
1109
|
+
this.user = user
|
|
1009
1110
|
this.oldTable = oldTable
|
|
1010
1111
|
this.dataImport = dataImport
|
|
1011
1112
|
// any rows that need updated
|
|
@@ -1023,24 +1124,15 @@ class TableSaveFunctions {
|
|
|
1023
1124
|
|
|
1024
1125
|
// when confirmed valid
|
|
1025
1126
|
async mid(table) {
|
|
1026
|
-
let response = await exports.checkForColumnUpdates(
|
|
1027
|
-
this.db,
|
|
1028
|
-
this.oldTable,
|
|
1029
|
-
table
|
|
1030
|
-
)
|
|
1127
|
+
let response = await exports.checkForColumnUpdates(this.oldTable, table)
|
|
1031
1128
|
this.rows = this.rows.concat(response.rows)
|
|
1032
1129
|
return table
|
|
1033
1130
|
}
|
|
1034
1131
|
|
|
1035
1132
|
// after saving
|
|
1036
1133
|
async after(table) {
|
|
1037
|
-
table = await exports.handleSearchIndexes(
|
|
1038
|
-
table = await exports.handleDataImport(
|
|
1039
|
-
this.appId,
|
|
1040
|
-
this.ctx.user,
|
|
1041
|
-
table,
|
|
1042
|
-
this.dataImport
|
|
1043
|
-
)
|
|
1134
|
+
table = await exports.handleSearchIndexes(table)
|
|
1135
|
+
table = await exports.handleDataImport(this.user, table, this.dataImport)
|
|
1044
1136
|
return table
|
|
1045
1137
|
}
|
|
1046
1138
|
|
|
@@ -1049,8 +1141,22 @@ class TableSaveFunctions {
|
|
|
1049
1141
|
}
|
|
1050
1142
|
}
|
|
1051
1143
|
|
|
1052
|
-
exports.
|
|
1053
|
-
const db =
|
|
1144
|
+
exports.getAllInternalTables = async () => {
|
|
1145
|
+
const db = getAppDB()
|
|
1146
|
+
const internalTables = await db.allDocs(
|
|
1147
|
+
getTableParams(null, {
|
|
1148
|
+
include_docs: true,
|
|
1149
|
+
})
|
|
1150
|
+
)
|
|
1151
|
+
return internalTables.rows.map(tableDoc => ({
|
|
1152
|
+
...tableDoc.doc,
|
|
1153
|
+
type: "internal",
|
|
1154
|
+
sourceId: BudibaseInternalDB._id,
|
|
1155
|
+
}))
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
exports.getAllExternalTables = <span class="fstat-no" title="function not covered" >as</span>ync datasourceId => {
|
|
1159
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
1054
1160
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
1055
1161
|
<span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
|
|
1056
1162
|
<span class="cstat-no" title="statement not covered" > throw "Datasource is not configured fully."</span>
|
|
@@ -1058,23 +1164,25 @@ exports.getAllExternalTables = <span class="fstat-no" title="function not covere
|
|
|
1058
1164
|
<span class="cstat-no" title="statement not covered" > return datasource.entities</span>
|
|
1059
1165
|
}
|
|
1060
1166
|
|
|
1061
|
-
exports.getExternalTable = <span class="fstat-no" title="function not covered" >as</span>ync (
|
|
1062
|
-
const entities = <span class="cstat-no" title="statement not covered" >await exports.getAllExternalTables(
|
|
1167
|
+
exports.getExternalTable = <span class="fstat-no" title="function not covered" >as</span>ync (datasourceId, tableName) => {
|
|
1168
|
+
const entities = <span class="cstat-no" title="statement not covered" >await exports.getAllExternalTables(datasourceId)</span>
|
|
1063
1169
|
<span class="cstat-no" title="statement not covered" > return entities[tableName]</span>
|
|
1064
1170
|
}
|
|
1065
1171
|
|
|
1066
|
-
exports.getTable = async
|
|
1067
|
-
const db =
|
|
1172
|
+
exports.getTable = async tableId => {
|
|
1173
|
+
const db = getAppDB()
|
|
1068
1174
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (isExternalTable(tableId)) {
|
|
1069
1175
|
let { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
1070
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1176
|
+
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
1177
|
+
const table = <span class="cstat-no" title="statement not covered" >await exports.getExternalTable(datasourceId, tableName)</span>
|
|
1178
|
+
<span class="cstat-no" title="statement not covered" > return { ...table, sql: isSQL(datasource) }</span>
|
|
1071
1179
|
} else {
|
|
1072
1180
|
return db.get(tableId)
|
|
1073
1181
|
}
|
|
1074
1182
|
}
|
|
1075
1183
|
|
|
1076
|
-
exports.checkForViewUpdates = async (
|
|
1077
|
-
const views = await getViews(
|
|
1184
|
+
exports.checkForViewUpdates = async (table, rename, deletedColumns) => {
|
|
1185
|
+
const views = await getViews()
|
|
1078
1186
|
const tableViews = views.filter(<span class="fstat-no" title="function not covered" >vi</span>ew => <span class="cstat-no" title="statement not covered" >view.meta.tableId === table._id)</span>
|
|
1079
1187
|
|
|
1080
1188
|
// Check each table view to see if impacted by this table action
|
|
@@ -1136,7 +1244,7 @@ exports.checkForViewUpdates = async (db, table, rename, deletedColumns) => {
|
|
|
1136
1244
|
// Update view if required
|
|
1137
1245
|
<span class="cstat-no" title="statement not covered" > if (needsUpdated) {</span>
|
|
1138
1246
|
const newViewTemplate = <span class="cstat-no" title="statement not covered" >viewTemplate(view.meta)</span>
|
|
1139
|
-
<span class="cstat-no" title="statement not covered" > await saveView(
|
|
1247
|
+
<span class="cstat-no" title="statement not covered" > await saveView(null, view.name, newViewTemplate)</span>
|
|
1140
1248
|
<span class="cstat-no" title="statement not covered" > if (!newViewTemplate.meta.schema) {</span>
|
|
1141
1249
|
<span class="cstat-no" title="statement not covered" > newViewTemplate.meta.schema = table.schema</span>
|
|
1142
1250
|
}
|
|
@@ -1207,7 +1315,7 @@ exports.TableSaveFunctions = TableSaveFunctions
|
|
|
1207
1315
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1208
1316
|
Code coverage generated by
|
|
1209
1317
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1210
|
-
at
|
|
1318
|
+
at Tue Feb 08 2022 15:32:15 GMT+0000 (Coordinated Universal Time)
|
|
1211
1319
|
</div>
|
|
1212
1320
|
</div>
|
|
1213
1321
|
<script src="../../../prettify.js"></script>
|
|
@@ -181,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
|
|
|
181
181
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
182
182
|
Code coverage generated by
|
|
183
183
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
184
|
-
at
|
|
184
|
+
at Tue Feb 08 2022 15:32:15 GMT+0000 (Coordinated Universal Time)
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
187
187
|
<script src="../../prettify.js"></script>
|