@budibase/server 1.0.48 → 1.0.49-alpha.11
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.83c0944f.css +1 -0
- package/builder/assets/{index.e083dcaf.js → index.ae50a4cf.js} +249 -246
- package/builder/assets/{vendor.f9faf6ab.js → vendor.d526bfe8.js} +12 -12
- package/builder/index.html +3 -3
- package/coverage/clover.xml +3062 -2777
- 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 +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 +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 +47 -50
- 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 +36 -42
- 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 +4982 -4409
- 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 +61 -12
- 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 +18 -20
- package/dist/api/controllers/view/index.js +8 -10
- package/dist/api/controllers/view/utils.js +9 -4
- package/dist/api/controllers/webhook.js +10 -8
- package/dist/api/routes/index.js +2 -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 +56 -14
- 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 +17 -19
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +4 -3
- package/dist/utilities/global.js +15 -12
- package/dist/utilities/index.js +7 -17
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +23 -17
- package/dist/utilities/rowProcessor/utils.js +14 -4
- package/dist/utilities/{usageQuota.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/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 +65 -12
- 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 +19 -20
- package/src/api/controllers/view/index.js +8 -10
- package/src/api/controllers/view/utils.js +9 -4
- package/src/api/controllers/webhook.js +10 -8
- package/src/api/routes/index.js +2 -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 +69 -21
- 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 +19 -21
- package/src/utilities/fileSystem/index.js +4 -3
- package/src/utilities/global.js +15 -12
- package/src/utilities/index.js +7 -17
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +25 -27
- package/src/utilities/rowProcessor/utils.js +23 -7
- package/src/utilities/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 +2 -1
- 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,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">31.66% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>38/120</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">31.93% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>38/119</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -289,27 +289,27 @@
|
|
|
289
289
|
<a name='L230'></a><a href='#L230'>230</a>
|
|
290
290
|
<a name='L231'></a><a href='#L231'>231</a>
|
|
291
291
|
<a name='L232'></a><a href='#L232'>232</a>
|
|
292
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
293
|
-
<a name='L234'></a><a href='#L234'>234</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
292
|
+
<a name='L233'></a><a href='#L233'>233</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
294
293
|
<span class="cline-any cline-neutral"> </span>
|
|
295
294
|
<span class="cline-any cline-neutral"> </span>
|
|
296
295
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
+
<span class="cline-any cline-yes">39x</span>
|
|
297
|
+
<span class="cline-any cline-yes">39x</span>
|
|
298
|
+
<span class="cline-any cline-yes">39x</span>
|
|
299
|
+
<span class="cline-any cline-yes">39x</span>
|
|
300
|
+
<span class="cline-any cline-yes">39x</span>
|
|
301
|
+
<span class="cline-any cline-yes">39x</span>
|
|
297
302
|
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-yes">34x</span>
|
|
299
|
-
<span class="cline-any cline-yes">34x</span>
|
|
300
|
-
<span class="cline-any cline-yes">34x</span>
|
|
301
|
-
<span class="cline-any cline-yes">34x</span>
|
|
302
|
-
<span class="cline-any cline-yes">34x</span>
|
|
303
|
-
<span class="cline-any cline-yes">34x</span>
|
|
304
303
|
<span class="cline-any cline-neutral"> </span>
|
|
305
304
|
<span class="cline-any cline-neutral"> </span>
|
|
306
305
|
<span class="cline-any cline-neutral"> </span>
|
|
307
|
-
<span class="cline-any cline-yes">
|
|
308
|
-
<span class="cline-any cline-yes">
|
|
309
|
-
<span class="cline-any cline-yes">
|
|
306
|
+
<span class="cline-any cline-yes">39x</span>
|
|
307
|
+
<span class="cline-any cline-yes">39x</span>
|
|
308
|
+
<span class="cline-any cline-yes">39x</span>
|
|
310
309
|
<span class="cline-any cline-neutral"> </span>
|
|
311
310
|
<span class="cline-any cline-neutral"> </span>
|
|
312
311
|
<span class="cline-any cline-yes">2x</span>
|
|
312
|
+
<span class="cline-any cline-yes">2x</span>
|
|
313
313
|
<span class="cline-any cline-neutral"> </span>
|
|
314
314
|
<span class="cline-any cline-neutral"> </span>
|
|
315
315
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -346,13 +346,10 @@
|
|
|
346
346
|
<span class="cline-any cline-no"> </span>
|
|
347
347
|
<span class="cline-any cline-neutral"> </span>
|
|
348
348
|
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-yes">
|
|
349
|
+
<span class="cline-any cline-yes">39x</span>
|
|
350
350
|
<span class="cline-any cline-neutral"> </span>
|
|
351
351
|
<span class="cline-any cline-no"> </span>
|
|
352
352
|
<span class="cline-any cline-no"> </span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
353
|
<span class="cline-any cline-no"> </span>
|
|
357
354
|
<span class="cline-any cline-no"> </span>
|
|
358
355
|
<span class="cline-any cline-no"> </span>
|
|
@@ -363,7 +360,7 @@
|
|
|
363
360
|
<span class="cline-any cline-no"> </span>
|
|
364
361
|
<span class="cline-any cline-neutral"> </span>
|
|
365
362
|
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-yes">
|
|
363
|
+
<span class="cline-any cline-yes">39x</span>
|
|
367
364
|
<span class="cline-any cline-no"> </span>
|
|
368
365
|
<span class="cline-any cline-neutral"> </span>
|
|
369
366
|
<span class="cline-any cline-no"> </span>
|
|
@@ -434,7 +431,7 @@
|
|
|
434
431
|
<span class="cline-any cline-neutral"> </span>
|
|
435
432
|
<span class="cline-any cline-neutral"> </span>
|
|
436
433
|
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-yes">
|
|
434
|
+
<span class="cline-any cline-yes">39x</span>
|
|
438
435
|
<span class="cline-any cline-yes">2x</span>
|
|
439
436
|
<span class="cline-any cline-yes">2x</span>
|
|
440
437
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -454,7 +451,9 @@
|
|
|
454
451
|
<span class="cline-any cline-yes">2x</span>
|
|
455
452
|
<span class="cline-any cline-neutral"> </span>
|
|
456
453
|
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-yes">
|
|
454
|
+
<span class="cline-any cline-yes">39x</span>
|
|
455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
456
|
+
<span class="cline-any cline-no"> </span>
|
|
458
457
|
<span class="cline-any cline-neutral"> </span>
|
|
459
458
|
<span class="cline-any cline-no"> </span>
|
|
460
459
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -462,8 +461,7 @@
|
|
|
462
461
|
<span class="cline-any cline-no"> </span>
|
|
463
462
|
<span class="cline-any cline-neutral"> </span>
|
|
464
463
|
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-yes">
|
|
466
|
-
<span class="cline-any cline-yes">1x</span>
|
|
464
|
+
<span class="cline-any cline-yes">39x</span>
|
|
467
465
|
<span class="cline-any cline-yes">1x</span>
|
|
468
466
|
<span class="cline-any cline-yes">1x</span>
|
|
469
467
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -475,7 +473,7 @@
|
|
|
475
473
|
<span class="cline-any cline-yes">1x</span>
|
|
476
474
|
<span class="cline-any cline-neutral"> </span>
|
|
477
475
|
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-yes">
|
|
476
|
+
<span class="cline-any cline-yes">39x</span>
|
|
479
477
|
<span class="cline-any cline-yes">1x</span>
|
|
480
478
|
<span class="cline-any cline-yes">1x</span>
|
|
481
479
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -488,11 +486,11 @@
|
|
|
488
486
|
<span class="cline-any cline-neutral"> </span>
|
|
489
487
|
<span class="cline-any cline-neutral"> </span>
|
|
490
488
|
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-yes">
|
|
489
|
+
<span class="cline-any cline-yes">39x</span>
|
|
492
490
|
<span class="cline-any cline-yes">1x</span>
|
|
493
491
|
<span class="cline-any cline-neutral"> </span>
|
|
494
492
|
<span class="cline-any cline-neutral"> </span>
|
|
495
|
-
<span class="cline-any cline-yes">
|
|
493
|
+
<span class="cline-any cline-yes">39x</span>
|
|
496
494
|
<span class="cline-any cline-no"> </span>
|
|
497
495
|
<span class="cline-any cline-no"> </span>
|
|
498
496
|
<span class="cline-any cline-no"> </span>
|
|
@@ -511,7 +509,7 @@
|
|
|
511
509
|
<span class="cline-any cline-no"> </span>
|
|
512
510
|
<span class="cline-any cline-neutral"> </span>
|
|
513
511
|
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">
|
|
512
|
+
<span class="cline-any cline-yes">39x</span>
|
|
515
513
|
<span class="cline-any cline-no"> </span>
|
|
516
514
|
<span class="cline-any cline-no"> </span>
|
|
517
515
|
<span class="cline-any cline-no"> </span>
|
|
@@ -523,8 +521,7 @@
|
|
|
523
521
|
<span class="cline-any cline-neutral"> </span>
|
|
524
522
|
<span class="cline-any cline-no"> </span>
|
|
525
523
|
<span class="cline-any cline-neutral"> </span>
|
|
526
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
527
|
-
const {
|
|
524
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
528
525
|
generateUserMetadataID,
|
|
529
526
|
getUserMetadataParams,
|
|
530
527
|
generateUserFlagID,
|
|
@@ -536,12 +533,14 @@ const { isEqual } = require("lodash")
|
|
|
536
533
|
const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
|
|
537
534
|
const {
|
|
538
535
|
getDevelopmentAppID,
|
|
539
|
-
|
|
536
|
+
getProdAppIDs,
|
|
537
|
+
dbExists,
|
|
540
538
|
} = require("@budibase/backend-core/db")
|
|
541
|
-
const { doesDatabaseExist } = require("../../utilities")
|
|
542
539
|
const { UserStatus } = require("@budibase/backend-core/constants")
|
|
540
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
543
541
|
|
|
544
|
-
async function rawMetadata(
|
|
542
|
+
async function rawMetadata() {
|
|
543
|
+
const db = getAppDB()
|
|
545
544
|
return (
|
|
546
545
|
await db.allDocs(
|
|
547
546
|
getUserMetadataParams(null, {
|
|
@@ -579,13 +578,10 @@ function <span class="fstat-no" title="function not covered" >combineMetadataAnd
|
|
|
579
578
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
580
579
|
}
|
|
581
580
|
|
|
582
|
-
exports.syncGlobalUsers = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
581
|
+
exports.syncGlobalUsers = <span class="fstat-no" title="function not covered" >as</span>ync () => {
|
|
583
582
|
// sync user metadata
|
|
584
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
585
|
-
const [users, metadata] = <span class="cstat-no" title="statement not covered" >await Promise.all([</span>
|
|
586
|
-
getGlobalUsers(appId),
|
|
587
|
-
rawMetadata(db),
|
|
588
|
-
])
|
|
583
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
584
|
+
const [users, metadata] = <span class="cstat-no" title="statement not covered" >await Promise.all([getGlobalUsers(), rawMetadata()])</span>
|
|
589
585
|
const toWrite = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
590
586
|
<span class="cstat-no" title="statement not covered" > for (let user of users) {</span>
|
|
591
587
|
const combined = <span class="cstat-no" title="statement not covered" >await combineMetadataAndUser(user, metadata)</span>
|
|
@@ -619,7 +615,7 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
|
|
|
619
615
|
let prodAppIds
|
|
620
616
|
// if they are a builder then get all production app IDs
|
|
621
617
|
<span class="cstat-no" title="statement not covered" > if ((user.builder && user.builder.global) || deleting) {</span>
|
|
622
|
-
<span class="cstat-no" title="statement not covered" > prodAppIds = await
|
|
618
|
+
<span class="cstat-no" title="statement not covered" > prodAppIds = await getProdAppIDs()</span>
|
|
623
619
|
} else {
|
|
624
620
|
<span class="cstat-no" title="statement not covered" > prodAppIds = Object.entries(roles)</span>
|
|
625
621
|
.filter(<span class="fstat-no" title="function not covered" >en</span>try => <span class="cstat-no" title="statement not covered" >entry[1] !== BUILTIN_ROLE_IDS.PUBLIC)</span>
|
|
@@ -629,10 +625,10 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
|
|
|
629
625
|
const roleId = <span class="cstat-no" title="statement not covered" >roles[prodAppId]</span>
|
|
630
626
|
const devAppId = <span class="cstat-no" title="statement not covered" >getDevelopmentAppID(prodAppId)</span>
|
|
631
627
|
<span class="cstat-no" title="statement not covered" > for (let appId of [prodAppId, devAppId]) {</span>
|
|
632
|
-
<span class="cstat-no" title="statement not covered" > if (!(await
|
|
628
|
+
<span class="cstat-no" title="statement not covered" > if (!(await dbExists(appId))) {</span>
|
|
633
629
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
634
630
|
}
|
|
635
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
631
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
636
632
|
const metadataId = <span class="cstat-no" title="statement not covered" >generateUserMetadataID(userId)</span>
|
|
637
633
|
let metadata
|
|
638
634
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
@@ -668,8 +664,8 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
|
|
|
668
664
|
}
|
|
669
665
|
|
|
670
666
|
exports.fetchMetadata = async function (ctx) {
|
|
671
|
-
const database =
|
|
672
|
-
const global = await getGlobalUsers(
|
|
667
|
+
const database = getAppDB()
|
|
668
|
+
const global = await getGlobalUsers()
|
|
673
669
|
const metadata = await rawMetadata(database)
|
|
674
670
|
const users = []
|
|
675
671
|
for (let user of global) {
|
|
@@ -692,12 +688,13 @@ exports.updateSelfMetadata = <span class="fstat-no" title="function not covered"
|
|
|
692
688
|
<span class="cstat-no" title="statement not covered" > ctx.request.body._id = ctx.user._id</span>
|
|
693
689
|
// make sure no stale rev
|
|
694
690
|
<span class="cstat-no" title="statement not covered" > delete ctx.request.body._rev</span>
|
|
691
|
+
// make sure no csrf token
|
|
692
|
+
<span class="cstat-no" title="statement not covered" > delete ctx.request.body.csrfToken</span>
|
|
695
693
|
<span class="cstat-no" title="statement not covered" > await exports.updateMetadata(ctx)</span>
|
|
696
694
|
}
|
|
697
695
|
|
|
698
696
|
exports.updateMetadata = async function (ctx) {
|
|
699
|
-
const
|
|
700
|
-
const db = new CouchDB(appId)
|
|
697
|
+
const db = getAppDB()
|
|
701
698
|
const user = ctx.request.body
|
|
702
699
|
// this isn't applicable to the user
|
|
703
700
|
delete user.roles
|
|
@@ -709,7 +706,7 @@ exports.updateMetadata = async function (ctx) {
|
|
|
709
706
|
}
|
|
710
707
|
|
|
711
708
|
exports.destroyMetadata = async function (ctx) {
|
|
712
|
-
const db =
|
|
709
|
+
const db = getAppDB()
|
|
713
710
|
try {
|
|
714
711
|
const dbUser = await db.get(ctx.params.id)
|
|
715
712
|
<span class="cstat-no" title="statement not covered" > await db.remove(dbUser._id, dbUser._rev)</span>
|
|
@@ -732,7 +729,7 @@ exports.setFlag = <span class="fstat-no" title="function not covered" >as</span>
|
|
|
732
729
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Must supply a 'flag' field in request body.")</span>
|
|
733
730
|
}
|
|
734
731
|
const flagDocId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
|
|
735
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
732
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
736
733
|
let doc
|
|
737
734
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
738
735
|
<span class="cstat-no" title="statement not covered" > doc = await db.get(flagDocId)</span>
|
|
@@ -747,7 +744,7 @@ exports.setFlag = <span class="fstat-no" title="function not covered" >as</span>
|
|
|
747
744
|
exports.getFlags = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
748
745
|
const userId = <span class="cstat-no" title="statement not covered" >ctx.user._id</span>
|
|
749
746
|
const docId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
|
|
750
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
747
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
751
748
|
let doc
|
|
752
749
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
753
750
|
<span class="cstat-no" title="statement not covered" > doc = await db.get(docId)</span>
|
|
@@ -763,7 +760,7 @@ exports.getFlags = <span class="fstat-no" title="function not covered" >as</span
|
|
|
763
760
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
764
761
|
Code coverage generated by
|
|
765
762
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
766
|
-
at
|
|
763
|
+
at Fri Feb 04 2022 11:10:24 GMT+0000 (Coordinated Universal Time)
|
|
767
764
|
</div>
|
|
768
765
|
</div>
|
|
769
766
|
<script src="../../prettify.js"></script>
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
<a name='L21'></a><a href='#L21'>21</a>
|
|
81
81
|
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
82
|
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
|
-
<a name='L24'></a><a href='#L24'>24</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
83
|
+
<a name='L24'></a><a href='#L24'>24</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
|
|
84
84
|
<span class="cline-any cline-yes">2x</span>
|
|
85
85
|
<span class="cline-any cline-neutral"> </span>
|
|
86
86
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -95,11 +95,11 @@
|
|
|
95
95
|
<span class="cline-any cline-yes">1x</span>
|
|
96
96
|
<span class="cline-any cline-neutral"> </span>
|
|
97
97
|
<span class="cline-any cline-neutral"> </span>
|
|
98
|
-
<span class="cline-any cline-yes">
|
|
98
|
+
<span class="cline-any cline-yes">38x</span>
|
|
99
99
|
<span class="cline-any cline-yes">1x</span>
|
|
100
100
|
<span class="cline-any cline-neutral"> </span>
|
|
101
101
|
<span class="cline-any cline-neutral"> </span>
|
|
102
|
-
<span class="cline-any cline-yes">
|
|
102
|
+
<span class="cline-any cline-yes">38x</span>
|
|
103
103
|
<span class="cline-any cline-neutral"> </span>
|
|
104
104
|
<span class="cline-any cline-neutral"> </span>
|
|
105
105
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -133,7 +133,7 @@ exports.ExportFormats = {
|
|
|
133
133
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
134
134
|
Code coverage generated by
|
|
135
135
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
136
|
-
at
|
|
136
|
+
at Fri Feb 04 2022 11:10:24 GMT+0000 (Coordinated Universal Time)
|
|
137
137
|
</div>
|
|
138
138
|
</div>
|
|
139
139
|
<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">73.
|
|
26
|
+
<span class="strong">73.84% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>144/195</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">74.09% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>143/193</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -89,32 +89,32 @@
|
|
|
89
89
|
|
|
90
90
|
<tr>
|
|
91
91
|
<td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
|
|
92
|
-
<td data-value="88.
|
|
92
|
+
<td data-value="88.4" class="pic high">
|
|
93
93
|
<div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
|
|
94
94
|
</td>
|
|
95
|
-
<td data-value="88.
|
|
96
|
-
<td data-value="
|
|
95
|
+
<td data-value="88.4" class="pct high">88.4%</td>
|
|
96
|
+
<td data-value="69" class="abs high">61/69</td>
|
|
97
97
|
<td data-value="72" class="pct medium">72%</td>
|
|
98
98
|
<td data-value="25" class="abs medium">18/25</td>
|
|
99
99
|
<td data-value="62.5" class="pct medium">62.5%</td>
|
|
100
100
|
<td data-value="8" class="abs medium">5/8</td>
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="
|
|
101
|
+
<td data-value="89.7" class="pct high">89.7%</td>
|
|
102
|
+
<td data-value="68" class="abs high">61/68</td>
|
|
103
103
|
</tr>
|
|
104
104
|
|
|
105
105
|
<tr>
|
|
106
106
|
<td class="file medium" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
|
|
107
|
-
<td data-value="
|
|
108
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
107
|
+
<td data-value="53.08" class="pic medium">
|
|
108
|
+
<div class="chart"><div class="cover-fill" style="width: 53%"></div><div class="cover-empty" style="width: 47%"></div></div>
|
|
109
109
|
</td>
|
|
110
|
-
<td data-value="
|
|
111
|
-
<td data-value="
|
|
110
|
+
<td data-value="53.08" class="pct medium">53.08%</td>
|
|
111
|
+
<td data-value="81" class="abs medium">43/81</td>
|
|
112
112
|
<td data-value="34.61" class="pct low">34.61%</td>
|
|
113
113
|
<td data-value="26" class="abs low">9/26</td>
|
|
114
114
|
<td data-value="66.66" class="pct medium">66.66%</td>
|
|
115
115
|
<td data-value="9" class="abs medium">6/9</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
116
|
+
<td data-value="53.08" class="pct medium">53.08%</td>
|
|
117
|
+
<td data-value="81" class="abs medium">43/81</td>
|
|
118
118
|
</tr>
|
|
119
119
|
|
|
120
120
|
<tr>
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
141
141
|
Code coverage generated by
|
|
142
142
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
143
|
-
at
|
|
143
|
+
at Fri Feb 04 2022 11:10:24 GMT+0000 (Coordinated Universal Time)
|
|
144
144
|
</div>
|
|
145
145
|
</div>
|
|
146
146
|
<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">88.
|
|
26
|
+
<span class="strong">88.4% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>61/69</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">89.7% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>61/68</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -176,23 +176,20 @@
|
|
|
176
176
|
<a name='L117'></a><a href='#L117'>117</a>
|
|
177
177
|
<a name='L118'></a><a href='#L118'>118</a>
|
|
178
178
|
<a name='L119'></a><a href='#L119'>119</a>
|
|
179
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
180
|
-
<
|
|
181
|
-
<
|
|
182
|
-
<span class="cline-any cline-yes">
|
|
183
|
-
<span class="cline-any cline-yes">
|
|
184
|
-
<span class="cline-any cline-yes">
|
|
185
|
-
<span class="cline-any cline-yes">
|
|
186
|
-
<span class="cline-any cline-yes">
|
|
187
|
-
<span class="cline-any cline-
|
|
188
|
-
<span class="cline-any cline-yes">
|
|
189
|
-
<span class="cline-any cline-neutral"> </span>
|
|
190
|
-
<span class="cline-any cline-yes">33x</span>
|
|
191
|
-
<span class="cline-any cline-yes">1x</span>
|
|
179
|
+
<a name='L120'></a><a href='#L120'>120</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
|
|
180
|
+
<span class="cline-any cline-yes">38x</span>
|
|
181
|
+
<span class="cline-any cline-yes">38x</span>
|
|
182
|
+
<span class="cline-any cline-yes">38x</span>
|
|
183
|
+
<span class="cline-any cline-yes">38x</span>
|
|
184
|
+
<span class="cline-any cline-yes">38x</span>
|
|
185
|
+
<span class="cline-any cline-yes">38x</span>
|
|
186
|
+
<span class="cline-any cline-yes">38x</span>
|
|
187
|
+
<span class="cline-any cline-neutral"> </span>
|
|
188
|
+
<span class="cline-any cline-yes">38x</span>
|
|
192
189
|
<span class="cline-any cline-yes">1x</span>
|
|
193
190
|
<span class="cline-any cline-neutral"> </span>
|
|
194
191
|
<span class="cline-any cline-neutral"> </span>
|
|
195
|
-
<span class="cline-any cline-yes">
|
|
192
|
+
<span class="cline-any cline-yes">38x</span>
|
|
196
193
|
<span class="cline-any cline-yes">8x</span>
|
|
197
194
|
<span class="cline-any cline-yes">8x</span>
|
|
198
195
|
<span class="cline-any cline-yes">8x</span>
|
|
@@ -221,7 +218,7 @@
|
|
|
221
218
|
<span class="cline-any cline-neutral"> </span>
|
|
222
219
|
<span class="cline-any cline-neutral"> </span>
|
|
223
220
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-yes">
|
|
221
|
+
<span class="cline-any cline-yes">38x</span>
|
|
225
222
|
<span class="cline-any cline-yes">1x</span>
|
|
226
223
|
<span class="cline-any cline-yes">1x</span>
|
|
227
224
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -232,8 +229,7 @@
|
|
|
232
229
|
<span class="cline-any cline-yes">1x</span>
|
|
233
230
|
<span class="cline-any cline-neutral"> </span>
|
|
234
231
|
<span class="cline-any cline-neutral"> </span>
|
|
235
|
-
<span class="cline-any cline-yes">
|
|
236
|
-
<span class="cline-any cline-yes">2x</span>
|
|
232
|
+
<span class="cline-any cline-yes">38x</span>
|
|
237
233
|
<span class="cline-any cline-yes">2x</span>
|
|
238
234
|
<span class="cline-any cline-yes">2x</span>
|
|
239
235
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -299,22 +295,21 @@
|
|
|
299
295
|
<span class="cline-any cline-yes">2x</span>
|
|
300
296
|
<span class="cline-any cline-yes">2x</span>
|
|
301
297
|
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
303
|
-
const viewTemplate = require("./viewBuilder")
|
|
298
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const viewTemplate = require("./viewBuilder")
|
|
304
299
|
const { apiFileReturn } = require("../../../utilities/fileSystem")
|
|
305
300
|
const exporters = require("./exporters")
|
|
306
301
|
const { saveView, getView, getViews, deleteView } = require("./utils")
|
|
307
302
|
const { fetchView } = require("../row")
|
|
308
303
|
const { getTable } = require("../table/utils")
|
|
309
304
|
const { FieldTypes } = require("../../../constants")
|
|
305
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
310
306
|
|
|
311
307
|
exports.fetch = async ctx => {
|
|
312
|
-
|
|
313
|
-
ctx.body = await getViews(db)
|
|
308
|
+
ctx.body = await getViews()
|
|
314
309
|
}
|
|
315
310
|
|
|
316
311
|
exports.save = async ctx => {
|
|
317
|
-
const db =
|
|
312
|
+
const db = getAppDB()
|
|
318
313
|
const { originalName, ...viewToSave } = ctx.request.body
|
|
319
314
|
const view = viewTemplate(viewToSave)
|
|
320
315
|
|
|
@@ -322,7 +317,7 @@ exports.save = async ctx => {
|
|
|
322
317
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot create view without a name")</span>
|
|
323
318
|
}
|
|
324
319
|
|
|
325
|
-
await saveView(
|
|
320
|
+
await saveView(originalName, viewToSave.name, view)
|
|
326
321
|
|
|
327
322
|
// add views to table document
|
|
328
323
|
const table = await db.get(ctx.request.body.tableId)
|
|
@@ -343,9 +338,9 @@ exports.save = async ctx => {
|
|
|
343
338
|
}
|
|
344
339
|
|
|
345
340
|
exports.destroy = async ctx => {
|
|
346
|
-
const db =
|
|
341
|
+
const db = getAppDB()
|
|
347
342
|
const viewName = decodeURI(ctx.params.viewName)
|
|
348
|
-
const view = await deleteView(
|
|
343
|
+
const view = await deleteView(viewName)
|
|
349
344
|
const table = await db.get(view.meta.tableId)
|
|
350
345
|
delete table.views[viewName]
|
|
351
346
|
await db.put(table)
|
|
@@ -354,9 +349,8 @@ exports.destroy = async ctx => {
|
|
|
354
349
|
}
|
|
355
350
|
|
|
356
351
|
exports.exportView = async ctx => {
|
|
357
|
-
const db = new CouchDB(ctx.appId)
|
|
358
352
|
const viewName = decodeURI(ctx.query.view)
|
|
359
|
-
const view = await getView(
|
|
353
|
+
const view = await getView(viewName)
|
|
360
354
|
|
|
361
355
|
const format = ctx.query.format
|
|
362
356
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!format || !Object.values(exporters.ExportFormats).includes(format)) {
|
|
@@ -384,7 +378,7 @@ exports.exportView = async ctx => {
|
|
|
384
378
|
let schema = view && view.meta && view.meta.schema
|
|
385
379
|
if (!schema) {
|
|
386
380
|
const tableId = ctx.params.tableId || view.meta.tableId
|
|
387
|
-
const table = await getTable(
|
|
381
|
+
const table = await getTable(tableId)
|
|
388
382
|
schema = table.schema
|
|
389
383
|
}
|
|
390
384
|
|
|
@@ -427,7 +421,7 @@ exports.exportView = async ctx => {
|
|
|
427
421
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
428
422
|
Code coverage generated by
|
|
429
423
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
430
|
-
at
|
|
424
|
+
at Fri Feb 04 2022 11:10:24 GMT+0000 (Coordinated Universal Time)
|
|
431
425
|
</div>
|
|
432
426
|
</div>
|
|
433
427
|
<script src="../../../prettify.js"></script>
|