@budibase/server 2.1.32-alpha.1 → 2.1.32-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builder/assets/{index.7176fd99.css → index.144dddb2.css} +1 -1
- package/builder/assets/{index.24cb0a61.js → index.49779794.js} +283 -283
- package/builder/index.html +2 -2
- package/coverage/clover.xml +3723 -3691
- package/coverage/coverage-final.json +113 -108
- package/coverage/lcov-report/index.html +170 -155
- package/coverage/lcov-report/src/api/controllers/analytics.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/{apikeys.js.html → apikeys.ts.html} +19 -19
- package/coverage/lcov-report/src/api/controllers/application.ts.html +70 -13
- package/coverage/lcov-report/src/api/controllers/auth.ts.html +3 -3
- package/coverage/lcov-report/src/api/controllers/{automation.js.html → automation.ts.html} +68 -68
- package/coverage/lcov-report/src/api/controllers/backup.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/{cloud.js.html → cloud.ts.html} +40 -40
- package/coverage/lcov-report/src/api/controllers/component.ts.html +6 -3
- package/coverage/lcov-report/src/api/controllers/{datasource.js.html → datasource.ts.html} +239 -80
- package/coverage/lcov-report/src/api/controllers/deploy/{Deployment.js.html → Deployment.ts.html} +30 -21
- package/coverage/lcov-report/src/api/controllers/deploy/index.html +6 -6
- package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/dev.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/index.html +120 -120
- package/coverage/lcov-report/src/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/{layout.js.html → layout.ts.html} +19 -19
- package/coverage/lcov-report/src/api/controllers/{metadata.js.html → metadata.ts.html} +19 -16
- package/coverage/lcov-report/src/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/{permission.js.html → permission.ts.html} +73 -64
- package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/plugin/index.html +11 -11
- package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +10 -13
- package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +3 -3
- package/coverage/lcov-report/src/api/controllers/public/users.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/import/index.html +11 -11
- package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +8 -11
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/index.html +2 -2
- package/coverage/lcov-report/src/api/controllers/query/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/{validation.js.html → validation.ts.html} +10 -10
- package/coverage/lcov-report/src/api/controllers/{role.js.html → role.ts.html} +37 -49
- package/coverage/lcov-report/src/api/controllers/{routing.js.html → routing.ts.html} +58 -49
- package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +6 -18
- package/coverage/lcov-report/src/api/controllers/row/external.js.html +4 -4
- package/coverage/lcov-report/src/api/controllers/row/index.html +35 -35
- package/coverage/lcov-report/src/api/controllers/row/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/internal.js.html +17 -20
- package/coverage/lcov-report/src/api/controllers/row/{internalSearch.js.html → internalSearch.ts.html} +175 -103
- package/coverage/lcov-report/src/api/controllers/row/{staticFormula.js.html → staticFormula.ts.html} +62 -47
- package/coverage/lcov-report/src/api/controllers/row/{utils.js.html → utils.ts.html} +57 -36
- package/coverage/lcov-report/src/api/controllers/screen.ts.html +29 -17
- package/coverage/lcov-report/src/api/controllers/{script.js.html → script.ts.html} +10 -7
- package/coverage/lcov-report/src/api/controllers/static/index.html +10 -10
- package/coverage/lcov-report/src/api/controllers/static/index.ts.html +15 -27
- package/coverage/lcov-report/src/api/controllers/table/{bulkFormula.js.html → bulkFormula.ts.html} +89 -47
- package/coverage/lcov-report/src/api/controllers/table/{external.js.html → external.ts.html} +192 -87
- package/coverage/lcov-report/src/api/controllers/table/index.html +41 -41
- package/coverage/lcov-report/src/api/controllers/table/{index.js.html → index.ts.html} +28 -28
- package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +3 -6
- package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +56 -41
- package/coverage/lcov-report/src/api/controllers/{templates.js.html → templates.ts.html} +27 -18
- package/coverage/lcov-report/src/api/controllers/{user.js.html → user.ts.html} +72 -78
- package/coverage/lcov-report/src/api/controllers/view/{exporters.js.html → exporters.ts.html} +13 -7
- package/coverage/lcov-report/src/api/controllers/view/index.html +21 -21
- package/coverage/lcov-report/src/api/controllers/view/{index.js.html → index.ts.html} +68 -41
- package/coverage/lcov-report/src/api/controllers/view/{utils.js.html → utils.ts.html} +54 -36
- package/coverage/lcov-report/src/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/webhook.ts.html +1 -1
- package/coverage/lcov-report/src/api/index.html +14 -14
- package/coverage/lcov-report/src/api/{index.js.html → index.ts.html} +28 -49
- package/coverage/lcov-report/src/api/routes/{analytics.js.html → analytics.ts.html} +7 -7
- package/coverage/lcov-report/src/api/routes/{apikeys.js.html → apikeys.ts.html} +11 -11
- package/coverage/lcov-report/src/api/routes/application.ts.html +35 -11
- package/coverage/lcov-report/src/api/routes/auth.ts.html +3 -3
- package/coverage/lcov-report/src/api/routes/{automation.js.html → automation.ts.html} +41 -35
- package/coverage/lcov-report/src/api/routes/backup.ts.html +18 -6
- package/coverage/lcov-report/src/api/routes/{deploy.js.html → cloud.ts.html} +18 -15
- package/coverage/lcov-report/src/api/routes/{component.js.html → component.ts.html} +10 -10
- package/coverage/lcov-report/src/api/routes/{datasource.js.html → datasource.ts.html} +53 -26
- package/coverage/lcov-report/src/api/routes/deploy.ts.html +148 -0
- package/coverage/lcov-report/src/api/routes/{dev.js.html → dev.ts.html} +54 -18
- package/coverage/lcov-report/src/api/routes/index.html +41 -41
- package/coverage/lcov-report/src/api/routes/index.ts.html +3 -3
- package/coverage/lcov-report/src/api/routes/integration.ts.html +133 -0
- package/coverage/lcov-report/src/api/routes/{layout.js.html → layout.ts.html} +11 -11
- package/coverage/lcov-report/src/api/routes/{metadata.js.html → metadata.ts.html} +17 -17
- package/coverage/lcov-report/src/api/routes/{migrations.js.html → migrations.ts.html} +12 -12
- package/coverage/lcov-report/src/api/routes/{permission.js.html → permission.ts.html} +41 -17
- package/coverage/lcov-report/src/api/routes/plugin.ts.html +32 -8
- package/coverage/lcov-report/src/api/routes/public/applications.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/middleware/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/queries.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/rows.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/tables.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/users.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/{query.js.html → query.ts.html} +24 -33
- package/coverage/lcov-report/src/{utilities/routing/index.js.html → api/routes/role.ts.html} +32 -35
- package/coverage/lcov-report/src/api/routes/{routing.js.html → routing.ts.html} +10 -10
- package/coverage/lcov-report/src/api/routes/row.ts.html +8 -14
- package/coverage/lcov-report/src/api/routes/{screen.js.html → screen.ts.html} +29 -14
- package/coverage/lcov-report/src/api/routes/{script.js.html → script.ts.html} +10 -10
- package/coverage/lcov-report/src/api/routes/static.ts.html +9 -18
- package/coverage/lcov-report/src/api/routes/{table.js.html → table.ts.html} +16 -25
- package/coverage/lcov-report/src/api/routes/{templates.js.html → templates.ts.html} +11 -11
- package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +12 -18
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +10 -10
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/{user.js.html → user.ts.html} +14 -20
- package/coverage/lcov-report/src/api/routes/utils/index.html +6 -6
- package/coverage/lcov-report/src/api/routes/utils/{validators.js.html → validators.ts.html} +39 -51
- package/coverage/lcov-report/src/api/routes/{view.js.html → view.ts.html} +33 -24
- package/coverage/lcov-report/src/api/routes/webhook.ts.html +3 -3
- package/coverage/lcov-report/src/app.ts.html +9 -12
- package/coverage/lcov-report/src/automations/actions.js.html +1 -1
- package/coverage/lcov-report/src/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/src/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/src/automations/index.html +10 -10
- package/coverage/lcov-report/src/automations/index.js.html +1 -1
- package/coverage/lcov-report/src/automations/logging/index.html +1 -1
- package/coverage/lcov-report/src/automations/logging/index.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/createRow.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/index.html +1 -1
- package/coverage/lcov-report/src/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/loop.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/src/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
- package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/src/automations/triggers.js.html +11 -14
- package/coverage/lcov-report/src/automations/utils.ts.html +1 -1
- package/coverage/lcov-report/src/constants/index.html +5 -5
- package/coverage/lcov-report/src/constants/index.js.html +7 -13
- package/coverage/lcov-report/src/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/src/constants/screens.js.html +3 -3
- package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +2023 -0
- package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +541 -0
- package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +427 -0
- package/coverage/lcov-report/src/db/defaultData/index.html +176 -0
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +403 -0
- package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +559 -0
- package/coverage/lcov-report/src/db/dynamoClient.js.html +1 -1
- package/coverage/lcov-report/src/db/inMemoryView.js.html +4 -4
- package/coverage/lcov-report/src/db/index.html +1 -1
- package/coverage/lcov-report/src/db/index.js.html +1 -1
- package/coverage/lcov-report/src/db/linkedRows/LinkController.js.html +13 -151
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +226 -0
- package/coverage/lcov-report/src/db/linkedRows/index.html +28 -13
- package/coverage/lcov-report/src/db/linkedRows/index.js.html +3 -3
- package/coverage/lcov-report/src/db/linkedRows/linkUtils.js.html +4 -4
- package/coverage/lcov-report/src/db/newid.js.html +1 -1
- package/coverage/lcov-report/src/db/utils.ts.html +3 -3
- package/coverage/lcov-report/src/definitions/automations.ts.html +1 -1
- package/coverage/lcov-report/src/definitions/datasource.ts.html +1 -1
- package/coverage/lcov-report/src/definitions/index.html +1 -1
- package/coverage/lcov-report/src/environment.js.html +1 -1
- package/coverage/lcov-report/src/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/src/events/index.html +1 -1
- package/coverage/lcov-report/src/events/index.js.html +1 -1
- package/coverage/lcov-report/src/events/utils.js.html +1 -1
- package/coverage/lcov-report/src/index.html +17 -32
- package/coverage/lcov-report/src/index.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/airtable.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/arangodb.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/base/index.html +1 -1
- package/coverage/lcov-report/src/integrations/base/query.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/base/sql.ts.html +2 -2
- package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +2 -2
- package/coverage/lcov-report/src/integrations/base/utils.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/couchdb.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/dynamodb.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/firebase.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/googlesheets.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/index.html +4 -4
- package/coverage/lcov-report/src/integrations/index.ts.html +58 -46
- package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/mongodb.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/mysql.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/oracle.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/postgres.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
- package/coverage/lcov-report/src/integrations/queries/sql.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/redis.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/rest.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/s3.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/snowflake.ts.html +1 -1
- package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/src/integrations/utils.ts.html +1 -1
- package/coverage/lcov-report/src/middleware/appInfo.ts.html +1 -1
- package/coverage/lcov-report/src/middleware/authorized.ts.html +30 -51
- package/coverage/lcov-report/src/middleware/builder.ts.html +1 -1
- package/coverage/lcov-report/src/middleware/currentapp.ts.html +1 -1
- package/coverage/lcov-report/src/middleware/index.html +10 -10
- package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
- package/coverage/lcov-report/src/middleware/publicApi.ts.html +1 -1
- package/coverage/lcov-report/src/middleware/resourceId.ts.html +1 -1
- package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
- package/coverage/lcov-report/src/middleware/utils.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +3 -3
- package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +9 -9
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +7 -10
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -10
- package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
- package/coverage/lcov-report/src/migrations/index.html +1 -1
- package/coverage/lcov-report/src/migrations/index.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/tests/index.html +1 -1
- package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
- package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +16 -10
- package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +9 -21
- package/coverage/lcov-report/src/sdk/app/backups/index.html +16 -16
- package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/tables/index.html +5 -5
- package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +4 -4
- package/coverage/lcov-report/src/sdk/index.html +1 -1
- package/coverage/lcov-report/src/sdk/index.ts.html +1 -1
- package/coverage/lcov-report/src/startup.ts.html +3 -3
- package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +61 -49
- package/coverage/lcov-report/src/tests/utilities/controllers.js.html +1 -1
- package/coverage/lcov-report/src/tests/utilities/index.html +15 -15
- package/coverage/lcov-report/src/tests/utilities/index.js.html +1 -1
- package/coverage/lcov-report/src/tests/utilities/structures.js.html +9 -12
- package/coverage/lcov-report/src/threads/automation.ts.html +20 -23
- package/coverage/lcov-report/src/threads/index.html +24 -24
- package/coverage/lcov-report/src/threads/index.ts.html +1 -1
- package/coverage/lcov-report/src/threads/query.ts.html +18 -33
- package/coverage/lcov-report/src/threads/utils.ts.html +10 -13
- package/coverage/lcov-report/src/utilities/{budibaseDir.js.html → budibaseDir.ts.html} +5 -5
- package/coverage/lcov-report/src/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/src/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +13 -13
- package/coverage/lcov-report/src/utilities/fileSystem/index.html +5 -20
- package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +15 -15
- package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +1 -1
- package/coverage/lcov-report/src/utilities/global.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/index.html +44 -44
- package/coverage/lcov-report/src/utilities/{index.js.html → index.ts.html} +70 -46
- package/coverage/lcov-report/src/utilities/plugins.js.html +1 -1
- package/coverage/lcov-report/src/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/src/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/src/utilities/{redis.js.html → redis.ts.html} +36 -33
- package/coverage/lcov-report/src/utilities/routing/index.html +6 -6
- package/coverage/lcov-report/src/utilities/routing/index.ts.html +181 -0
- package/coverage/lcov-report/src/utilities/rowProcessor/index.html +38 -23
- package/coverage/lcov-report/src/utilities/rowProcessor/{index.js.html → index.ts.html} +106 -337
- package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +370 -0
- package/coverage/lcov-report/src/utilities/rowProcessor/{utils.js.html → utils.ts.html} +43 -31
- package/coverage/lcov-report/src/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/src/utilities/{security.js.html → security.ts.html} +49 -67
- package/coverage/lcov-report/src/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/src/utilities/usageQuota/index.html +18 -18
- package/coverage/lcov-report/src/utilities/usageQuota/{rows.js.html → rows.ts.html} +27 -39
- package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/src/utilities/{users.js.html → users.ts.html} +22 -28
- package/coverage/lcov-report/src/utilities/{workerRequests.js.html → workerRequests.ts.html} +69 -54
- package/coverage/lcov-report/src/watch.ts.html +8 -11
- package/coverage/lcov-report/src/websocket.ts.html +1 -1
- package/coverage/lcov.info +6619 -6700
- package/dist/api/controllers/apikeys.js +12 -9
- package/dist/api/controllers/application.js +13 -2
- package/dist/api/controllers/automation.js +104 -84
- package/dist/api/controllers/cloud.js +84 -71
- package/dist/api/controllers/component.js +4 -2
- package/dist/api/controllers/datasource.js +144 -92
- package/dist/api/controllers/deploy/Deployment.js +10 -6
- package/dist/api/controllers/layout.js +18 -15
- package/dist/api/controllers/metadata.js +51 -37
- package/dist/api/controllers/permission.js +52 -43
- package/dist/api/controllers/plugin/index.js +6 -7
- package/dist/api/controllers/public/tables.js +29 -9
- package/dist/api/controllers/query/import/index.js +1 -2
- package/dist/api/controllers/query/validation.js +41 -33
- package/dist/api/controllers/role.js +29 -27
- package/dist/api/controllers/routing.js +71 -58
- package/dist/api/controllers/row/ExternalRequest.js +6 -7
- package/dist/api/controllers/row/external.js +3 -3
- package/dist/api/controllers/row/internal.js +11 -12
- package/dist/api/controllers/row/internalSearch.js +95 -80
- package/dist/api/controllers/row/staticFormula.js +85 -75
- package/dist/api/controllers/row/utils.js +118 -84
- package/dist/api/controllers/screen.js +81 -66
- package/dist/api/controllers/script.js +13 -6
- package/dist/api/controllers/static/index.js +9 -11
- package/dist/api/controllers/table/bulkFormula.js +47 -35
- package/dist/api/controllers/table/external.js +67 -54
- package/dist/api/controllers/table/index.js +66 -33
- package/dist/api/controllers/table/internal.js +1 -2
- package/dist/api/controllers/table/utils.js +39 -35
- package/dist/api/controllers/templates.js +17 -10
- package/dist/api/controllers/user.js +82 -70
- package/dist/api/controllers/view/exporters.js +8 -4
- package/dist/api/controllers/view/index.js +201 -153
- package/dist/api/controllers/view/utils.js +151 -121
- package/dist/api/index.js +38 -34
- package/dist/api/routes/analytics.js +29 -3
- package/dist/api/routes/apikeys.js +33 -7
- package/dist/api/routes/application.js +8 -9
- package/dist/api/routes/auth.js +1 -2
- package/dist/api/routes/automation.js +46 -20
- package/dist/api/routes/backup.js +3 -4
- package/dist/api/routes/cloud.js +32 -6
- package/dist/api/routes/component.js +32 -6
- package/dist/api/routes/datasource.js +39 -13
- package/dist/api/routes/deploy.js +34 -8
- package/dist/api/routes/dev.js +36 -10
- package/dist/api/routes/integration.js +10 -7
- package/dist/api/routes/layout.js +33 -7
- package/dist/api/routes/metadata.js +36 -10
- package/dist/api/routes/migrations.js +32 -6
- package/dist/api/routes/permission.js +38 -12
- package/dist/api/routes/plugin.js +5 -5
- package/dist/api/routes/query.js +42 -15
- package/dist/api/routes/role.js +36 -10
- package/dist/api/routes/routing.js +32 -6
- package/dist/api/routes/row.js +2 -1
- package/dist/api/routes/screen.js +35 -9
- package/dist/api/routes/script.js +32 -6
- package/dist/api/routes/static.js +9 -9
- package/dist/api/routes/table.js +40 -13
- package/dist/api/routes/templates.js +33 -7
- package/dist/api/routes/tests/utilities/TestFunctions.js +6 -8
- package/dist/api/routes/user.js +40 -13
- package/dist/api/routes/utils/validators.js +142 -126
- package/dist/api/routes/view.js +38 -12
- package/dist/api/routes/webhook.js +1 -2
- package/dist/app.js +3 -4
- package/dist/automations/triggers.js +5 -6
- package/dist/constants/index.js +3 -5
- package/dist/constants/screens.js +2 -2
- package/dist/db/defaultData/datasource_bb_default.js +565 -0
- package/dist/db/defaultData/employeeImport.js +153 -0
- package/dist/db/defaultData/expensesImport.js +115 -0
- package/dist/db/defaultData/inventoryImport.js +107 -0
- package/dist/db/defaultData/jobsImport.js +150 -0
- package/dist/db/inMemoryView.js +3 -3
- package/dist/db/linkedRows/LinkController.js +4 -31
- package/dist/db/linkedRows/LinkDocument.js +32 -0
- package/dist/db/linkedRows/index.js +2 -2
- package/dist/db/linkedRows/linkUtils.js +3 -3
- package/dist/db/utils.js +1 -1
- package/dist/db/views/staticViews.js +4 -4
- package/dist/integrations/index.js +15 -6
- package/dist/middleware/authorized.js +22 -21
- package/dist/migrations/functions/appUrls.js +2 -2
- package/dist/migrations/functions/usageQuotas/syncApps.js +3 -4
- package/dist/migrations/functions/usageQuotas/syncRows.js +3 -4
- package/dist/migrations/functions/userEmailViewCasing.js +3 -3
- package/dist/package.json +6 -6
- package/dist/sdk/app/backups/exports.js +1 -2
- package/dist/sdk/app/backups/imports.js +2 -3
- package/dist/sdk/app/tables/index.js +1 -1
- package/dist/startup.js +4 -4
- package/dist/tests/utilities/TestConfiguration.js +27 -35
- package/dist/tests/utilities/structures.js +3 -4
- package/dist/threads/automation.js +15 -16
- package/dist/threads/query.js +17 -19
- package/dist/threads/utils.js +11 -9
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +4 -2
- package/dist/utilities/fileSystem/clientLibrary.js +12 -12
- package/dist/utilities/fileSystem/index.js +3 -3
- package/dist/utilities/index.js +102 -75
- package/dist/utilities/redis.js +100 -65
- package/dist/utilities/routing/index.js +27 -23
- package/dist/utilities/rowProcessor/index.js +124 -191
- package/dist/utilities/rowProcessor/map.js +96 -0
- package/dist/utilities/rowProcessor/utils.js +35 -26
- package/dist/utilities/security.js +39 -35
- package/dist/utilities/usageQuota/rows.js +56 -49
- package/dist/utilities/users.js +31 -28
- package/dist/utilities/workerRequests.js +115 -82
- package/dist/watch.js +1 -2
- package/package.json +7 -7
- package/scripts/exportAppTemplate.js +2 -2
- package/src/api/controllers/{apikeys.js → apikeys.ts} +10 -10
- package/src/api/controllers/application.ts +22 -3
- package/src/api/controllers/auth.ts +2 -2
- package/src/api/controllers/{automation.js → automation.ts} +48 -48
- package/src/api/controllers/{cloud.js → cloud.ts} +24 -24
- package/src/api/controllers/component.ts +2 -1
- package/src/api/controllers/{datasource.js → datasource.ts} +100 -47
- package/src/api/controllers/deploy/{Deployment.js → Deployment.ts} +13 -10
- package/src/api/controllers/{layout.js → layout.ts} +8 -8
- package/src/api/controllers/{metadata.js → metadata.ts} +11 -10
- package/src/api/controllers/{permission.js → permission.ts} +49 -46
- package/src/api/controllers/plugin/index.ts +4 -5
- package/src/api/controllers/public/tables.ts +2 -2
- package/src/api/controllers/query/import/index.ts +2 -3
- package/src/api/controllers/query/{validation.js → validation.ts} +7 -7
- package/src/api/controllers/{role.js → role.ts} +21 -25
- package/src/api/controllers/{routing.js → routing.ts} +37 -34
- package/src/api/controllers/row/ExternalRequest.ts +4 -8
- package/src/api/controllers/row/external.js +3 -3
- package/src/api/controllers/row/internal.js +11 -12
- package/src/api/controllers/row/{internalSearch.js → internalSearch.ts} +92 -68
- package/src/api/controllers/row/{staticFormula.js → staticFormula.ts} +28 -23
- package/src/api/controllers/row/{utils.js → utils.ts} +25 -18
- package/src/api/controllers/screen.ts +10 -6
- package/src/api/controllers/script.ts +12 -0
- package/src/api/controllers/static/index.ts +9 -13
- package/src/api/controllers/table/{bulkFormula.js → bulkFormula.ts} +39 -25
- package/src/api/controllers/table/{external.js → external.ts} +86 -51
- package/src/api/controllers/table/{index.js → index.ts} +17 -17
- package/src/api/controllers/table/internal.ts +1 -2
- package/src/api/controllers/table/utils.ts +26 -21
- package/src/api/controllers/{templates.js → templates.ts} +10 -7
- package/src/api/controllers/{user.js → user.ts} +47 -49
- package/src/api/controllers/view/{exporters.js → exporters.ts} +5 -3
- package/src/api/controllers/view/{index.js → index.ts} +36 -27
- package/src/api/controllers/view/{utils.js → utils.ts} +26 -20
- package/src/api/{index.js → index.ts} +15 -22
- package/src/api/routes/analytics.ts +9 -0
- package/src/api/routes/apikeys.ts +12 -0
- package/src/api/routes/application.ts +17 -9
- package/src/api/routes/auth.ts +2 -2
- package/src/api/routes/automation.ts +87 -0
- package/src/api/routes/backup.ts +8 -4
- package/src/api/routes/cloud.ts +18 -0
- package/src/api/routes/component.ts +14 -0
- package/src/api/routes/datasource.ts +60 -0
- package/src/api/routes/deploy.ts +21 -0
- package/src/api/routes/dev.ts +38 -0
- package/src/api/routes/integration.ts +16 -0
- package/src/api/routes/layout.ts +16 -0
- package/src/api/routes/{metadata.js → metadata.ts} +13 -13
- package/src/api/routes/migrations.ts +14 -0
- package/src/api/routes/permission.ts +41 -0
- package/src/api/routes/plugin.ts +14 -6
- package/src/api/routes/{query.js → query.ts} +17 -20
- package/src/api/routes/role.ts +24 -0
- package/src/api/routes/routing.ts +14 -0
- package/src/api/routes/row.ts +3 -5
- package/src/api/routes/screen.ts +23 -0
- package/src/api/routes/script.ts +10 -0
- package/src/api/routes/static.ts +4 -7
- package/src/api/routes/{table.js → table.ts} +9 -12
- package/src/api/routes/templates.ts +16 -0
- package/src/api/routes/tests/backup.spec.js +9 -1
- package/src/api/routes/tests/permissions.spec.js +2 -1
- package/src/api/routes/tests/role.spec.js +3 -5
- package/src/api/routes/tests/routing.spec.js +2 -1
- package/src/api/routes/tests/row.spec.js +3 -4
- package/src/api/routes/tests/user.spec.js +2 -1
- package/src/api/routes/tests/utilities/TestFunctions.ts +6 -8
- package/src/api/routes/{user.js → user.ts} +7 -9
- package/src/api/routes/utils/{validators.js → validators.ts} +33 -37
- package/src/api/routes/view.ts +34 -0
- package/src/api/routes/webhook.ts +2 -2
- package/src/app.ts +3 -4
- package/src/automations/triggers.js +5 -6
- package/src/constants/index.js +3 -5
- package/src/constants/screens.js +2 -2
- package/src/db/defaultData/datasource_bb_default.js +646 -0
- package/src/db/defaultData/employeeImport.js +152 -0
- package/src/db/defaultData/expensesImport.js +114 -0
- package/src/db/defaultData/inventoryImport.js +106 -0
- package/src/db/defaultData/jobsImport.js +158 -0
- package/src/db/inMemoryView.js +3 -3
- package/src/db/linkedRows/LinkController.js +4 -50
- package/src/db/linkedRows/LinkDocument.js +47 -0
- package/src/db/linkedRows/index.js +2 -2
- package/src/db/linkedRows/linkUtils.js +3 -3
- package/src/db/utils.ts +2 -2
- package/src/db/views/staticViews.js +4 -4
- package/src/integrations/base/sql.ts +1 -1
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/index.ts +45 -41
- package/src/middleware/authorized.ts +21 -28
- package/src/middleware/tests/authorized.spec.js +5 -6
- package/src/migrations/functions/appUrls.ts +2 -2
- package/src/migrations/functions/tests/appUrls.spec.js +4 -4
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +14 -9
- package/src/migrations/functions/usageQuotas/syncApps.ts +3 -4
- package/src/migrations/functions/usageQuotas/syncRows.ts +3 -4
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
- package/src/migrations/functions/userEmailViewCasing.ts +3 -3
- package/src/sdk/app/backups/exports.ts +5 -3
- package/src/sdk/app/backups/imports.ts +3 -7
- package/src/sdk/app/tables/index.ts +1 -1
- package/src/startup.ts +2 -2
- package/src/tests/utilities/TestConfiguration.js +39 -35
- package/src/tests/utilities/structures.js +3 -4
- package/src/threads/automation.ts +14 -15
- package/src/threads/query.ts +11 -16
- package/src/threads/utils.ts +4 -5
- package/src/utilities/budibaseDir.ts +3 -0
- package/src/utilities/fileSystem/clientLibrary.js +12 -12
- package/src/utilities/fileSystem/index.js +8 -8
- package/src/utilities/{index.js → index.ts} +40 -32
- package/src/utilities/{redis.js → redis.ts} +21 -20
- package/src/utilities/routing/index.ts +32 -0
- package/src/utilities/rowProcessor/{index.js → index.ts} +65 -142
- package/src/utilities/rowProcessor/map.js +95 -0
- package/src/utilities/rowProcessor/{utils.js → utils.ts} +19 -15
- package/src/utilities/security.ts +65 -0
- package/src/utilities/usageQuota/{rows.js → rows.ts} +14 -18
- package/src/utilities/{users.js → users.ts} +11 -13
- package/src/utilities/{workerRequests.js → workerRequests.ts} +43 -38
- package/src/watch.ts +2 -3
- package/coverage/lcov-report/src/api/routes/cloud.js.html +0 -127
- package/coverage/lcov-report/src/api/routes/integration.js.html +0 -121
- package/coverage/lcov-report/src/api/routes/role.js.html +0 -130
- package/coverage/lcov-report/src/module.d.ts.html +0 -127
- package/coverage/lcov-report/src/utilities/fileSystem/utilities.js.html +0 -193
- package/dist/utilities/fileSystem/utilities.js +0 -22
- package/src/api/controllers/script.js +0 -11
- package/src/api/routes/analytics.js +0 -9
- package/src/api/routes/apikeys.js +0 -12
- package/src/api/routes/automation.js +0 -85
- package/src/api/routes/cloud.js +0 -14
- package/src/api/routes/component.js +0 -14
- package/src/api/routes/datasource.js +0 -51
- package/src/api/routes/deploy.js +0 -17
- package/src/api/routes/dev.js +0 -26
- package/src/api/routes/integration.js +0 -12
- package/src/api/routes/layout.js +0 -16
- package/src/api/routes/migrations.js +0 -14
- package/src/api/routes/permission.js +0 -33
- package/src/api/routes/role.js +0 -15
- package/src/api/routes/routing.js +0 -14
- package/src/api/routes/screen.js +0 -18
- package/src/api/routes/script.js +0 -10
- package/src/api/routes/templates.js +0 -16
- package/src/api/routes/view.js +0 -31
- package/src/module.d.ts +0 -14
- package/src/utilities/budibaseDir.js +0 -3
- package/src/utilities/fileSystem/utilities.js +0 -36
- package/src/utilities/routing/index.js +0 -25
- package/src/utilities/security.js +0 -71
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src/api/controllers/layout.
|
|
6
|
+
<title>Code coverage report for src/api/controllers/layout.ts</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../../base.css" />
|
|
@@ -19,20 +19,20 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> layout.
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> layout.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">85.
|
|
26
|
+
<span class="strong">85.18% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>23/27</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">50% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>4
|
|
35
|
+
<span class='fraction'>2/4</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">85.
|
|
47
|
+
<span class="strong">85.18% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>23/27</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
<a name='L48'></a><a href='#L48'>48</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
114
114
|
<span class="cline-any cline-yes">44x</span>
|
|
115
115
|
<span class="cline-any cline-yes">44x</span>
|
|
116
|
-
<span class="cline-any cline-
|
|
116
|
+
<span class="cline-any cline-neutral"> </span>
|
|
117
117
|
<span class="cline-any cline-neutral"> </span>
|
|
118
118
|
<span class="cline-any cline-yes">44x</span>
|
|
119
119
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -157,13 +157,13 @@
|
|
|
157
157
|
<span class="cline-any cline-yes">1x</span>
|
|
158
158
|
<span class="cline-any cline-yes">1x</span>
|
|
159
159
|
<span class="cline-any cline-neutral"> </span>
|
|
160
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
160
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { EMPTY_LAYOUT } from "../../constants/layouts"
|
|
161
|
+
import { generateLayoutID, getScreenParams } from "../../db/utils"
|
|
162
|
+
import { events, context } from "@budibase/backend-core"
|
|
163
|
+
import { BBContext } from "@budibase/types"
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
const db = getAppDB()
|
|
165
|
+
export async function save(ctx: BBContext) {
|
|
166
|
+
const db = context.getAppDB()
|
|
167
167
|
let layout = ctx.request.body
|
|
168
168
|
|
|
169
169
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!layout.props) {
|
|
@@ -183,8 +183,8 @@ exports.save = async function (ctx) {
|
|
|
183
183
|
ctx.status = 200
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
|
|
187
|
-
const db = getAppDB()
|
|
186
|
+
export async function destroy(ctx: BBContext) {
|
|
187
|
+
const db = context.getAppDB()
|
|
188
188
|
const layoutId = ctx.params.layoutId,
|
|
189
189
|
layoutRev = ctx.params.layoutRev
|
|
190
190
|
|
|
@@ -194,7 +194,7 @@ exports.destroy = async function (ctx) {
|
|
|
194
194
|
include_docs: true,
|
|
195
195
|
})
|
|
196
196
|
)
|
|
197
|
-
).rows.map(<span class="fstat-no" title="function not covered" >
|
|
197
|
+
).rows.map(<span class="fstat-no" title="function not covered" >element </span>=> <span class="cstat-no" title="statement not covered" >element.doc.layoutId)</span>
|
|
198
198
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (layoutsUsedByScreens.includes(layoutId)) {
|
|
199
199
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete a layout that's being used by a screen")</span>
|
|
200
200
|
}
|
|
@@ -211,7 +211,7 @@ exports.destroy = async function (ctx) {
|
|
|
211
211
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
212
212
|
Code coverage generated by
|
|
213
213
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
214
|
-
at Mon Nov
|
|
214
|
+
at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
|
|
215
215
|
</div>
|
|
216
216
|
<script src="../../../prettify.js"></script>
|
|
217
217
|
<script>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src/api/controllers/metadata.
|
|
6
|
+
<title>Code coverage report for src/api/controllers/metadata.ts</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../../base.css" />
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> metadata.
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> metadata.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">33.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>1/3</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -104,11 +104,13 @@
|
|
|
104
104
|
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
105
|
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
106
|
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
108
109
|
<span class="cline-any cline-yes">44x</span>
|
|
109
110
|
<span class="cline-any cline-yes">44x</span>
|
|
110
111
|
<span class="cline-any cline-yes">44x</span>
|
|
111
112
|
<span class="cline-any cline-neutral"> </span>
|
|
113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
112
114
|
<span class="cline-any cline-yes">44x</span>
|
|
113
115
|
<span class="cline-any cline-no"> </span>
|
|
114
116
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -145,18 +147,19 @@
|
|
|
145
147
|
<span class="cline-any cline-neutral"> </span>
|
|
146
148
|
<span class="cline-any cline-neutral"> </span>
|
|
147
149
|
<span class="cline-any cline-neutral"> </span>
|
|
148
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
150
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { MetadataTypes } from "../../constants"
|
|
151
|
+
import { generateMetadataID } from "../../db/utils"
|
|
152
|
+
import { saveEntityMetadata, deleteEntityMetadata } from "../../utilities"
|
|
153
|
+
import { context } from "@budibase/backend-core"
|
|
154
|
+
import { BBContext } from "@budibase/types"
|
|
152
155
|
|
|
153
|
-
|
|
156
|
+
export async function <span class="fstat-no" title="function not covered" >getTypes(</span>ctx: BBContext) {
|
|
154
157
|
<span class="cstat-no" title="statement not covered" > ctx.body = {</span>
|
|
155
158
|
types: MetadataTypes,
|
|
156
159
|
}
|
|
157
160
|
}
|
|
158
161
|
|
|
159
|
-
|
|
162
|
+
export async function saveMetadata(ctx: BBContext) {
|
|
160
163
|
const { type, entityId } = ctx.params
|
|
161
164
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (type === MetadataTypes.AUTOMATION_TEST_HISTORY) {
|
|
162
165
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot save automation history type")</span>
|
|
@@ -164,7 +167,7 @@ exports.saveMetadata = async ctx => {
|
|
|
164
167
|
ctx.body = await saveEntityMetadata(type, entityId, ctx.request.body)
|
|
165
168
|
}
|
|
166
169
|
|
|
167
|
-
|
|
170
|
+
export async function deleteMetadata(ctx: BBContext) {
|
|
168
171
|
const { type, entityId } = ctx.params
|
|
169
172
|
await deleteEntityMetadata(type, entityId)
|
|
170
173
|
ctx.body = {
|
|
@@ -172,13 +175,13 @@ exports.deleteMetadata = async ctx => {
|
|
|
172
175
|
}
|
|
173
176
|
}
|
|
174
177
|
|
|
175
|
-
|
|
178
|
+
export async function getMetadata(ctx: BBContext) {
|
|
176
179
|
const { type, entityId } = ctx.params
|
|
177
|
-
const db = getAppDB()
|
|
180
|
+
const db = context.getAppDB()
|
|
178
181
|
const id = generateMetadataID(type, entityId)
|
|
179
182
|
try {
|
|
180
183
|
ctx.body = await db.get(id)
|
|
181
|
-
} catch (err) {
|
|
184
|
+
} catch (err: any) {
|
|
182
185
|
if (err.status === 404) {
|
|
183
186
|
ctx.body = {}
|
|
184
187
|
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
@@ -193,7 +196,7 @@ exports.getMetadata = async ctx => {
|
|
|
193
196
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
194
197
|
Code coverage generated by
|
|
195
198
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
196
|
-
at Mon Nov
|
|
199
|
+
at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
|
|
197
200
|
</div>
|
|
198
201
|
<script src="../../../prettify.js"></script>
|
|
199
202
|
<script>
|
|
@@ -109,7 +109,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
|
|
|
109
109
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
110
110
|
Code coverage generated by
|
|
111
111
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
112
|
-
at Mon Nov
|
|
112
|
+
at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
|
|
113
113
|
</div>
|
|
114
114
|
<script src="../../../prettify.js"></script>
|
|
115
115
|
<script>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src/api/controllers/permission.
|
|
6
|
+
<title>Code coverage report for src/api/controllers/permission.ts</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../../base.css" />
|
|
@@ -19,20 +19,20 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> permission.
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> permission.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">97.56% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>80/82</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">80.76% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>21/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">97.43% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>76/78</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -238,28 +238,29 @@
|
|
|
238
238
|
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
239
|
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
240
|
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a
|
|
242
|
-
<
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
245
|
+
<span class="cline-any cline-yes">44x</span>
|
|
246
|
+
<span class="cline-any cline-yes">44x</span>
|
|
243
247
|
<span class="cline-any cline-neutral"> </span>
|
|
244
248
|
<span class="cline-any cline-neutral"> </span>
|
|
245
249
|
<span class="cline-any cline-neutral"> </span>
|
|
250
|
+
<span class="cline-any cline-yes">44x</span>
|
|
246
251
|
<span class="cline-any cline-neutral"> </span>
|
|
247
252
|
<span class="cline-any cline-neutral"> </span>
|
|
248
253
|
<span class="cline-any cline-yes">44x</span>
|
|
249
|
-
<span class="cline-any cline-yes">44x</span>
|
|
250
254
|
<span class="cline-any cline-neutral"> </span>
|
|
251
255
|
<span class="cline-any cline-neutral"> </span>
|
|
252
256
|
<span class="cline-any cline-neutral"> </span>
|
|
253
|
-
<span class="cline-any cline-yes">44x</span>
|
|
254
|
-
<span class="cline-any cline-yes">44x</span>
|
|
255
|
-
<span class="cline-any cline-yes">44x</span>
|
|
256
257
|
<span class="cline-any cline-neutral"> </span>
|
|
257
258
|
<span class="cline-any cline-yes">44x</span>
|
|
258
259
|
<span class="cline-any cline-neutral"> </span>
|
|
259
260
|
<span class="cline-any cline-neutral"> </span>
|
|
260
261
|
<span class="cline-any cline-neutral"> </span>
|
|
262
|
+
<span class="cline-any cline-yes">12x</span>
|
|
261
263
|
<span class="cline-any cline-neutral"> </span>
|
|
262
|
-
<span class="cline-any cline-yes">44x</span>
|
|
263
264
|
<span class="cline-any cline-neutral"> </span>
|
|
264
265
|
<span class="cline-any cline-neutral"> </span>
|
|
265
266
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -268,7 +269,6 @@
|
|
|
268
269
|
<span class="cline-any cline-neutral"> </span>
|
|
269
270
|
<span class="cline-any cline-neutral"> </span>
|
|
270
271
|
<span class="cline-any cline-neutral"> </span>
|
|
271
|
-
<span class="cline-any cline-yes">12x</span>
|
|
272
272
|
<span class="cline-any cline-neutral"> </span>
|
|
273
273
|
<span class="cline-any cline-neutral"> </span>
|
|
274
274
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -357,6 +357,9 @@
|
|
|
357
357
|
<span class="cline-any cline-neutral"> </span>
|
|
358
358
|
<span class="cline-any cline-yes">2x</span>
|
|
359
359
|
<span class="cline-any cline-yes">2x</span>
|
|
360
|
+
<span class="cline-any cline-no"> </span>
|
|
361
|
+
<span class="cline-any cline-neutral"> </span>
|
|
362
|
+
<span class="cline-any cline-yes">2x</span>
|
|
360
363
|
<span class="cline-any cline-yes">2x</span>
|
|
361
364
|
<span class="cline-any cline-yes">2x</span>
|
|
362
365
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -386,6 +389,9 @@
|
|
|
386
389
|
<span class="cline-any cline-neutral"> </span>
|
|
387
390
|
<span class="cline-any cline-yes">9x</span>
|
|
388
391
|
<span class="cline-any cline-yes">12x</span>
|
|
392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
389
395
|
<span class="cline-any cline-yes">12x</span>
|
|
390
396
|
<span class="cline-any cline-neutral"> </span>
|
|
391
397
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -413,21 +419,14 @@
|
|
|
413
419
|
<span class="cline-any cline-neutral"> </span>
|
|
414
420
|
<span class="cline-any cline-neutral"> </span>
|
|
415
421
|
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
getDBRoleID,
|
|
420
|
-
getExternalRoleID,
|
|
421
|
-
getBuiltinRoles,
|
|
422
|
-
checkForRoleResourceArray,
|
|
423
|
-
} = require("@budibase/backend-core/roles")
|
|
424
|
-
const { getRoleParams } = require("../../db/utils")
|
|
425
|
-
const {
|
|
422
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { permissions, roles, context } from "@budibase/backend-core"
|
|
423
|
+
import { getRoleParams } from "../../db/utils"
|
|
424
|
+
import {
|
|
426
425
|
CURRENTLY_SUPPORTED_LEVELS,
|
|
427
426
|
getBasePermissions,
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
|
|
427
|
+
} from "../../utilities/security"
|
|
428
|
+
import { removeFromArray } from "../../utilities"
|
|
429
|
+
import { BBContext, Database, Role } from "@budibase/types"
|
|
431
430
|
|
|
432
431
|
const PermissionUpdateType = {
|
|
433
432
|
REMOVE: "remove",
|
|
@@ -437,7 +436,7 @@ const PermissionUpdateType = {
|
|
|
437
436
|
const SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
|
|
438
437
|
|
|
439
438
|
// utility function to stop this repetition - permissions always stored under roles
|
|
440
|
-
async function getAllDBRoles(db) {
|
|
439
|
+
async function getAllDBRoles(db: Database) {
|
|
441
440
|
const body = await db.allDocs(
|
|
442
441
|
getRoleParams(null, {
|
|
443
442
|
include_docs: true,
|
|
@@ -447,21 +446,25 @@ async function getAllDBRoles(db) {
|
|
|
447
446
|
}
|
|
448
447
|
|
|
449
448
|
async function updatePermissionOnRole(
|
|
450
|
-
appId,
|
|
451
|
-
{
|
|
452
|
-
|
|
449
|
+
appId: string,
|
|
450
|
+
{
|
|
451
|
+
roleId,
|
|
452
|
+
resourceId,
|
|
453
|
+
level,
|
|
454
|
+
}: { roleId: string; resourceId: string; level: string },
|
|
455
|
+
updateType: string
|
|
453
456
|
) {
|
|
454
|
-
const db = getAppDB()
|
|
457
|
+
const db = context.getAppDB()
|
|
455
458
|
const remove = updateType === PermissionUpdateType.REMOVE
|
|
456
|
-
const isABuiltin = isBuiltin(roleId)
|
|
457
|
-
const dbRoleId = getDBRoleID(roleId)
|
|
459
|
+
const isABuiltin = roles.isBuiltin(roleId)
|
|
460
|
+
const dbRoleId = roles.getDBRoleID(roleId)
|
|
458
461
|
const dbRoles = await getAllDBRoles(db)
|
|
459
462
|
const docUpdates = []
|
|
460
463
|
|
|
461
464
|
// the permission is for a built in, make sure it exists
|
|
462
465
|
if (isABuiltin && !dbRoles.some(role => role._id === dbRoleId)) {
|
|
463
|
-
const builtin = getBuiltinRoles()[roleId]
|
|
464
|
-
builtin._id = getDBRoleID(builtin._id)
|
|
466
|
+
const builtin = roles.getBuiltinRoles()[roleId]
|
|
467
|
+
builtin._id = roles.getDBRoleID(builtin._id)
|
|
465
468
|
dbRoles.push(builtin)
|
|
466
469
|
}
|
|
467
470
|
|
|
@@ -469,7 +472,7 @@ async function updatePermissionOnRole(
|
|
|
469
472
|
// resource from another role and then adding to the new role
|
|
470
473
|
for (let role of dbRoles) {
|
|
471
474
|
let updated = false
|
|
472
|
-
const rolePermissions = role.permissions ? role.permissions : {}
|
|
475
|
+
const rolePermissions = role.permissions ? role.permissions : <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
|
|
473
476
|
// make sure its an array, also handle migrating
|
|
474
477
|
if (
|
|
475
478
|
!rolePermissions[resourceId] ||
|
|
@@ -505,41 +508,44 @@ async function updatePermissionOnRole(
|
|
|
505
508
|
}
|
|
506
509
|
|
|
507
510
|
const response = await db.bulkDocs(docUpdates)
|
|
508
|
-
return response.map(resp => {
|
|
509
|
-
resp._id = getExternalRoleID(resp.id)
|
|
511
|
+
return response.map((resp: any) => {
|
|
512
|
+
resp._id = roles.getExternalRoleID(resp.id)
|
|
510
513
|
delete resp.id
|
|
511
514
|
return resp
|
|
512
515
|
})
|
|
513
516
|
}
|
|
514
517
|
|
|
515
|
-
|
|
516
|
-
ctx.body = Object.values(getBuiltinPermissions())
|
|
518
|
+
export function fetchBuiltin(ctx: BBContext) {
|
|
519
|
+
ctx.body = Object.values(permissions.getBuiltinPermissions())
|
|
517
520
|
}
|
|
518
521
|
|
|
519
|
-
|
|
522
|
+
export function fetchLevels(ctx: BBContext) {
|
|
520
523
|
// for now only provide the read/write perms externally
|
|
521
524
|
ctx.body = SUPPORTED_LEVELS
|
|
522
525
|
}
|
|
523
526
|
|
|
524
|
-
|
|
525
|
-
const db = getAppDB()
|
|
526
|
-
const
|
|
527
|
-
let permissions = {}
|
|
527
|
+
export async function fetch(ctx: BBContext) {
|
|
528
|
+
const db = context.getAppDB()
|
|
529
|
+
const dbRoles: Role[] = await getAllDBRoles(db)
|
|
530
|
+
let permissions: any = {}
|
|
528
531
|
// create an object with structure role ID -> resource ID -> level
|
|
529
|
-
for (let role of
|
|
532
|
+
for (let role of dbRoles) {
|
|
530
533
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!role.permissions) {
|
|
531
534
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
532
535
|
}
|
|
533
|
-
const roleId = getExternalRoleID(role._id)
|
|
536
|
+
const roleId = roles.getExternalRoleID(role._id)
|
|
537
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!roleId) {
|
|
538
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Unable to retrieve role")</span>
|
|
539
|
+
}
|
|
534
540
|
for (let [resource, levelArr] of Object.entries(role.permissions)) {
|
|
535
|
-
const levels = Array.isArray(levelArr) ?
|
|
536
|
-
const perms = {}
|
|
537
|
-
levels.forEach(level => (perms[level] = roleId))
|
|
541
|
+
const levels: string[] = Array.isArray(levelArr) ? levelArr : <span class="branch-1 cbranch-no" title="branch not covered" >[levelArr]</span>
|
|
542
|
+
const perms: Record<string, string> = {}
|
|
543
|
+
levels.forEach(level => (perms[level] = roleId!))
|
|
538
544
|
permissions[resource] = perms
|
|
539
545
|
}
|
|
540
546
|
}
|
|
541
547
|
// apply the base permissions
|
|
542
|
-
const finalPermissions = {}
|
|
548
|
+
const finalPermissions: Record<string, Record<string, string>> = {}
|
|
543
549
|
for (let [resource, permission] of Object.entries(permissions)) {
|
|
544
550
|
const basePerms = getBasePermissions(resource)
|
|
545
551
|
finalPermissions[resource] = Object.assign(basePerms, permission)
|
|
@@ -547,33 +553,36 @@ exports.fetch = async function (ctx) {
|
|
|
547
553
|
ctx.body = finalPermissions
|
|
548
554
|
}
|
|
549
555
|
|
|
550
|
-
|
|
556
|
+
export async function getResourcePerms(ctx: BBContext) {
|
|
551
557
|
const resourceId = ctx.params.resourceId
|
|
552
|
-
const db = getAppDB()
|
|
558
|
+
const db = context.getAppDB()
|
|
553
559
|
const body = await db.allDocs(
|
|
554
560
|
getRoleParams(null, {
|
|
555
561
|
include_docs: true,
|
|
556
562
|
})
|
|
557
563
|
)
|
|
558
|
-
const
|
|
559
|
-
let permissions = {}
|
|
564
|
+
const rolesList = body.rows.map(row => row.doc)
|
|
565
|
+
let permissions: Record<string, string> = {}
|
|
560
566
|
for (let level of SUPPORTED_LEVELS) {
|
|
561
567
|
// update the various roleIds in the resource permissions
|
|
562
|
-
for (let role of
|
|
563
|
-
const rolePerms = checkForRoleResourceArray(
|
|
568
|
+
for (let role of rolesList) {
|
|
569
|
+
const rolePerms = roles.checkForRoleResourceArray(
|
|
570
|
+
role.permissions,
|
|
571
|
+
resourceId
|
|
572
|
+
)
|
|
564
573
|
if (
|
|
565
574
|
rolePerms &&
|
|
566
575
|
rolePerms[resourceId] &&
|
|
567
576
|
rolePerms[resourceId].indexOf(level) !== -1
|
|
568
577
|
) {
|
|
569
|
-
permissions[level] = getExternalRoleID(role._id)
|
|
578
|
+
permissions[level] = roles.getExternalRoleID(role._id)!
|
|
570
579
|
}
|
|
571
580
|
}
|
|
572
581
|
}
|
|
573
582
|
ctx.body = Object.assign(getBasePermissions(resourceId), permissions)
|
|
574
583
|
}
|
|
575
584
|
|
|
576
|
-
|
|
585
|
+
export async function addPermission(ctx: BBContext) {
|
|
577
586
|
ctx.body = await updatePermissionOnRole(
|
|
578
587
|
ctx.appId,
|
|
579
588
|
ctx.params,
|
|
@@ -581,7 +590,7 @@ exports.addPermission = async function (ctx) {
|
|
|
581
590
|
)
|
|
582
591
|
}
|
|
583
592
|
|
|
584
|
-
|
|
593
|
+
export async function removePermission(ctx: BBContext) {
|
|
585
594
|
ctx.body = await updatePermissionOnRole(
|
|
586
595
|
ctx.appId,
|
|
587
596
|
ctx.params,
|
|
@@ -595,7 +604,7 @@ exports.removePermission = async function (ctx) {
|
|
|
595
604
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
596
605
|
Code coverage generated by
|
|
597
606
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
598
|
-
at Mon Nov
|
|
607
|
+
at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
|
|
599
608
|
</div>
|
|
600
609
|
<script src="../../../prettify.js"></script>
|
|
601
610
|
<script>
|
|
@@ -115,7 +115,7 @@ export async function <span class="fstat-no" title="function not covered" >fileU
|
|
|
115
115
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
116
116
|
Code coverage generated by
|
|
117
117
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
118
|
-
at Mon Nov
|
|
118
|
+
at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
|
|
119
119
|
</div>
|
|
120
120
|
<script src="../../../../prettify.js"></script>
|
|
121
121
|
<script>
|
|
@@ -295,7 +295,7 @@ export async function <span class="fstat-no" title="function not covered" >githu
|
|
|
295
295
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
296
296
|
Code coverage generated by
|
|
297
297
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
298
|
-
at Mon Nov
|
|
298
|
+
at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
|
|
299
299
|
</div>
|
|
300
300
|
<script src="../../../../prettify.js"></script>
|
|
301
301
|
<script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">26.
|
|
26
|
+
<span class="strong">26.54% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>43/162</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">25
|
|
47
|
+
<span class="strong">25% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>39/156</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -110,17 +110,17 @@
|
|
|
110
110
|
|
|
111
111
|
<tr>
|
|
112
112
|
<td class="file low" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
|
|
113
|
-
<td data-value="
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
113
|
+
<td data-value="26.08" class="pic low">
|
|
114
|
+
<div class="chart"><div class="cover-fill" style="width: 26%"></div><div class="cover-empty" style="width: 74%"></div></div>
|
|
115
115
|
</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
116
|
+
<td data-value="26.08" class="pct low">26.08%</td>
|
|
117
|
+
<td data-value="69" class="abs low">18/69</td>
|
|
118
118
|
<td data-value="1.58" class="pct low">1.58%</td>
|
|
119
119
|
<td data-value="63" class="abs low">1/63</td>
|
|
120
120
|
<td data-value="12.5" class="pct low">12.5%</td>
|
|
121
121
|
<td data-value="8" class="abs low">1/8</td>
|
|
122
|
-
<td data-value="
|
|
123
|
-
<td data-value="
|
|
122
|
+
<td data-value="26.86" class="pct low">26.86%</td>
|
|
123
|
+
<td data-value="67" class="abs low">18/67</td>
|
|
124
124
|
</tr>
|
|
125
125
|
|
|
126
126
|
<tr>
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
192
192
|
Code coverage generated by
|
|
193
193
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
194
|
-
at Mon Nov
|
|
194
|
+
at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
|
|
195
195
|
</div>
|
|
196
196
|
<script src="../../../../prettify.js"></script>
|
|
197
197
|
<script>
|