@budibase/server 1.0.49-alpha.6 → 1.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/arangojs.ts +1 -1
- package/__mocks__/aws-sdk.ts +4 -4
- package/__mocks__/mongodb.ts +5 -4
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +1 -2
- package/__mocks__/pg.ts +5 -3
- package/builder/assets/{index.1b905242.js → index.2c37968e.js} +231 -234
- package/builder/assets/index.39e01193.css +1 -0
- package/builder/assets/{vendor.d526bfe8.js → vendor.f9faf6ab.js} +12 -12
- package/builder/index.html +3 -3
- package/coverage/clover.xml +2816 -3119
- package/coverage/coverage-final.json +101 -106
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +152 -257
- package/coverage/lcov-report/api/controllers/auth.js.html +13 -22
- package/coverage/lcov-report/api/controllers/automation.js.html +69 -39
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +11 -8
- package/coverage/lcov-report/api/controllers/component.js.html +16 -13
- package/coverage/lcov-report/api/controllers/datasource.js.html +51 -81
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/{utilities/usageQuota/usageQuoteReset.js.html → api/controllers/hosting.js.html} +48 -36
- package/coverage/lcov-report/api/controllers/index.html +76 -76
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
- package/coverage/lcov-report/api/controllers/metadata.js.html +21 -6
- package/coverage/lcov-report/api/controllers/permission.js.html +19 -19
- package/coverage/lcov-report/api/controllers/query/index.html +10 -10
- package/coverage/lcov-report/api/controllers/query/index.js.html +35 -38
- package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
- package/coverage/lcov-report/api/controllers/role.js.html +16 -16
- package/coverage/lcov-report/api/controllers/routing.js.html +10 -7
- package/coverage/lcov-report/api/controllers/row/external.js.html +27 -21
- package/coverage/lcov-report/api/controllers/row/index.html +34 -49
- package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
- package/coverage/lcov-report/api/controllers/row/internal.js.html +226 -118
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +34 -52
- package/coverage/lcov-report/api/controllers/row/utils.js.html +62 -47
- package/coverage/lcov-report/api/controllers/screen.js.html +21 -15
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/external.js.html +34 -25
- package/coverage/lcov-report/api/controllers/table/index.html +43 -58
- package/coverage/lcov-report/api/controllers/table/index.js.html +82 -58
- package/coverage/lcov-report/api/controllers/table/internal.js.html +66 -81
- package/coverage/lcov-report/api/controllers/table/utils.js.html +110 -218
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +50 -47
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
- package/coverage/lcov-report/api/controllers/view/index.html +16 -16
- package/coverage/lcov-report/api/controllers/view/index.js.html +33 -27
- package/coverage/lcov-report/api/controllers/view/utils.js.html +20 -35
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
- package/coverage/lcov-report/api/controllers/webhook.js.html +28 -34
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +8 -8
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/{migrations.js.html → hosting.js.html} +14 -17
- package/coverage/lcov-report/api/routes/index.html +18 -18
- package/coverage/lcov-report/api/routes/index.js.html +3 -3
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +2 -17
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +24 -24
- package/coverage/lcov-report/automations/automationUtils.js.html +10 -7
- package/coverage/lcov-report/automations/bullboard.js.html +16 -16
- package/coverage/lcov-report/automations/index.html +18 -18
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
- package/coverage/lcov-report/automations/steps/createRow.js.html +22 -13
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +20 -11
- package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
- package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
- package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
- package/coverage/lcov-report/automations/steps/index.html +13 -13
- package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
- package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
- package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
- package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
- package/coverage/lcov-report/automations/steps/updateRow.js.html +7 -7
- package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
- package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
- package/coverage/lcov-report/automations/triggers.js.html +55 -61
- package/coverage/lcov-report/automations/utils.js.html +42 -54
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +26 -53
- package/coverage/lcov-report/constants/layouts.js.html +5 -5
- package/coverage/lcov-report/constants/screens.js.html +4 -4
- package/coverage/lcov-report/db/client.js.html +18 -18
- package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
- package/coverage/lcov-report/db/index.html +15 -15
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +37 -25
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +96 -51
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +42 -42
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +87 -87
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +5 -5
- package/coverage/lcov-report/events/utils.js.html +3 -3
- package/coverage/lcov-report/index.html +120 -135
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +65 -173
- package/coverage/lcov-report/middleware/builder.js.html +10 -10
- package/coverage/lcov-report/middleware/currentapp.js.html +83 -95
- package/coverage/lcov-report/middleware/index.html +38 -38
- package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +53 -281
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +24 -30
- package/coverage/lcov-report/threads/index.html +26 -26
- package/coverage/lcov-report/threads/index.js.html +10 -10
- package/coverage/lcov-report/threads/query.js.html +26 -62
- package/coverage/lcov-report/threads/utils.js.html +14 -14
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
- package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
- package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
- package/coverage/lcov-report/utilities/global.js.html +49 -58
- package/coverage/lcov-report/utilities/index.html +37 -37
- package/coverage/lcov-report/utilities/index.js.html +73 -43
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
- package/coverage/lcov-report/utilities/rowProcessor/index.html +27 -27
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +103 -97
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +27 -75
- package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
- package/coverage/lcov-report/utilities/security.js.html +8 -8
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +9 -9
- package/coverage/lcov-report/utilities/workerRequests.js.html +112 -43
- package/coverage/lcov.info +4423 -5022
- package/dist/api/controllers/application.js +60 -90
- package/dist/api/controllers/auth.js +5 -8
- package/dist/api/controllers/automation.js +19 -14
- package/dist/api/controllers/cloud.js +3 -2
- package/dist/api/controllers/component.js +4 -3
- package/dist/api/controllers/datasource.js +10 -20
- package/dist/api/controllers/deploy/Deployment.js +6 -3
- package/dist/api/controllers/deploy/index.js +13 -12
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/hosting.js +30 -0
- package/dist/api/controllers/layout.js +3 -3
- package/dist/api/controllers/metadata.js +4 -4
- package/dist/api/controllers/permission.js +4 -4
- package/dist/api/controllers/query/import/index.js +6 -4
- package/dist/api/controllers/query/index.js +10 -11
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +6 -5
- package/dist/api/controllers/row/ExternalRequest.js +63 -76
- package/dist/api/controllers/row/external.js +4 -4
- package/dist/api/controllers/row/internal.js +93 -55
- package/dist/api/controllers/row/internalSearch.js +17 -23
- package/dist/api/controllers/row/utils.js +14 -13
- package/dist/api/controllers/screen.js +7 -5
- package/dist/api/controllers/static/index.js +12 -61
- package/dist/api/controllers/table/external.js +10 -7
- package/dist/api/controllers/table/index.js +13 -16
- package/dist/api/controllers/table/internal.js +16 -22
- package/dist/api/controllers/table/utils.js +35 -62
- package/dist/api/controllers/user.js +20 -18
- package/dist/api/controllers/view/index.js +10 -8
- package/dist/api/controllers/view/utils.js +4 -9
- package/dist/api/controllers/webhook.js +8 -10
- package/dist/api/routes/hosting.js +11 -0
- package/dist/api/routes/index.js +2 -2
- package/dist/api/routes/static.js +1 -2
- package/dist/api/routes/tests/utilities/TestFunctions.js +17 -37
- package/dist/app.js +5 -35
- package/dist/automations/automationUtils.js +3 -2
- package/dist/automations/steps/createRow.js +5 -3
- package/dist/automations/steps/deleteRow.js +4 -1
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +25 -27
- package/dist/automations/utils.js +5 -10
- package/dist/constants/index.js +0 -7
- package/dist/db/linkedRows/LinkController.js +7 -3
- package/dist/db/linkedRows/index.js +27 -16
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +10 -9
- package/dist/definitions/datasource.js +0 -1
- package/dist/environment.js +1 -4
- package/dist/integrations/base/sql.js +6 -13
- package/dist/integrations/index.js +0 -3
- package/dist/integrations/utils.js +9 -60
- package/dist/middleware/authorized.js +30 -57
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +37 -41
- package/dist/middleware/usageQuota.js +15 -82
- package/dist/package.json +5 -8
- package/dist/tests/utilities/TestConfiguration.js +50 -80
- package/dist/threads/automation.js +11 -13
- package/dist/threads/query.js +13 -23
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +3 -4
- package/dist/utilities/global.js +12 -15
- package/dist/utilities/index.js +17 -7
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +17 -23
- package/dist/utilities/rowProcessor/utils.js +4 -14
- package/dist/utilities/{usageQuota/index.js → usageQuota.js} +31 -45
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +24 -4
- package/nodemon.json +1 -1
- package/package.json +6 -9
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +50 -85
- package/src/api/controllers/auth.js +5 -8
- package/src/api/controllers/automation.js +23 -13
- package/src/api/controllers/cloud.js +3 -2
- package/src/api/controllers/component.js +4 -3
- package/src/api/controllers/datasource.js +11 -21
- package/src/api/controllers/deploy/Deployment.js +7 -3
- package/src/api/controllers/deploy/index.js +13 -20
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/hosting.js +22 -0
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +9 -4
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +6 -4
- package/src/api/controllers/query/import/tests/index.spec.js +1 -2
- package/src/api/controllers/query/index.js +10 -11
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +6 -5
- package/src/api/controllers/row/ExternalRequest.ts +42 -53
- package/src/api/controllers/row/external.js +6 -4
- package/src/api/controllers/row/internal.js +90 -54
- package/src/api/controllers/row/internalSearch.js +17 -23
- package/src/api/controllers/row/utils.js +18 -13
- package/src/api/controllers/screen.js +7 -5
- package/src/api/controllers/static/index.js +12 -65
- package/src/api/controllers/table/external.js +10 -7
- package/src/api/controllers/table/index.js +28 -20
- package/src/api/controllers/table/internal.js +19 -24
- package/src/api/controllers/table/utils.js +42 -78
- package/src/api/controllers/user.js +20 -19
- package/src/api/controllers/view/index.js +10 -8
- package/src/api/controllers/view/utils.js +4 -9
- package/src/api/controllers/webhook.js +8 -10
- package/src/api/routes/hosting.js +13 -0
- package/src/api/routes/index.js +2 -2
- package/src/api/routes/static.js +0 -5
- package/src/api/routes/tests/application.spec.js +2 -2
- package/src/api/routes/tests/auth.spec.js +2 -1
- package/src/api/routes/tests/automation.spec.js +0 -1
- package/src/api/routes/tests/hosting.spec.js +36 -0
- package/src/api/routes/tests/misc.spec.js +1 -0
- package/src/api/routes/tests/routing.spec.js +12 -21
- package/src/api/routes/tests/row.spec.js +4 -7
- package/src/api/routes/tests/utilities/TestFunctions.js +17 -39
- package/src/app.ts +5 -18
- package/src/automations/automationUtils.js +3 -2
- package/src/automations/steps/createRow.js +5 -2
- package/src/automations/steps/deleteRow.js +4 -1
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +31 -33
- package/src/automations/utils.js +5 -9
- package/src/constants/index.js +0 -9
- package/src/db/linkedRows/LinkController.js +7 -3
- package/src/db/linkedRows/index.js +31 -16
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +1 -0
- package/src/db/tests/linkTests.spec.js +6 -5
- package/src/db/views/staticViews.js +10 -8
- package/src/definitions/common.ts +0 -3
- package/src/definitions/datasource.ts +0 -3
- package/src/environment.js +1 -4
- package/src/integrations/base/sql.ts +7 -14
- package/src/integrations/index.ts +0 -3
- package/src/integrations/tests/sql.spec.js +0 -16
- package/src/integrations/utils.ts +12 -75
- package/src/middleware/authorized.js +30 -66
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +46 -50
- package/src/middleware/tests/authorized.spec.js +6 -13
- package/src/middleware/tests/currentapp.spec.js +0 -6
- package/src/middleware/tests/usageQuota.spec.js +24 -18
- package/src/middleware/usageQuota.js +17 -93
- package/src/tests/utilities/TestConfiguration.js +55 -82
- package/src/threads/automation.js +15 -17
- package/src/threads/query.js +14 -26
- package/src/utilities/fileSystem/index.js +3 -4
- package/src/utilities/global.js +12 -15
- package/src/utilities/index.js +17 -7
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +27 -25
- package/src/utilities/rowProcessor/utils.js +7 -23
- package/src/utilities/usageQuota.js +73 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +27 -4
- package/builder/assets/index.83c0944f.css +0 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +0 -119
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +0 -548
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +0 -599
- package/coverage/lcov-report/utilities/usageQuota/index.html +0 -141
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +0 -305
- package/dist/api/controllers/migrations.js +0 -21
- package/dist/api/controllers/row/staticFormula.js +0 -147
- package/dist/api/controllers/table/bulkFormula.js +0 -159
- package/dist/api/routes/migrations.js +0 -9
- package/dist/integrations/googlesheets.js +0 -340
- package/dist/migrations/functions/appUrls.js +0 -46
- package/dist/migrations/functions/quotas1.js +0 -50
- package/dist/migrations/functions/usageQuotas/index.js +0 -20
- package/dist/migrations/functions/usageQuotas/syncApps.js +0 -30
- package/dist/migrations/functions/usageQuotas/syncRows.js +0 -33
- package/dist/migrations/functions/userEmailViewCasing.js +0 -24
- package/dist/migrations/index.js +0 -62
- package/dist/utilities/usageQuota/rows.js +0 -78
- package/dist/utilities/usageQuota/usageQuoteReset.js +0 -16
- package/src/api/controllers/migrations.js +0 -13
- package/src/api/controllers/row/staticFormula.js +0 -156
- package/src/api/controllers/table/bulkFormula.js +0 -173
- package/src/api/routes/migrations.js +0 -14
- package/src/api/routes/tests/static.spec.js +0 -98
- package/src/integrations/googlesheets.ts +0 -353
- package/src/migrations/functions/appUrls.ts +0 -34
- package/src/migrations/functions/quotas1.ts +0 -20
- package/src/migrations/functions/tests/appUrls.spec.js +0 -29
- package/src/migrations/functions/tests/quotas1.spec.js +0 -27
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +0 -25
- package/src/migrations/functions/usageQuotas/index.ts +0 -8
- package/src/migrations/functions/usageQuotas/syncApps.ts +0 -19
- package/src/migrations/functions/usageQuotas/syncRows.ts +0 -22
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -37
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -43
- package/src/migrations/functions/userEmailViewCasing.ts +0 -13
- package/src/migrations/index.ts +0 -56
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
- package/src/utilities/usageQuota/index.js +0 -93
- package/src/utilities/usageQuota/rows.js +0 -75
- package/src/utilities/usageQuota/usageQuoteReset.js +0 -18
|
@@ -23,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">32.5% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>39/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">32.77% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>39/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
|
|
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>
|
|
293
294
|
<span class="cline-any cline-neutral"> </span>
|
|
294
295
|
<span class="cline-any cline-neutral"> </span>
|
|
295
296
|
<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>
|
|
302
297
|
<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>
|
|
303
304
|
<span class="cline-any cline-neutral"> </span>
|
|
304
305
|
<span class="cline-any cline-neutral"> </span>
|
|
305
306
|
<span class="cline-any cline-neutral"> </span>
|
|
306
|
-
<span class="cline-any cline-yes">
|
|
307
|
-
<span class="cline-any cline-yes">
|
|
308
|
-
<span class="cline-any cline-yes">
|
|
307
|
+
<span class="cline-any cline-yes">34x</span>
|
|
308
|
+
<span class="cline-any cline-yes">34x</span>
|
|
309
|
+
<span class="cline-any cline-yes">34x</span>
|
|
309
310
|
<span class="cline-any cline-neutral"> </span>
|
|
310
311
|
<span class="cline-any cline-neutral"> </span>
|
|
311
312
|
<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,10 +346,13 @@
|
|
|
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">34x</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>
|
|
353
356
|
<span class="cline-any cline-no"> </span>
|
|
354
357
|
<span class="cline-any cline-no"> </span>
|
|
355
358
|
<span class="cline-any cline-no"> </span>
|
|
@@ -360,7 +363,7 @@
|
|
|
360
363
|
<span class="cline-any cline-no"> </span>
|
|
361
364
|
<span class="cline-any cline-neutral"> </span>
|
|
362
365
|
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
366
|
+
<span class="cline-any cline-yes">34x</span>
|
|
364
367
|
<span class="cline-any cline-no"> </span>
|
|
365
368
|
<span class="cline-any cline-neutral"> </span>
|
|
366
369
|
<span class="cline-any cline-no"> </span>
|
|
@@ -431,7 +434,7 @@
|
|
|
431
434
|
<span class="cline-any cline-neutral"> </span>
|
|
432
435
|
<span class="cline-any cline-neutral"> </span>
|
|
433
436
|
<span class="cline-any cline-neutral"> </span>
|
|
434
|
-
<span class="cline-any cline-yes">
|
|
437
|
+
<span class="cline-any cline-yes">34x</span>
|
|
435
438
|
<span class="cline-any cline-yes">2x</span>
|
|
436
439
|
<span class="cline-any cline-yes">2x</span>
|
|
437
440
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -451,9 +454,7 @@
|
|
|
451
454
|
<span class="cline-any cline-yes">2x</span>
|
|
452
455
|
<span class="cline-any cline-neutral"> </span>
|
|
453
456
|
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-yes">
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-no"> </span>
|
|
457
|
+
<span class="cline-any cline-yes">34x</span>
|
|
457
458
|
<span class="cline-any cline-neutral"> </span>
|
|
458
459
|
<span class="cline-any cline-no"> </span>
|
|
459
460
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -461,7 +462,8 @@
|
|
|
461
462
|
<span class="cline-any cline-no"> </span>
|
|
462
463
|
<span class="cline-any cline-neutral"> </span>
|
|
463
464
|
<span class="cline-any cline-neutral"> </span>
|
|
464
|
-
<span class="cline-any cline-yes">
|
|
465
|
+
<span class="cline-any cline-yes">34x</span>
|
|
466
|
+
<span class="cline-any cline-yes">1x</span>
|
|
465
467
|
<span class="cline-any cline-yes">1x</span>
|
|
466
468
|
<span class="cline-any cline-yes">1x</span>
|
|
467
469
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -473,7 +475,7 @@
|
|
|
473
475
|
<span class="cline-any cline-yes">1x</span>
|
|
474
476
|
<span class="cline-any cline-neutral"> </span>
|
|
475
477
|
<span class="cline-any cline-neutral"> </span>
|
|
476
|
-
<span class="cline-any cline-yes">
|
|
478
|
+
<span class="cline-any cline-yes">34x</span>
|
|
477
479
|
<span class="cline-any cline-yes">1x</span>
|
|
478
480
|
<span class="cline-any cline-yes">1x</span>
|
|
479
481
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -486,11 +488,11 @@
|
|
|
486
488
|
<span class="cline-any cline-neutral"> </span>
|
|
487
489
|
<span class="cline-any cline-neutral"> </span>
|
|
488
490
|
<span class="cline-any cline-neutral"> </span>
|
|
489
|
-
<span class="cline-any cline-yes">
|
|
491
|
+
<span class="cline-any cline-yes">34x</span>
|
|
490
492
|
<span class="cline-any cline-yes">1x</span>
|
|
491
493
|
<span class="cline-any cline-neutral"> </span>
|
|
492
494
|
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-yes">
|
|
495
|
+
<span class="cline-any cline-yes">34x</span>
|
|
494
496
|
<span class="cline-any cline-no"> </span>
|
|
495
497
|
<span class="cline-any cline-no"> </span>
|
|
496
498
|
<span class="cline-any cline-no"> </span>
|
|
@@ -509,7 +511,7 @@
|
|
|
509
511
|
<span class="cline-any cline-no"> </span>
|
|
510
512
|
<span class="cline-any cline-neutral"> </span>
|
|
511
513
|
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-yes">
|
|
514
|
+
<span class="cline-any cline-yes">34x</span>
|
|
513
515
|
<span class="cline-any cline-no"> </span>
|
|
514
516
|
<span class="cline-any cline-no"> </span>
|
|
515
517
|
<span class="cline-any cline-no"> </span>
|
|
@@ -521,7 +523,8 @@
|
|
|
521
523
|
<span class="cline-any cline-neutral"> </span>
|
|
522
524
|
<span class="cline-any cline-no"> </span>
|
|
523
525
|
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
526
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
|
|
527
|
+
const {
|
|
525
528
|
generateUserMetadataID,
|
|
526
529
|
getUserMetadataParams,
|
|
527
530
|
generateUserFlagID,
|
|
@@ -533,14 +536,12 @@ const { isEqual } = require("lodash")
|
|
|
533
536
|
const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
|
|
534
537
|
const {
|
|
535
538
|
getDevelopmentAppID,
|
|
536
|
-
|
|
537
|
-
dbExists,
|
|
539
|
+
getDeployedAppIDs,
|
|
538
540
|
} = require("@budibase/backend-core/db")
|
|
541
|
+
const { doesDatabaseExist } = require("../../utilities")
|
|
539
542
|
const { UserStatus } = require("@budibase/backend-core/constants")
|
|
540
|
-
const { getAppDB } = require("@budibase/backend-core/context")
|
|
541
543
|
|
|
542
|
-
async function rawMetadata() {
|
|
543
|
-
const db = getAppDB()
|
|
544
|
+
async function rawMetadata(db) {
|
|
544
545
|
return (
|
|
545
546
|
await db.allDocs(
|
|
546
547
|
getUserMetadataParams(null, {
|
|
@@ -578,10 +579,13 @@ function <span class="fstat-no" title="function not covered" >combineMetadataAnd
|
|
|
578
579
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
579
580
|
}
|
|
580
581
|
|
|
581
|
-
exports.syncGlobalUsers = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
582
|
+
exports.syncGlobalUsers = <span class="fstat-no" title="function not covered" >as</span>ync appId => {
|
|
582
583
|
// sync user metadata
|
|
583
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
584
|
-
const [users, metadata] = <span class="cstat-no" title="statement not covered" >await Promise.all([
|
|
584
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
|
|
585
|
+
const [users, metadata] = <span class="cstat-no" title="statement not covered" >await Promise.all([</span>
|
|
586
|
+
getGlobalUsers(appId),
|
|
587
|
+
rawMetadata(db),
|
|
588
|
+
])
|
|
585
589
|
const toWrite = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
586
590
|
<span class="cstat-no" title="statement not covered" > for (let user of users) {</span>
|
|
587
591
|
const combined = <span class="cstat-no" title="statement not covered" >await combineMetadataAndUser(user, metadata)</span>
|
|
@@ -615,7 +619,7 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
|
|
|
615
619
|
let prodAppIds
|
|
616
620
|
// if they are a builder then get all production app IDs
|
|
617
621
|
<span class="cstat-no" title="statement not covered" > if ((user.builder && user.builder.global) || deleting) {</span>
|
|
618
|
-
<span class="cstat-no" title="statement not covered" > prodAppIds = await
|
|
622
|
+
<span class="cstat-no" title="statement not covered" > prodAppIds = await getDeployedAppIDs(CouchDB)</span>
|
|
619
623
|
} else {
|
|
620
624
|
<span class="cstat-no" title="statement not covered" > prodAppIds = Object.entries(roles)</span>
|
|
621
625
|
.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>
|
|
@@ -625,10 +629,10 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
|
|
|
625
629
|
const roleId = <span class="cstat-no" title="statement not covered" >roles[prodAppId]</span>
|
|
626
630
|
const devAppId = <span class="cstat-no" title="statement not covered" >getDevelopmentAppID(prodAppId)</span>
|
|
627
631
|
<span class="cstat-no" title="statement not covered" > for (let appId of [prodAppId, devAppId]) {</span>
|
|
628
|
-
<span class="cstat-no" title="statement not covered" > if (!(await
|
|
632
|
+
<span class="cstat-no" title="statement not covered" > if (!(await doesDatabaseExist(appId))) {</span>
|
|
629
633
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
630
634
|
}
|
|
631
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
635
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
|
|
632
636
|
const metadataId = <span class="cstat-no" title="statement not covered" >generateUserMetadataID(userId)</span>
|
|
633
637
|
let metadata
|
|
634
638
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
@@ -664,8 +668,8 @@ exports.syncUser = <span class="fstat-no" title="function not covered" >as</span
|
|
|
664
668
|
}
|
|
665
669
|
|
|
666
670
|
exports.fetchMetadata = async function (ctx) {
|
|
667
|
-
const database =
|
|
668
|
-
const global = await getGlobalUsers()
|
|
671
|
+
const database = new CouchDB(ctx.appId)
|
|
672
|
+
const global = await getGlobalUsers(ctx.appId)
|
|
669
673
|
const metadata = await rawMetadata(database)
|
|
670
674
|
const users = []
|
|
671
675
|
for (let user of global) {
|
|
@@ -688,13 +692,12 @@ exports.updateSelfMetadata = <span class="fstat-no" title="function not covered"
|
|
|
688
692
|
<span class="cstat-no" title="statement not covered" > ctx.request.body._id = ctx.user._id</span>
|
|
689
693
|
// make sure no stale rev
|
|
690
694
|
<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>
|
|
693
695
|
<span class="cstat-no" title="statement not covered" > await exports.updateMetadata(ctx)</span>
|
|
694
696
|
}
|
|
695
697
|
|
|
696
698
|
exports.updateMetadata = async function (ctx) {
|
|
697
|
-
const
|
|
699
|
+
const appId = ctx.appId
|
|
700
|
+
const db = new CouchDB(appId)
|
|
698
701
|
const user = ctx.request.body
|
|
699
702
|
// this isn't applicable to the user
|
|
700
703
|
delete user.roles
|
|
@@ -706,7 +709,7 @@ exports.updateMetadata = async function (ctx) {
|
|
|
706
709
|
}
|
|
707
710
|
|
|
708
711
|
exports.destroyMetadata = async function (ctx) {
|
|
709
|
-
const db =
|
|
712
|
+
const db = new CouchDB(ctx.appId)
|
|
710
713
|
try {
|
|
711
714
|
const dbUser = await db.get(ctx.params.id)
|
|
712
715
|
<span class="cstat-no" title="statement not covered" > await db.remove(dbUser._id, dbUser._rev)</span>
|
|
@@ -729,7 +732,7 @@ exports.setFlag = <span class="fstat-no" title="function not covered" >as</span>
|
|
|
729
732
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Must supply a 'flag' field in request body.")</span>
|
|
730
733
|
}
|
|
731
734
|
const flagDocId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
|
|
732
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
735
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
|
|
733
736
|
let doc
|
|
734
737
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
735
738
|
<span class="cstat-no" title="statement not covered" > doc = await db.get(flagDocId)</span>
|
|
@@ -744,7 +747,7 @@ exports.setFlag = <span class="fstat-no" title="function not covered" >as</span>
|
|
|
744
747
|
exports.getFlags = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
745
748
|
const userId = <span class="cstat-no" title="statement not covered" >ctx.user._id</span>
|
|
746
749
|
const docId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
|
|
747
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
750
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
|
|
748
751
|
let doc
|
|
749
752
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
750
753
|
<span class="cstat-no" title="statement not covered" > doc = await db.get(docId)</span>
|
|
@@ -760,7 +763,7 @@ exports.getFlags = <span class="fstat-no" title="function not covered" >as</span
|
|
|
760
763
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
761
764
|
Code coverage generated by
|
|
762
765
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
763
|
-
at
|
|
766
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
764
767
|
</div>
|
|
765
768
|
</div>
|
|
766
769
|
<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">33x</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">33x</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">33x</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 12:19:28 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.43% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>141/192</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">73.68% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>140/190</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.73" 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.73" class="pct high">88.73%</td>
|
|
96
|
+
<td data-value="71" class="abs high">63/71</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="90" class="pct high">90%</td>
|
|
102
|
+
<td data-value="70" class="abs high">63/70</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="50" class="pic medium">
|
|
108
|
+
<div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
|
|
109
109
|
</td>
|
|
110
|
-
<td data-value="
|
|
111
|
-
<td data-value="
|
|
110
|
+
<td data-value="50" class="pct medium">50%</td>
|
|
111
|
+
<td data-value="76" class="abs medium">38/76</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="50" class="pct medium">50%</td>
|
|
117
|
+
<td data-value="76" class="abs medium">38/76</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 12:19:28 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.73% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>63/71</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">90% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>63/70</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -176,20 +176,23 @@
|
|
|
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
|
-
<span class="cline-any cline-yes">
|
|
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">
|
|
179
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
180
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
181
|
+
<a name='L122'></a><a href='#L122'>122</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
|
|
182
|
+
<span class="cline-any cline-yes">33x</span>
|
|
183
|
+
<span class="cline-any cline-yes">33x</span>
|
|
184
|
+
<span class="cline-any cline-yes">33x</span>
|
|
185
|
+
<span class="cline-any cline-yes">33x</span>
|
|
186
|
+
<span class="cline-any cline-yes">33x</span>
|
|
187
|
+
<span class="cline-any cline-yes">33x</span>
|
|
188
|
+
<span class="cline-any cline-yes">33x</span>
|
|
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>
|
|
189
192
|
<span class="cline-any cline-yes">1x</span>
|
|
190
193
|
<span class="cline-any cline-neutral"> </span>
|
|
191
194
|
<span class="cline-any cline-neutral"> </span>
|
|
192
|
-
<span class="cline-any cline-yes">
|
|
195
|
+
<span class="cline-any cline-yes">33x</span>
|
|
193
196
|
<span class="cline-any cline-yes">8x</span>
|
|
194
197
|
<span class="cline-any cline-yes">8x</span>
|
|
195
198
|
<span class="cline-any cline-yes">8x</span>
|
|
@@ -218,7 +221,7 @@
|
|
|
218
221
|
<span class="cline-any cline-neutral"> </span>
|
|
219
222
|
<span class="cline-any cline-neutral"> </span>
|
|
220
223
|
<span class="cline-any cline-neutral"> </span>
|
|
221
|
-
<span class="cline-any cline-yes">
|
|
224
|
+
<span class="cline-any cline-yes">33x</span>
|
|
222
225
|
<span class="cline-any cline-yes">1x</span>
|
|
223
226
|
<span class="cline-any cline-yes">1x</span>
|
|
224
227
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -229,7 +232,8 @@
|
|
|
229
232
|
<span class="cline-any cline-yes">1x</span>
|
|
230
233
|
<span class="cline-any cline-neutral"> </span>
|
|
231
234
|
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-yes">
|
|
235
|
+
<span class="cline-any cline-yes">33x</span>
|
|
236
|
+
<span class="cline-any cline-yes">2x</span>
|
|
233
237
|
<span class="cline-any cline-yes">2x</span>
|
|
234
238
|
<span class="cline-any cline-yes">2x</span>
|
|
235
239
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -295,21 +299,22 @@
|
|
|
295
299
|
<span class="cline-any cline-yes">2x</span>
|
|
296
300
|
<span class="cline-any cline-yes">2x</span>
|
|
297
301
|
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
302
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
|
|
303
|
+
const viewTemplate = require("./viewBuilder")
|
|
299
304
|
const { apiFileReturn } = require("../../../utilities/fileSystem")
|
|
300
305
|
const exporters = require("./exporters")
|
|
301
306
|
const { saveView, getView, getViews, deleteView } = require("./utils")
|
|
302
307
|
const { fetchView } = require("../row")
|
|
303
308
|
const { getTable } = require("../table/utils")
|
|
304
309
|
const { FieldTypes } = require("../../../constants")
|
|
305
|
-
const { getAppDB } = require("@budibase/backend-core/context")
|
|
306
310
|
|
|
307
311
|
exports.fetch = async ctx => {
|
|
308
|
-
|
|
312
|
+
const db = new CouchDB(ctx.appId)
|
|
313
|
+
ctx.body = await getViews(db)
|
|
309
314
|
}
|
|
310
315
|
|
|
311
316
|
exports.save = async ctx => {
|
|
312
|
-
const db =
|
|
317
|
+
const db = new CouchDB(ctx.appId)
|
|
313
318
|
const { originalName, ...viewToSave } = ctx.request.body
|
|
314
319
|
const view = viewTemplate(viewToSave)
|
|
315
320
|
|
|
@@ -317,7 +322,7 @@ exports.save = async ctx => {
|
|
|
317
322
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot create view without a name")</span>
|
|
318
323
|
}
|
|
319
324
|
|
|
320
|
-
await saveView(originalName, viewToSave.name, view)
|
|
325
|
+
await saveView(db, originalName, viewToSave.name, view)
|
|
321
326
|
|
|
322
327
|
// add views to table document
|
|
323
328
|
const table = await db.get(ctx.request.body.tableId)
|
|
@@ -338,9 +343,9 @@ exports.save = async ctx => {
|
|
|
338
343
|
}
|
|
339
344
|
|
|
340
345
|
exports.destroy = async ctx => {
|
|
341
|
-
const db =
|
|
346
|
+
const db = new CouchDB(ctx.appId)
|
|
342
347
|
const viewName = decodeURI(ctx.params.viewName)
|
|
343
|
-
const view = await deleteView(viewName)
|
|
348
|
+
const view = await deleteView(db, viewName)
|
|
344
349
|
const table = await db.get(view.meta.tableId)
|
|
345
350
|
delete table.views[viewName]
|
|
346
351
|
await db.put(table)
|
|
@@ -349,8 +354,9 @@ exports.destroy = async ctx => {
|
|
|
349
354
|
}
|
|
350
355
|
|
|
351
356
|
exports.exportView = async ctx => {
|
|
357
|
+
const db = new CouchDB(ctx.appId)
|
|
352
358
|
const viewName = decodeURI(ctx.query.view)
|
|
353
|
-
const view = await getView(viewName)
|
|
359
|
+
const view = await getView(db, viewName)
|
|
354
360
|
|
|
355
361
|
const format = ctx.query.format
|
|
356
362
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!format || !Object.values(exporters.ExportFormats).includes(format)) {
|
|
@@ -378,7 +384,7 @@ exports.exportView = async ctx => {
|
|
|
378
384
|
let schema = view && view.meta && view.meta.schema
|
|
379
385
|
if (!schema) {
|
|
380
386
|
const tableId = ctx.params.tableId || view.meta.tableId
|
|
381
|
-
const table = await getTable(tableId)
|
|
387
|
+
const table = await getTable(ctx.appId, tableId)
|
|
382
388
|
schema = table.schema
|
|
383
389
|
}
|
|
384
390
|
|
|
@@ -421,7 +427,7 @@ exports.exportView = async ctx => {
|
|
|
421
427
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
422
428
|
Code coverage generated by
|
|
423
429
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
424
|
-
at
|
|
430
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
425
431
|
</div>
|
|
426
432
|
</div>
|
|
427
433
|
<script src="../../../prettify.js"></script>
|