@budibase/server 1.0.35 → 1.0.39
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__/node-fetch.ts +21 -0
- package/builder/assets/bb-spaceship.8f6e81e1.svg +227 -0
- package/builder/assets/index.3079d0f9.js +1348 -0
- package/builder/assets/{index.4fb3f887.css → index.39e01193.css} +1 -1
- package/builder/assets/{vendor.470042a4.js → vendor.f9faf6ab.js} +88 -88
- package/builder/index.html +3 -3
- package/coverage/clover.xml +1589 -1344
- package/coverage/coverage-final.json +75 -74
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +3 -3
- package/coverage/lcov-report/api/controllers/application.js.html +73 -64
- package/coverage/lcov-report/api/controllers/auth.js.html +2 -2
- package/coverage/lcov-report/api/controllers/automation.js.html +22 -10
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +13 -4
- package/coverage/lcov-report/api/controllers/component.js.html +4 -4
- package/coverage/lcov-report/api/controllers/datasource.js.html +170 -68
- package/coverage/lcov-report/api/controllers/dev.js.html +3 -3
- package/coverage/lcov-report/api/controllers/hosting.js.html +3 -3
- package/coverage/lcov-report/api/controllers/index.html +39 -54
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +3 -3
- package/coverage/lcov-report/api/controllers/query/index.html +126 -0
- package/coverage/lcov-report/api/controllers/{query.js.html → query/index.js.html} +225 -120
- package/coverage/lcov-report/api/controllers/query/validation.js.html +206 -0
- package/coverage/lcov-report/api/controllers/role.js.html +2 -2
- package/coverage/lcov-report/api/controllers/routing.js.html +2 -2
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +22 -22
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +38 -11
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +8 -5
- package/coverage/lcov-report/api/controllers/row/utils.js.html +29 -20
- package/coverage/lcov-report/api/controllers/screen.js.html +2 -2
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +120 -12
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +19 -7
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +6 -6
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +2 -2
- package/coverage/lcov-report/api/routes/application.js.html +2 -2
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +2 -2
- package/coverage/lcov-report/api/routes/backup.js.html +2 -2
- package/coverage/lcov-report/api/routes/cloud.js.html +2 -2
- package/coverage/lcov-report/api/routes/component.js.html +2 -2
- package/coverage/lcov-report/api/routes/datasource.js.html +2 -2
- package/coverage/lcov-report/api/routes/deploy.js.html +2 -2
- package/coverage/lcov-report/api/routes/dev.js.html +2 -2
- package/coverage/lcov-report/api/routes/hosting.js.html +2 -2
- package/coverage/lcov-report/api/routes/index.html +9 -9
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +2 -2
- package/coverage/lcov-report/api/routes/layout.js.html +2 -2
- package/coverage/lcov-report/api/routes/metadata.js.html +2 -2
- package/coverage/lcov-report/api/routes/permission.js.html +12 -3
- package/coverage/lcov-report/api/routes/query.js.html +20 -86
- package/coverage/lcov-report/api/routes/role.js.html +2 -2
- package/coverage/lcov-report/api/routes/routing.js.html +2 -2
- package/coverage/lcov-report/api/routes/row.js.html +2 -2
- package/coverage/lcov-report/api/routes/screen.js.html +2 -2
- package/coverage/lcov-report/api/routes/script.js.html +2 -2
- package/coverage/lcov-report/api/routes/static.js.html +2 -2
- package/coverage/lcov-report/api/routes/table.js.html +2 -2
- package/coverage/lcov-report/api/routes/templates.js.html +2 -2
- package/coverage/lcov-report/api/routes/user.js.html +33 -3
- package/coverage/lcov-report/api/routes/view.js.html +2 -2
- package/coverage/lcov-report/api/routes/webhook.js.html +2 -2
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +2 -2
- package/coverage/lcov-report/automations/index.html +20 -20
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +32 -8
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +11 -11
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +5 -8
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/automations/utils.js.html +49 -16
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +25 -25
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +2 -2
- package/coverage/lcov-report/db/client.js.html +19 -19
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +108 -81
- 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 +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +99 -84
- 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 +12 -12
- package/coverage/lcov-report/middleware/builder.js.html +10 -10
- package/coverage/lcov-report/middleware/currentapp.js.html +48 -36
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +11 -11
- package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +2 -2
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +3 -3
- package/coverage/lcov-report/threads/index.html +32 -32
- package/coverage/lcov-report/threads/index.js.html +12 -12
- package/coverage/lcov-report/threads/query.js.html +560 -65
- package/coverage/lcov-report/threads/utils.js.html +210 -15
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +2 -2
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +28 -19
- package/coverage/lcov-report/utilities/index.html +19 -19
- package/coverage/lcov-report/utilities/index.js.html +70 -37
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
- 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 +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +19 -19
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +247 -10
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +14 -5
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +22 -22
- package/coverage/lcov.info +2735 -2313
- package/dist/api/controllers/apikeys.js +2 -2
- package/dist/api/controllers/application.js +4 -4
- package/dist/api/controllers/auth.js +1 -1
- package/dist/api/controllers/automation.js +7 -5
- package/dist/api/controllers/cloud.js +2 -2
- package/dist/api/controllers/datasource.js +29 -0
- package/dist/api/controllers/deploy/index.js +2 -2
- package/dist/api/controllers/dev.js +2 -2
- package/dist/api/controllers/hosting.js +2 -2
- package/dist/api/controllers/permission.js +2 -2
- package/dist/api/controllers/query/import/index.js +79 -0
- package/dist/api/controllers/query/import/sources/base/index.js +64 -0
- package/dist/api/controllers/query/import/sources/base/openapi.js +42 -0
- package/dist/api/controllers/query/import/sources/curl.js +96 -0
- package/dist/api/controllers/query/import/sources/openapi2.js +142 -0
- package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
- package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
- package/dist/api/controllers/{query.js → query/index.js} +88 -56
- package/dist/api/controllers/query/validation.js +38 -0
- package/dist/api/controllers/role.js +1 -1
- package/dist/api/controllers/routing.js +1 -1
- package/dist/api/controllers/row/internal.js +14 -6
- package/dist/api/controllers/row/internalSearch.js +3 -2
- package/dist/api/controllers/row/utils.js +13 -6
- package/dist/api/controllers/screen.js +1 -1
- package/dist/api/controllers/user.js +40 -4
- package/dist/api/controllers/webhook.js +5 -1
- package/dist/api/index.js +1 -1
- package/dist/api/routes/apikeys.js +1 -1
- package/dist/api/routes/application.js +1 -1
- package/dist/api/routes/automation.js +1 -1
- package/dist/api/routes/backup.js +1 -1
- package/dist/api/routes/cloud.js +1 -1
- package/dist/api/routes/component.js +1 -1
- package/dist/api/routes/datasource.js +1 -1
- package/dist/api/routes/deploy.js +1 -1
- package/dist/api/routes/dev.js +1 -1
- package/dist/api/routes/hosting.js +1 -1
- package/dist/api/routes/integration.js +1 -1
- package/dist/api/routes/layout.js +1 -1
- package/dist/api/routes/metadata.js +1 -1
- package/dist/api/routes/permission.js +1 -1
- package/dist/api/routes/query.js +6 -34
- package/dist/api/routes/role.js +1 -1
- package/dist/api/routes/routing.js +1 -1
- package/dist/api/routes/row.js +1 -1
- package/dist/api/routes/screen.js +1 -1
- package/dist/api/routes/script.js +1 -1
- package/dist/api/routes/static.js +1 -1
- package/dist/api/routes/table.js +1 -1
- package/dist/api/routes/templates.js +1 -1
- package/dist/api/routes/tests/utilities/TestFunctions.js +1 -1
- package/dist/api/routes/user.js +4 -2
- package/dist/api/routes/view.js +1 -1
- package/dist/api/routes/webhook.js +1 -1
- package/dist/app.js +1 -1
- package/dist/automations/bullboard.js +1 -1
- package/dist/automations/steps/executeQuery.js +9 -2
- package/dist/automations/steps/outgoingWebhook.js +2 -3
- package/dist/automations/utils.js +11 -1
- package/dist/constants/index.js +3 -3
- package/dist/constants/screens.js +1 -1
- package/dist/db/client.js +1 -1
- package/dist/db/utils.js +9 -1
- package/dist/definitions/datasource.js +6 -1
- package/dist/integrations/base/sqlTable.js +1 -1
- package/dist/integrations/rest.js +259 -120
- package/dist/integrations/utils.js +40 -37
- package/dist/middleware/authorized.js +2 -2
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +6 -6
- package/dist/middleware/usageQuota.js +1 -1
- package/dist/package.json +11 -4
- package/dist/tests/utilities/TestConfiguration.js +55 -8
- package/dist/tests/utilities/structures.js +2 -2
- package/dist/threads/automation.js +2 -2
- package/dist/threads/query.js +195 -38
- package/dist/threads/utils.js +62 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +1 -1
- package/dist/utilities/fileSystem/utilities.js +2 -1
- package/dist/utilities/global.js +5 -5
- package/dist/utilities/index.js +11 -1
- package/dist/utilities/redis.js +1 -1
- package/dist/utilities/rowProcessor/index.js +76 -0
- package/dist/utilities/security.js +2 -2
- package/dist/utilities/usageQuota.js +2 -2
- package/dist/utilities/workerRequests.js +3 -3
- package/package.json +12 -5
- package/scripts/replicateApp.js +1 -1
- package/src/api/controllers/apikeys.js +2 -2
- package/src/api/controllers/application.js +7 -4
- package/src/api/controllers/auth.js +1 -1
- package/src/api/controllers/automation.js +8 -4
- package/src/api/controllers/cloud.js +5 -2
- package/src/api/controllers/datasource.js +34 -0
- package/src/api/controllers/deploy/index.js +2 -2
- package/src/api/controllers/dev.js +2 -2
- package/src/api/controllers/hosting.js +2 -2
- package/src/api/controllers/permission.js +2 -2
- package/src/api/controllers/query/import/index.ts +85 -0
- package/src/api/controllers/query/import/sources/base/index.ts +87 -0
- package/src/api/controllers/query/import/sources/base/openapi.ts +24 -0
- package/src/api/controllers/query/import/sources/curl.ts +102 -0
- package/src/api/controllers/query/import/sources/openapi2.ts +163 -0
- package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +103 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/delete.txt +1 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/empty-body.txt +2 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/get.txt +1 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/headers.txt +3 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/patch.txt +2 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/path.txt +1 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/post.txt +2 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/put.txt +2 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/query.txt +1 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.yaml +160 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.yaml +711 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +238 -0
- package/src/api/controllers/query/import/tests/index.spec.js +109 -0
- package/src/api/controllers/query/index.js +196 -0
- package/src/api/controllers/query/validation.js +42 -0
- package/src/api/controllers/role.js +1 -1
- package/src/api/controllers/routing.js +1 -1
- package/src/api/controllers/row/internal.js +14 -5
- package/src/api/controllers/row/internalSearch.js +3 -2
- package/src/api/controllers/row/utils.js +11 -8
- package/src/api/controllers/screen.js +1 -1
- package/src/api/controllers/user.js +39 -3
- package/src/api/controllers/webhook.js +5 -1
- package/src/api/index.js +1 -1
- package/src/api/routes/apikeys.js +1 -1
- package/src/api/routes/application.js +1 -1
- package/src/api/routes/automation.js +1 -1
- package/src/api/routes/backup.js +1 -1
- package/src/api/routes/cloud.js +1 -1
- package/src/api/routes/component.js +1 -1
- package/src/api/routes/datasource.js +1 -1
- package/src/api/routes/deploy.js +1 -1
- package/src/api/routes/dev.js +1 -1
- package/src/api/routes/hosting.js +1 -1
- package/src/api/routes/integration.js +1 -1
- package/src/api/routes/layout.js +1 -1
- package/src/api/routes/metadata.js +1 -1
- package/src/api/routes/permission.js +4 -1
- package/src/api/routes/query.js +14 -36
- package/src/api/routes/role.js +1 -1
- package/src/api/routes/routing.js +1 -1
- package/src/api/routes/row.js +1 -1
- package/src/api/routes/screen.js +1 -1
- package/src/api/routes/script.js +1 -1
- package/src/api/routes/static.js +1 -1
- package/src/api/routes/table.js +1 -1
- package/src/api/routes/templates.js +1 -1
- package/src/api/routes/tests/datasource.spec.js +45 -0
- package/src/api/routes/tests/permissions.spec.js +1 -1
- package/src/api/routes/tests/query.spec.js +70 -1
- package/src/api/routes/tests/role.spec.js +2 -2
- package/src/api/routes/tests/routing.spec.js +1 -1
- package/src/api/routes/tests/user.spec.js +1 -1
- package/src/api/routes/tests/utilities/TestFunctions.js +1 -1
- package/src/api/routes/user.js +11 -1
- package/src/api/routes/view.js +1 -1
- package/src/api/routes/webhook.js +1 -1
- package/src/app.ts +1 -1
- package/src/automations/bullboard.js +1 -1
- package/src/automations/steps/executeQuery.js +10 -2
- package/src/automations/steps/outgoingWebhook.js +2 -3
- package/src/automations/utils.js +12 -1
- package/src/constants/index.js +3 -3
- package/src/constants/screens.js +1 -1
- package/src/db/client.js +1 -1
- package/src/db/utils.js +10 -1
- package/src/definitions/common.ts +2 -16
- package/src/definitions/datasource.ts +98 -1
- package/src/integrations/base/IntegrationBase.ts +4 -4
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/rest.ts +311 -138
- package/src/integrations/tests/rest.spec.js +432 -21
- package/src/integrations/utils.ts +8 -7
- package/src/middleware/authorized.js +2 -2
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +11 -7
- package/src/middleware/tests/authorized.spec.js +2 -2
- package/src/middleware/tests/currentapp.spec.js +35 -41
- package/src/middleware/tests/usageQuota.spec.js +1 -1
- package/src/middleware/usageQuota.js +1 -1
- package/src/tests/utilities/TestConfiguration.js +65 -8
- package/src/tests/utilities/structures.js +2 -2
- package/src/threads/automation.js +2 -2
- package/src/threads/query.js +204 -39
- package/src/threads/utils.js +66 -1
- package/src/utilities/budibaseDir.js +1 -1
- package/src/utilities/fileSystem/utilities.js +3 -1
- package/src/utilities/global.js +8 -5
- package/src/utilities/index.js +12 -1
- package/src/utilities/redis.js +1 -1
- package/src/utilities/rowProcessor/index.js +79 -0
- package/src/utilities/security.js +5 -2
- package/src/utilities/usageQuota.js +2 -2
- package/src/utilities/workerRequests.js +3 -3
- package/builder/assets/index.9ac33cf1.js +0 -1316
- package/src/api/controllers/query.js +0 -161
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">73.46% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>36/49</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">53.84% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>14/26</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">72.91% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>35/48</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -142,7 +142,10 @@
|
|
|
142
142
|
<a name='L83'></a><a href='#L83'>83</a>
|
|
143
143
|
<a name='L84'></a><a href='#L84'>84</a>
|
|
144
144
|
<a name='L85'></a><a href='#L85'>85</a>
|
|
145
|
-
<a name='L86'></a><a href='#L86'>86</a
|
|
145
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
146
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
147
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
148
|
+
<a name='L89'></a><a href='#L89'>89</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
146
149
|
<span class="cline-any cline-yes">34x</span>
|
|
147
150
|
<span class="cline-any cline-yes">34x</span>
|
|
148
151
|
<span class="cline-any cline-yes">34x</span>
|
|
@@ -194,9 +197,9 @@
|
|
|
194
197
|
<span class="cline-any cline-yes">74x</span>
|
|
195
198
|
<span class="cline-any cline-yes">74x</span>
|
|
196
199
|
<span class="cline-any cline-yes">206x</span>
|
|
197
|
-
<span class="cline-any cline-neutral"> </span>
|
|
198
200
|
<span class="cline-any cline-yes">206x</span>
|
|
199
201
|
<span class="cline-any cline-neutral"> </span>
|
|
202
|
+
<span class="cline-any cline-yes">206x</span>
|
|
200
203
|
<span class="cline-any cline-neutral"> </span>
|
|
201
204
|
<span class="cline-any cline-neutral"> </span>
|
|
202
205
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -206,14 +209,17 @@
|
|
|
206
209
|
<span class="cline-any cline-neutral"> </span>
|
|
207
210
|
<span class="cline-any cline-neutral"> </span>
|
|
208
211
|
<span class="cline-any cline-yes">206x</span>
|
|
212
|
+
<span class="cline-any cline-no"> </span>
|
|
213
|
+
<span class="cline-any cline-no"> </span>
|
|
214
|
+
<span class="cline-any cline-no"> </span>
|
|
209
215
|
<span class="cline-any cline-neutral"> </span>
|
|
210
216
|
<span class="cline-any cline-neutral"> </span>
|
|
217
|
+
<span class="cline-any cline-yes">206x</span>
|
|
211
218
|
<span class="cline-any cline-neutral"> </span>
|
|
212
|
-
<span class="cline-any cline-neutral"> </span>
|
|
213
|
-
<span class="cline-any cline-no"> </span>
|
|
214
219
|
<span class="cline-any cline-no"> </span>
|
|
215
220
|
<span class="cline-any cline-no"> </span>
|
|
216
221
|
<span class="cline-any cline-neutral"> </span>
|
|
222
|
+
<span class="cline-any cline-no"> </span>
|
|
217
223
|
<span class="cline-any cline-neutral"> </span>
|
|
218
224
|
<span class="cline-any cline-yes">206x</span>
|
|
219
225
|
<span class="cline-any cline-no"> </span>
|
|
@@ -279,28 +285,31 @@ exports.validate = async ({ appId, tableId, row, table }) => {
|
|
|
279
285
|
const errors = {}
|
|
280
286
|
for (let fieldName of Object.keys(table.schema)) {
|
|
281
287
|
const constraints = cloneDeep(table.schema[fieldName].constraints)
|
|
288
|
+
const type = table.schema[fieldName].type
|
|
282
289
|
// special case for options, need to always allow unselected (null)
|
|
283
290
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
<span class="branch-1 cbranch-no" title="branch not covered" > constraints.inclusion</span>
|
|
291
|
+
(type === FieldTypes.OPTIONS || type === FieldTypes.ARRAY) &&
|
|
292
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > constraints.inclusion</span>
|
|
287
293
|
) {
|
|
288
294
|
<span class="cstat-no" title="statement not covered" > constraints.inclusion.push(null)</span>
|
|
289
295
|
}
|
|
290
296
|
let res
|
|
291
297
|
|
|
292
298
|
// Validate.js doesn't seem to handle array
|
|
293
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
294
|
-
table.schema[fieldName].type === FieldTypes.ARRAY &&
|
|
295
|
-
<span class="branch-1 cbranch-no" title="branch not covered" > row[fieldName] </span>&&
|
|
296
|
-
<span class="branch-2 cbranch-no" title="branch not covered" > row[fieldName].length</span>
|
|
297
|
-
) {
|
|
299
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (type === FieldTypes.ARRAY && <span class="branch-1 cbranch-no" title="branch not covered" >row[fieldName] </span>&& <span class="branch-2 cbranch-no" title="branch not covered" >row[fieldName].length)</span> {
|
|
298
300
|
<span class="cstat-no" title="statement not covered" > row[fieldName].map(<span class="fstat-no" title="function not covered" >va</span>l => {</span>
|
|
299
301
|
<span class="cstat-no" title="statement not covered" > if (!constraints.inclusion.includes(val)) {</span>
|
|
300
302
|
<span class="cstat-no" title="statement not covered" > errors[fieldName] = "Field not in list"</span>
|
|
301
303
|
}
|
|
302
304
|
})
|
|
303
|
-
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
305
|
+
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (type === FieldTypes.JSON && <span class="branch-1 cbranch-no" title="branch not covered" >typeof row[fieldName] === "string")</span> {
|
|
306
|
+
// this should only happen if there is an error
|
|
307
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
308
|
+
<span class="cstat-no" title="statement not covered" > JSON.parse(row[fieldName])</span>
|
|
309
|
+
} catch (err) {
|
|
310
|
+
<span class="cstat-no" title="statement not covered" > errors[fieldName] = [`Contains invalid JSON`]</span>
|
|
311
|
+
}
|
|
312
|
+
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (type === FieldTypes.FORMULA) {
|
|
304
313
|
<span class="cstat-no" title="statement not covered" > res = validateJs.single(</span>
|
|
305
314
|
processStringSync(table.schema[fieldName].formula, row),
|
|
306
315
|
constraints
|
|
@@ -319,7 +328,7 @@ exports.validate = async ({ appId, tableId, row, table }) => {
|
|
|
319
328
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
320
329
|
Code coverage generated by
|
|
321
330
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
322
|
-
at Thu Jan
|
|
331
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
323
332
|
</div>
|
|
324
333
|
</div>
|
|
325
334
|
<script src="../../../prettify.js"></script>
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
<span class="cline-any cline-neutral"> </span>
|
|
156
156
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
|
|
157
157
|
const { getScreenParams, generateScreenID } = require("../../db/utils")
|
|
158
|
-
const { AccessController } = require("@budibase/
|
|
158
|
+
const { AccessController } = require("@budibase/backend-core/roles")
|
|
159
159
|
|
|
160
160
|
exports.fetch = async ctx => {
|
|
161
161
|
const appId = ctx.appId
|
|
@@ -208,7 +208,7 @@ exports.destroy = async ctx => {
|
|
|
208
208
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
209
209
|
Code coverage generated by
|
|
210
210
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
211
|
-
at Thu Jan
|
|
211
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
212
212
|
</div>
|
|
213
213
|
</div>
|
|
214
214
|
<script src="../../prettify.js"></script>
|
|
@@ -97,7 +97,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
97
97
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
98
98
|
Code coverage generated by
|
|
99
99
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
100
|
-
at Thu Jan
|
|
100
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
101
101
|
</div>
|
|
102
102
|
</div>
|
|
103
103
|
<script src="../../prettify.js"></script>
|
|
@@ -985,7 +985,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
985
985
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
986
986
|
Code coverage generated by
|
|
987
987
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
988
|
-
at Thu Jan
|
|
988
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
989
989
|
</div>
|
|
990
990
|
</div>
|
|
991
991
|
<script src="../../../prettify.js"></script>
|
|
@@ -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 Thu Jan
|
|
143
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
144
144
|
</div>
|
|
145
145
|
</div>
|
|
146
146
|
<script src="../../../prettify.js"></script>
|
|
@@ -382,7 +382,7 @@ exports.validateCSVSchema = async function (ctx) {
|
|
|
382
382
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
383
383
|
Code coverage generated by
|
|
384
384
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
385
|
-
at Thu Jan
|
|
385
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
386
386
|
</div>
|
|
387
387
|
</div>
|
|
388
388
|
<script src="../../../prettify.js"></script>
|
|
@@ -517,7 +517,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
517
517
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
518
518
|
Code coverage generated by
|
|
519
519
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
520
|
-
at Thu Jan
|
|
520
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
521
521
|
</div>
|
|
522
522
|
</div>
|
|
523
523
|
<script src="../../../prettify.js"></script>
|
|
@@ -1144,7 +1144,7 @@ exports.TableSaveFunctions = TableSaveFunctions
|
|
|
1144
1144
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1145
1145
|
Code coverage generated by
|
|
1146
1146
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1147
|
-
at Thu Jan
|
|
1147
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
1148
1148
|
</div>
|
|
1149
1149
|
</div>
|
|
1150
1150
|
<script src="../../../prettify.js"></script>
|
|
@@ -181,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
|
|
|
181
181
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
182
182
|
Code coverage generated by
|
|
183
183
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
184
|
-
at Thu Jan
|
|
184
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
187
187
|
<script src="../../prettify.js"></script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">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
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/
|
|
35
|
+
<span class='fraction'>0/37</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">31.25% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>5/
|
|
42
|
+
<span class='fraction'>5/16</span>
|
|
43
43
|
</div>
|
|
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
|
|
|
@@ -254,7 +254,44 @@
|
|
|
254
254
|
<a name='L195'></a><a href='#L195'>195</a>
|
|
255
255
|
<a name='L196'></a><a href='#L196'>196</a>
|
|
256
256
|
<a name='L197'></a><a href='#L197'>197</a>
|
|
257
|
-
<a name='L198'></a><a href='#L198'>198</a
|
|
257
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
258
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
259
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
260
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
261
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
262
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
263
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
264
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
265
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
266
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
267
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
268
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
269
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
270
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
271
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
272
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
273
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
274
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
275
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
276
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
277
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
278
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
279
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
280
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
281
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
282
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
283
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
284
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
285
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
286
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
287
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
288
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
289
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
290
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
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>
|
|
294
|
+
<span class="cline-any cline-neutral"> </span>
|
|
258
295
|
<span class="cline-any cline-neutral"> </span>
|
|
259
296
|
<span class="cline-any cline-neutral"> </span>
|
|
260
297
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -264,6 +301,9 @@
|
|
|
264
301
|
<span class="cline-any cline-yes">34x</span>
|
|
265
302
|
<span class="cline-any cline-yes">34x</span>
|
|
266
303
|
<span class="cline-any cline-yes">34x</span>
|
|
304
|
+
<span class="cline-any cline-neutral"> </span>
|
|
305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
306
|
+
<span class="cline-any cline-neutral"> </span>
|
|
267
307
|
<span class="cline-any cline-yes">34x</span>
|
|
268
308
|
<span class="cline-any cline-yes">34x</span>
|
|
269
309
|
<span class="cline-any cline-yes">34x</span>
|
|
@@ -451,19 +491,55 @@
|
|
|
451
491
|
<span class="cline-any cline-yes">34x</span>
|
|
452
492
|
<span class="cline-any cline-yes">1x</span>
|
|
453
493
|
<span class="cline-any cline-neutral"> </span>
|
|
494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
495
|
+
<span class="cline-any cline-yes">34x</span>
|
|
496
|
+
<span class="cline-any cline-no"> </span>
|
|
497
|
+
<span class="cline-any cline-no"> </span>
|
|
498
|
+
<span class="cline-any cline-no"> </span>
|
|
499
|
+
<span class="cline-any cline-no"> </span>
|
|
500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
501
|
+
<span class="cline-any cline-no"> </span>
|
|
502
|
+
<span class="cline-any cline-no"> </span>
|
|
503
|
+
<span class="cline-any cline-neutral"> </span>
|
|
504
|
+
<span class="cline-any cline-no"> </span>
|
|
505
|
+
<span class="cline-any cline-no"> </span>
|
|
506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
507
|
+
<span class="cline-any cline-no"> </span>
|
|
508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
509
|
+
<span class="cline-any cline-no"> </span>
|
|
510
|
+
<span class="cline-any cline-no"> </span>
|
|
511
|
+
<span class="cline-any cline-no"> </span>
|
|
512
|
+
<span class="cline-any cline-neutral"> </span>
|
|
513
|
+
<span class="cline-any cline-neutral"> </span>
|
|
514
|
+
<span class="cline-any cline-yes">34x</span>
|
|
515
|
+
<span class="cline-any cline-no"> </span>
|
|
516
|
+
<span class="cline-any cline-no"> </span>
|
|
517
|
+
<span class="cline-any cline-no"> </span>
|
|
518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-no"> </span>
|
|
520
|
+
<span class="cline-any cline-no"> </span>
|
|
521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
522
|
+
<span class="cline-any cline-no"> </span>
|
|
523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
524
|
+
<span class="cline-any cline-no"> </span>
|
|
525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
454
526
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
|
|
455
527
|
const {
|
|
456
528
|
generateUserMetadataID,
|
|
457
529
|
getUserMetadataParams,
|
|
530
|
+
generateUserFlagID,
|
|
458
531
|
} = require("../../db/utils")
|
|
459
532
|
const { InternalTables } = require("../../db/utils")
|
|
460
533
|
const { getGlobalUsers, getRawGlobalUser } = require("../../utilities/global")
|
|
461
534
|
const { getFullUser } = require("../../utilities/users")
|
|
462
535
|
const { isEqual } = require("lodash")
|
|
463
|
-
const { BUILTIN_ROLE_IDS } = require("@budibase/
|
|
464
|
-
const {
|
|
536
|
+
const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
|
|
537
|
+
const {
|
|
538
|
+
getDevelopmentAppID,
|
|
539
|
+
getDeployedAppIDs,
|
|
540
|
+
} = require("@budibase/backend-core/db")
|
|
465
541
|
const { doesDatabaseExist } = require("../../utilities")
|
|
466
|
-
const { UserStatus } = require("@budibase/
|
|
542
|
+
const { UserStatus } = require("@budibase/backend-core/constants")
|
|
467
543
|
|
|
468
544
|
async function rawMetadata(db) {
|
|
469
545
|
return (
|
|
@@ -648,6 +724,38 @@ exports.destroyMetadata = async function (ctx) {
|
|
|
648
724
|
exports.findMetadata = async function (ctx) {
|
|
649
725
|
ctx.body = await getFullUser(ctx, ctx.params.id)
|
|
650
726
|
}
|
|
727
|
+
|
|
728
|
+
exports.setFlag = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
729
|
+
const userId = <span class="cstat-no" title="statement not covered" >ctx.user._id</span>
|
|
730
|
+
const { flag, value } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
731
|
+
<span class="cstat-no" title="statement not covered" > if (!flag) {</span>
|
|
732
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Must supply a 'flag' field in request body.")</span>
|
|
733
|
+
}
|
|
734
|
+
const flagDocId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
|
|
735
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
|
|
736
|
+
let doc
|
|
737
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
738
|
+
<span class="cstat-no" title="statement not covered" > doc = await db.get(flagDocId)</span>
|
|
739
|
+
} catch (err) {
|
|
740
|
+
<span class="cstat-no" title="statement not covered" > doc = { _id: flagDocId }</span>
|
|
741
|
+
}
|
|
742
|
+
<span class="cstat-no" title="statement not covered" > doc[flag] = value || true</span>
|
|
743
|
+
<span class="cstat-no" title="statement not covered" > await db.put(doc)</span>
|
|
744
|
+
<span class="cstat-no" title="statement not covered" > ctx.body = { message: "Flag set successfully" }</span>
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
exports.getFlags = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
748
|
+
const userId = <span class="cstat-no" title="statement not covered" >ctx.user._id</span>
|
|
749
|
+
const docId = <span class="cstat-no" title="statement not covered" >generateUserFlagID(userId)</span>
|
|
750
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
|
|
751
|
+
let doc
|
|
752
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
753
|
+
<span class="cstat-no" title="statement not covered" > doc = await db.get(docId)</span>
|
|
754
|
+
} catch (err) {
|
|
755
|
+
<span class="cstat-no" title="statement not covered" > doc = { _id: docId }</span>
|
|
756
|
+
}
|
|
757
|
+
<span class="cstat-no" title="statement not covered" > ctx.body = doc</span>
|
|
758
|
+
}
|
|
651
759
|
</pre></td></tr></table></pre>
|
|
652
760
|
|
|
653
761
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -655,7 +763,7 @@ exports.findMetadata = async function (ctx) {
|
|
|
655
763
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
656
764
|
Code coverage generated by
|
|
657
765
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
658
|
-
at Thu Jan
|
|
766
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
659
767
|
</div>
|
|
660
768
|
</div>
|
|
661
769
|
<script src="../../prettify.js"></script>
|
|
@@ -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 Thu Jan
|
|
136
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
137
137
|
</div>
|
|
138
138
|
</div>
|
|
139
139
|
<script src="../../../prettify.js"></script>
|
|
@@ -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 Thu Jan
|
|
143
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
144
144
|
</div>
|
|
145
145
|
</div>
|
|
146
146
|
<script src="../../../prettify.js"></script>
|
|
@@ -427,7 +427,7 @@ exports.exportView = async ctx => {
|
|
|
427
427
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
428
428
|
Code coverage generated by
|
|
429
429
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
430
|
-
at Thu Jan
|
|
430
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
431
431
|
</div>
|
|
432
432
|
</div>
|
|
433
433
|
<script src="../../../prettify.js"></script>
|
|
@@ -493,7 +493,7 @@ exports.getFromMemoryDoc = async (db, viewName) => {
|
|
|
493
493
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
494
494
|
Code coverage generated by
|
|
495
495
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
496
|
-
at Thu Jan
|
|
496
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
497
497
|
</div>
|
|
498
498
|
</div>
|
|
499
499
|
<script src="../../../prettify.js"></script>
|
|
@@ -550,7 +550,7 @@ module.exports = viewTemplate
|
|
|
550
550
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
551
551
|
Code coverage generated by
|
|
552
552
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
553
|
-
at Thu Jan
|
|
553
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
554
554
|
</div>
|
|
555
555
|
</div>
|
|
556
556
|
<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">91.
|
|
26
|
+
<span class="strong">91.37% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>53/58</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">91.
|
|
47
|
+
<span class="strong">91.22% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>52/57</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -167,7 +167,11 @@
|
|
|
167
167
|
<a name='L108'></a><a href='#L108'>108</a>
|
|
168
168
|
<a name='L109'></a><a href='#L109'>109</a>
|
|
169
169
|
<a name='L110'></a><a href='#L110'>110</a>
|
|
170
|
-
<a name='L111'></a><a href='#L111'>111</a
|
|
170
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
171
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
172
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
173
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
174
|
+
<a name='L115'></a><a href='#L115'>115</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
|
|
171
175
|
<span class="cline-any cline-yes">33x</span>
|
|
172
176
|
<span class="cline-any cline-yes">33x</span>
|
|
173
177
|
<span class="cline-any cline-yes">33x</span>
|
|
@@ -234,6 +238,10 @@
|
|
|
234
238
|
<span class="cline-any cline-yes">1x</span>
|
|
235
239
|
<span class="cline-any cline-yes">1x</span>
|
|
236
240
|
<span class="cline-any cline-yes">1x</span>
|
|
241
|
+
<span class="cline-any cline-neutral"> </span>
|
|
242
|
+
<span class="cline-any cline-yes">1x</span>
|
|
243
|
+
<span class="cline-any cline-neutral"> </span>
|
|
244
|
+
<span class="cline-any cline-neutral"> </span>
|
|
237
245
|
<span class="cline-any cline-yes">1x</span>
|
|
238
246
|
<span class="cline-any cline-yes">1x</span>
|
|
239
247
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -282,7 +290,7 @@ const { generateWebhookID, getWebhookParams } = require("../../db/utils")
|
|
|
282
290
|
const toJsonSchema = require("to-json-schema")
|
|
283
291
|
const validate = require("jsonschema").validate
|
|
284
292
|
const triggers = require("../../automations/triggers")
|
|
285
|
-
const { getDeployedAppID } = require("@budibase/
|
|
293
|
+
const { getDeployedAppID } = require("@budibase/backend-core/db")
|
|
286
294
|
|
|
287
295
|
const AUTOMATION_DESCRIPTION = "Generated from Webhook Schema"
|
|
288
296
|
|
|
@@ -344,6 +352,10 @@ exports.buildSchema = async ctx => {
|
|
|
344
352
|
let automation = await db.get(webhook.action.target)
|
|
345
353
|
const autoOutputs = automation.definition.trigger.schema.outputs
|
|
346
354
|
let properties = webhook.bodySchema.properties
|
|
355
|
+
// reset webhook outputs
|
|
356
|
+
autoOutputs.properties = {
|
|
357
|
+
body: autoOutputs.properties.body,
|
|
358
|
+
}
|
|
347
359
|
for (let prop of Object.keys(properties)) {
|
|
348
360
|
autoOutputs.properties[prop] = {
|
|
349
361
|
type: properties[prop].type,
|
|
@@ -394,7 +406,7 @@ exports.trigger = async ctx => {
|
|
|
394
406
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
395
407
|
Code coverage generated by
|
|
396
408
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
397
|
-
at Thu Jan
|
|
409
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
398
410
|
</div>
|
|
399
411
|
</div>
|
|
400
412
|
<script src="../../prettify.js"></script>
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
96
96
|
Code coverage generated by
|
|
97
97
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
98
|
-
at Thu Jan
|
|
98
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
<script src="../prettify.js"></script>
|
|
@@ -176,11 +176,11 @@
|
|
|
176
176
|
<span class="cline-any cline-neutral"> </span>
|
|
177
177
|
<span class="cline-any cline-neutral"> </span>
|
|
178
178
|
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-yes">
|
|
179
|
+
<span class="cline-any cline-yes">167x</span>
|
|
180
180
|
<span class="cline-any cline-neutral"> </span>
|
|
181
181
|
<span class="cline-any cline-neutral"> </span>
|
|
182
182
|
<span class="cline-any cline-neutral"> </span>
|
|
183
|
-
<span class="cline-any cline-yes">
|
|
183
|
+
<span class="cline-any cline-yes">167x</span>
|
|
184
184
|
<span class="cline-any cline-neutral"> </span>
|
|
185
185
|
<span class="cline-any cline-yes">1x</span>
|
|
186
186
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -206,8 +206,8 @@
|
|
|
206
206
|
<span class="cline-any cline-neutral"> </span>
|
|
207
207
|
<span class="cline-any cline-neutral"> </span>
|
|
208
208
|
<span class="cline-any cline-yes">23x</span>
|
|
209
|
-
<span class="cline-any cline-yes">
|
|
210
|
-
<span class="cline-any cline-yes">
|
|
209
|
+
<span class="cline-any cline-yes">163x</span>
|
|
210
|
+
<span class="cline-any cline-yes">163x</span>
|
|
211
211
|
<span class="cline-any cline-neutral"> </span>
|
|
212
212
|
<span class="cline-any cline-yes">37x</span>
|
|
213
213
|
<span class="cline-any cline-yes">37x</span>
|
|
@@ -241,7 +241,7 @@ const {
|
|
|
241
241
|
auditLog,
|
|
242
242
|
buildTenancyMiddleware,
|
|
243
243
|
buildAppTenancyMiddleware,
|
|
244
|
-
} = require("@budibase/auth")
|
|
244
|
+
} = require("@budibase/backend-core/auth")
|
|
245
245
|
const currentApp = require("../middleware/currentapp")
|
|
246
246
|
const compress = require("koa-compress")
|
|
247
247
|
const zlib = require("zlib")
|
|
@@ -331,7 +331,7 @@ module.exports = router
|
|
|
331
331
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
332
332
|
Code coverage generated by
|
|
333
333
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
334
|
-
at Thu Jan
|
|
334
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
335
335
|
</div>
|
|
336
336
|
</div>
|
|
337
337
|
<script src="../prettify.js"></script>
|
|
@@ -94,7 +94,7 @@ module.exports = router
|
|
|
94
94
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
95
|
Code coverage generated by
|
|
96
96
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
97
|
-
at Thu Jan
|
|
97
|
+
at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
|
|
98
98
|
</div>
|
|
99
99
|
</div>
|
|
100
100
|
<script src="../../prettify.js"></script>
|