@budibase/server 2.1.22-alpha.6 → 2.1.22-alpha.8
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 +5 -1
- package/builder/assets/{index.5ec5f06c.js → index.dba40c82.js} +2 -2
- package/builder/index.html +1 -1
- package/coverage/clover.xml +1182 -1209
- package/coverage/coverage-final.json +35 -35
- package/coverage/lcov-report/index.html +94 -94
- package/coverage/lcov-report/src/api/controllers/analytics.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/application.ts.html +45 -60
- package/coverage/lcov-report/src/api/controllers/auth.ts.html +7 -4
- package/coverage/lcov-report/src/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/backup.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/component.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/deploy/Deployment.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/deploy/index.html +10 -10
- package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +19 -55
- package/coverage/lcov-report/src/api/controllers/{dev.js.html → dev.ts.html} +46 -64
- package/coverage/lcov-report/src/api/controllers/index.html +25 -25
- package/coverage/lcov-report/src/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/permission.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +1 -1
- 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 +37 -19
- package/coverage/lcov-report/src/api/controllers/public/index.html +16 -16
- 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 +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +1 -1
- 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 +10 -10
- package/coverage/lcov-report/src/api/controllers/query/index.ts.html +17 -26
- package/coverage/lcov-report/src/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/internal.js.html +3 -3
- package/coverage/lcov-report/src/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/screen.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/static/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/static/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/table/bulkFormula.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/src/api/controllers/view/utils.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/api/index.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/application.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/auth.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/automation.js.html +5 -5
- package/coverage/lcov-report/src/api/routes/backup.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/datasource.js.html +6 -6
- package/coverage/lcov-report/src/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/plugin.ts.html +1 -1
- 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 +11 -11
- 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 +6 -6
- package/coverage/lcov-report/src/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/row.ts.html +13 -13
- package/coverage/lcov-report/src/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/static.ts.html +6 -6
- package/coverage/lcov-report/src/api/routes/table.js.html +4 -4
- package/coverage/lcov-report/src/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +1 -1
- package/coverage/lcov-report/src/api/routes/user.js.html +11 -11
- package/coverage/lcov-report/src/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/utils/validators.js.html +6 -6
- package/coverage/lcov-report/src/api/routes/view.js.html +4 -4
- package/coverage/lcov-report/src/api/routes/webhook.ts.html +1 -1
- package/coverage/lcov-report/src/app.ts.html +1 -1
- 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 +15 -15
- 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 +17 -17
- package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +33 -15
- 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 +1 -1
- package/coverage/lcov-report/src/automations/utils.ts.html +20 -29
- package/coverage/lcov-report/src/constants/index.html +1 -1
- package/coverage/lcov-report/src/constants/index.js.html +1 -1
- package/coverage/lcov-report/src/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/src/constants/screens.js.html +1 -1
- package/coverage/lcov-report/src/db/dynamoClient.js.html +1 -1
- package/coverage/lcov-report/src/db/inMemoryView.js.html +3 -3
- package/coverage/lcov-report/src/db/index.html +16 -16
- package/coverage/lcov-report/src/db/index.js.html +9 -9
- package/coverage/lcov-report/src/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/src/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/src/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/src/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/src/db/newid.js.html +1 -1
- package/coverage/lcov-report/src/db/{utils.js.html → utils.ts.html} +97 -145
- 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 +4 -4
- 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 +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +1 -1
- 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 +10 -19
- package/coverage/lcov-report/src/integrations/index.html +11 -11
- package/coverage/lcov-report/src/integrations/index.ts.html +1 -1
- 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.js.html → appInfo.ts.html} +24 -21
- package/coverage/lcov-report/src/middleware/authorized.ts.html +7 -7
- package/coverage/lcov-report/src/middleware/{builder.js.html → builder.ts.html} +36 -30
- package/coverage/lcov-report/src/middleware/{currentapp.js.html → currentapp.ts.html} +70 -61
- package/coverage/lcov-report/src/middleware/index.html +55 -55
- package/coverage/lcov-report/src/middleware/{joi-validator.js.html → joi-validator.ts.html} +18 -15
- package/coverage/lcov-report/src/middleware/{publicApi.js.html → publicApi.ts.html} +17 -17
- package/coverage/lcov-report/src/middleware/{resourceId.js.html → resourceId.ts.html} +33 -18
- package/coverage/lcov-report/src/middleware/{selfhost.js.html → selfhost.ts.html} +18 -12
- package/coverage/lcov-report/src/middleware/{utils.js.html → utils.ts.html} +12 -6
- package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +1 -1
- 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 +4 -4
- 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 +6 -15
- 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 +1 -1
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +1 -1
- 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/module.d.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 +1 -1
- package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +7 -16
- package/coverage/lcov-report/src/sdk/app/backups/index.html +1 -1
- package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +12 -39
- package/coverage/lcov-report/src/sdk/app/tables/index.html +1 -1
- package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +8 -11
- 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 +1 -1
- package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +24 -24
- package/coverage/lcov-report/src/tests/utilities/controllers.js.html +1 -1
- package/coverage/lcov-report/src/tests/utilities/index.html +19 -19
- package/coverage/lcov-report/src/tests/utilities/index.js.html +1 -1
- package/coverage/lcov-report/src/tests/utilities/structures.js.html +3 -3
- package/coverage/lcov-report/src/threads/automation.ts.html +2 -2
- package/coverage/lcov-report/src/threads/index.html +1 -1
- package/coverage/lcov-report/src/threads/index.ts.html +1 -1
- package/coverage/lcov-report/src/threads/query.ts.html +1 -1
- package/coverage/lcov-report/src/threads/utils.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/budibaseDir.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/utilities/fileSystem/index.html +1 -1
- package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +1 -1
- package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +1 -1
- package/coverage/lcov-report/src/utilities/fileSystem/utilities.js.html +1 -1
- package/coverage/lcov-report/src/utilities/{global.js.html → global.ts.html} +100 -67
- package/coverage/lcov-report/src/utilities/index.html +16 -16
- package/coverage/lcov-report/src/utilities/index.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/src/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/src/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/src/utilities/rowProcessor/index.js.html +1 -1
- package/coverage/lcov-report/src/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/src/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/src/utilities/security.js.html +13 -13
- package/coverage/lcov-report/src/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/src/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/src/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/src/utilities/users.js.html +1 -1
- package/coverage/lcov-report/src/utilities/workerRequests.js.html +4 -4
- package/coverage/lcov-report/src/watch.ts.html +1 -1
- package/coverage/lcov-report/src/websocket.ts.html +1 -1
- package/coverage/lcov.info +2052 -2049
- package/dist/api/controllers/application.js +35 -43
- package/dist/api/controllers/deploy/index.js +13 -16
- package/dist/api/controllers/dev.js +96 -81
- package/dist/api/controllers/public/applications.js +17 -9
- package/dist/api/controllers/query/index.js +10 -13
- package/dist/api/controllers/row/internal.js +2 -2
- package/dist/api/routes/automation.js +3 -3
- package/dist/api/routes/datasource.js +4 -4
- package/dist/api/routes/public/index.js +9 -9
- package/dist/api/routes/query.js +4 -4
- package/dist/api/routes/row.js +11 -11
- package/dist/api/routes/static.js +3 -3
- package/dist/api/routes/table.js +2 -2
- package/dist/api/routes/user.js +9 -9
- package/dist/api/routes/utils/validators.js +4 -4
- package/dist/api/routes/view.js +2 -2
- package/dist/automations/tests/utilities/index.js +21 -12
- package/dist/automations/utils.js +9 -8
- package/dist/db/inMemoryView.js +2 -2
- package/dist/db/utils.js +145 -118
- package/dist/integrations/googlesheets.js +4 -6
- package/dist/middleware/appInfo.js +14 -9
- package/dist/middleware/authorized.js +5 -5
- package/dist/middleware/builder.js +41 -40
- package/dist/middleware/currentapp.js +39 -37
- package/dist/middleware/joi-validator.js +17 -10
- package/dist/middleware/publicApi.js +5 -6
- package/dist/middleware/resourceId.js +16 -9
- package/dist/middleware/selfhost.js +5 -4
- package/dist/middleware/utils.js +5 -2
- package/dist/package.json +6 -6
- package/dist/sdk/app/tables/index.js +4 -4
- package/dist/tests/utilities/TestConfiguration.js +9 -9
- package/dist/tests/utilities/structures.js +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/global.js +87 -66
- package/dist/utilities/security.js +10 -10
- package/dist/utilities/workerRequests.js +3 -3
- package/jest.config.ts +1 -0
- package/package.json +7 -7
- package/src/api/controllers/application.ts +34 -39
- package/src/api/controllers/auth.ts +3 -2
- package/src/api/controllers/deploy/index.ts +13 -25
- package/src/api/controllers/{dev.js → dev.ts} +31 -37
- package/src/api/controllers/public/applications.ts +15 -9
- package/src/api/controllers/query/index.ts +11 -14
- package/src/api/controllers/row/internal.js +2 -2
- package/src/api/routes/automation.js +4 -4
- package/src/api/routes/datasource.js +5 -5
- package/src/api/routes/public/index.ts +10 -10
- package/src/api/routes/public/tests/compare.spec.js +1 -1
- package/src/api/routes/query.js +5 -5
- package/src/api/routes/row.ts +12 -12
- package/src/api/routes/static.ts +5 -5
- package/src/api/routes/table.js +3 -3
- package/src/api/routes/tests/analytics.spec.js +1 -1
- package/src/api/routes/tests/query.spec.js +15 -10
- package/src/api/routes/tests/role.spec.js +5 -5
- package/src/api/routes/tests/static.spec.js +2 -2
- package/src/api/routes/tests/table.spec.js +38 -35
- package/src/api/routes/user.js +10 -10
- package/src/api/routes/utils/validators.js +5 -5
- package/src/api/routes/view.js +3 -3
- package/src/automations/tests/updateRow.spec.js +0 -1
- package/src/automations/tests/utilities/index.js +10 -4
- package/src/automations/utils.ts +9 -12
- package/src/db/inMemoryView.js +2 -2
- package/src/db/tests/linkController.spec.js +73 -57
- package/src/db/tests/linkTests.spec.js +17 -14
- package/src/db/{utils.js → utils.ts} +76 -92
- package/src/integrations/googlesheets.ts +4 -7
- package/src/middleware/appInfo.ts +20 -0
- package/src/middleware/authorized.ts +6 -6
- package/src/middleware/{builder.js → builder.ts} +17 -15
- package/src/middleware/{currentapp.js → currentapp.ts} +42 -39
- package/src/middleware/{joi-validator.js → joi-validator.ts} +9 -8
- package/src/middleware/publicApi.ts +21 -0
- package/src/middleware/{resourceId.js → resourceId.ts} +16 -11
- package/src/middleware/{selfhost.js → selfhost.ts} +4 -2
- package/src/middleware/tests/authorized.spec.js +5 -5
- package/src/middleware/tests/currentapp.spec.js +118 -63
- package/src/middleware/{utils.js → utils.ts} +3 -1
- package/src/migrations/functions/backfill/app/tables.ts +2 -5
- package/src/sdk/app/backups/imports.ts +4 -7
- package/src/sdk/app/backups/statistics.ts +9 -18
- package/src/sdk/app/tables/index.ts +6 -7
- package/src/tests/utilities/TestConfiguration.js +9 -9
- package/src/tests/utilities/structures.js +2 -2
- package/src/threads/automation.ts +1 -1
- package/src/utilities/global.ts +138 -0
- package/src/utilities/security.js +12 -12
- package/src/utilities/workerRequests.js +3 -3
- package/src/middleware/appInfo.js +0 -19
- package/src/middleware/publicApi.js +0 -21
- package/src/utilities/global.js +0 -127
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">85.58% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>285/333</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">94.91% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>56/
|
|
42
|
+
<span class='fraction'>56/59</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">84.
|
|
47
|
+
<span class="strong">84.06% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>248/295</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -695,12 +695,7 @@
|
|
|
695
695
|
<a name='L630'></a><a href='#L630'>630</a>
|
|
696
696
|
<a name='L631'></a><a href='#L631'>631</a>
|
|
697
697
|
<a name='L632'></a><a href='#L632'>632</a>
|
|
698
|
-
<a name='L633'></a><a href='#L633'>633</a>
|
|
699
|
-
<a name='L634'></a><a href='#L634'>634</a>
|
|
700
|
-
<a name='L635'></a><a href='#L635'>635</a>
|
|
701
|
-
<a name='L636'></a><a href='#L636'>636</a>
|
|
702
|
-
<a name='L637'></a><a href='#L637'>637</a>
|
|
703
|
-
<a name='L638'></a><a href='#L638'>638</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
698
|
+
<a name='L633'></a><a href='#L633'>633</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
704
699
|
<span class="cline-any cline-yes">44x</span>
|
|
705
700
|
<span class="cline-any cline-yes">44x</span>
|
|
706
701
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -716,17 +711,16 @@
|
|
|
716
711
|
<span class="cline-any cline-neutral"> </span>
|
|
717
712
|
<span class="cline-any cline-neutral"> </span>
|
|
718
713
|
<span class="cline-any cline-neutral"> </span>
|
|
714
|
+
<span class="cline-any cline-yes">44x</span>
|
|
715
|
+
<span class="cline-any cline-neutral"> </span>
|
|
719
716
|
<span class="cline-any cline-neutral"> </span>
|
|
720
717
|
<span class="cline-any cline-neutral"> </span>
|
|
721
718
|
<span class="cline-any cline-neutral"> </span>
|
|
722
|
-
<span class="cline-any cline-yes">44x</span>
|
|
723
|
-
<span class="cline-any cline-yes">44x</span>
|
|
724
719
|
<span class="cline-any cline-neutral"> </span>
|
|
725
720
|
<span class="cline-any cline-neutral"> </span>
|
|
726
721
|
<span class="cline-any cline-neutral"> </span>
|
|
727
722
|
<span class="cline-any cline-neutral"> </span>
|
|
728
723
|
<span class="cline-any cline-neutral"> </span>
|
|
729
|
-
<span class="cline-any cline-yes">44x</span>
|
|
730
724
|
<span class="cline-any cline-yes">44x</span>
|
|
731
725
|
<span class="cline-any cline-yes">44x</span>
|
|
732
726
|
<span class="cline-any cline-yes">44x</span>
|
|
@@ -745,10 +739,6 @@
|
|
|
745
739
|
<span class="cline-any cline-yes">44x</span>
|
|
746
740
|
<span class="cline-any cline-yes">44x</span>
|
|
747
741
|
<span class="cline-any cline-yes">44x</span>
|
|
748
|
-
<span class="cline-any cline-yes">44x</span>
|
|
749
|
-
<span class="cline-any cline-yes">44x</span>
|
|
750
|
-
<span class="cline-any cline-yes">44x</span>
|
|
751
|
-
<span class="cline-any cline-yes">44x</span>
|
|
752
742
|
<span class="cline-any cline-neutral"> </span>
|
|
753
743
|
<span class="cline-any cline-yes">44x</span>
|
|
754
744
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1059,6 +1049,8 @@
|
|
|
1059
1049
|
<span class="cline-any cline-yes">3x</span>
|
|
1060
1050
|
<span class="cline-any cline-no"> </span>
|
|
1061
1051
|
<span class="cline-any cline-no"> </span>
|
|
1052
|
+
<span class="cline-any cline-no"> </span>
|
|
1053
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1062
1054
|
<span class="cline-any cline-neutral"> </span>
|
|
1063
1055
|
<span class="cline-any cline-no"> </span>
|
|
1064
1056
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1226,13 +1218,11 @@
|
|
|
1226
1218
|
<span class="cline-any cline-neutral"> </span>
|
|
1227
1219
|
<span class="cline-any cline-no"> </span>
|
|
1228
1220
|
<span class="cline-any cline-neutral"> </span>
|
|
1229
|
-
<span class="cline-any cline-no"> </span>
|
|
1230
1221
|
<span class="cline-any cline-neutral"> </span>
|
|
1231
1222
|
<span class="cline-any cline-no"> </span>
|
|
1232
1223
|
<span class="cline-any cline-no"> </span>
|
|
1233
1224
|
<span class="cline-any cline-no"> </span>
|
|
1234
1225
|
<span class="cline-any cline-neutral"> </span>
|
|
1235
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1236
1226
|
<span class="cline-any cline-no"> </span>
|
|
1237
1227
|
<span class="cline-any cline-no"> </span>
|
|
1238
1228
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1353,17 +1343,16 @@ import {
|
|
|
1353
1343
|
DocumentType,
|
|
1354
1344
|
AppStatus,
|
|
1355
1345
|
} from "../../db/utils"
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
} = require("@budibase/backend-core/db")
|
|
1346
|
+
import {
|
|
1347
|
+
db as dbCore,
|
|
1348
|
+
roles,
|
|
1349
|
+
cache,
|
|
1350
|
+
tenancy,
|
|
1351
|
+
context,
|
|
1352
|
+
errors,
|
|
1353
|
+
events,
|
|
1354
|
+
migrations,
|
|
1355
|
+
} from "@budibase/backend-core"
|
|
1367
1356
|
import { USERS_TABLE_SCHEMA } from "../../constants"
|
|
1368
1357
|
import { removeAppFromUserRoles } from "../../utilities/workerRequests"
|
|
1369
1358
|
import { clientLibraryPath, stringToReadStream } from "../../utilities"
|
|
@@ -1373,15 +1362,11 @@ import {
|
|
|
1373
1362
|
backupClientLibrary,
|
|
1374
1363
|
revertClientLibrary,
|
|
1375
1364
|
} from "../../utilities/fileSystem/clientLibrary"
|
|
1376
|
-
const { getTenantId, isMultiTenant } = require("@budibase/backend-core/tenancy")
|
|
1377
1365
|
import { syncGlobalUsers } from "./user"
|
|
1378
|
-
const { app: appCache } = require("@budibase/backend-core/cache")
|
|
1379
1366
|
import { cleanupAutomations } from "../../automations/utils"
|
|
1380
|
-
import { context } from "@budibase/backend-core"
|
|
1381
1367
|
import { checkAppMetadata } from "../../automations/logging"
|
|
1382
1368
|
import { getUniqueRows } from "../../utilities/usageQuota/rows"
|
|
1383
1369
|
import { quotas, groups } from "@budibase/pro"
|
|
1384
|
-
import { errors, events, migrations } from "@budibase/backend-core"
|
|
1385
1370
|
import { App, Layout, Screen, MigrationType } from "@budibase/types"
|
|
1386
1371
|
import { BASE_LAYOUT_PROP_IDS } from "../../constants/layouts"
|
|
1387
1372
|
import { enrichPluginURLs } from "../../utilities/plugins"
|
|
@@ -1414,7 +1399,7 @@ async function getScreens() {
|
|
|
1414
1399
|
|
|
1415
1400
|
function getUserRoleId(ctx: any) {
|
|
1416
1401
|
return !ctx.user.role || !ctx.user.role._id
|
|
1417
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >BUILTIN_ROLE_IDS.PUBLIC</span>
|
|
1402
|
+
? <span class="branch-0 cbranch-no" title="branch not covered" >roles.BUILTIN_ROLE_IDS.PUBLIC</span>
|
|
1418
1403
|
: ctx.user.role._id
|
|
1419
1404
|
}
|
|
1420
1405
|
|
|
@@ -1462,7 +1447,7 @@ const checkAppName = (
|
|
|
1462
1447
|
}
|
|
1463
1448
|
|
|
1464
1449
|
async function createInstance(template: any) {
|
|
1465
|
-
const tenantId = isMultiTenant() ? <span class="branch-0 cbranch-no" title="branch not covered" >getTenantId() </span>: null
|
|
1450
|
+
const tenantId = tenancy.isMultiTenant() ? <span class="branch-0 cbranch-no" title="branch not covered" >tenancy.getTenantId() </span>: null
|
|
1466
1451
|
const baseAppId = generateAppID(tenantId)
|
|
1467
1452
|
const appId = generateDevAppID(baseAppId)
|
|
1468
1453
|
await context.updateAppId(appId)
|
|
@@ -1501,7 +1486,7 @@ async function createInstance(template: any) {
|
|
|
1501
1486
|
export const fetch = async (ctx: any) => {
|
|
1502
1487
|
const dev = ctx.query && ctx.query.status === AppStatus.DEV
|
|
1503
1488
|
const all = ctx.query && ctx.query.status === AppStatus.ALL
|
|
1504
|
-
const apps = await getAllApps({ dev, all })
|
|
1489
|
+
const apps = (await dbCore.getAllApps({ dev, all })) as App[]
|
|
1505
1490
|
|
|
1506
1491
|
const appIds = apps
|
|
1507
1492
|
.filter((app: any) => app.status === "development")
|
|
@@ -1526,7 +1511,7 @@ export const fetch = async (ctx: any) => {
|
|
|
1526
1511
|
export const fetchAppDefinition = async (ctx: any) => {
|
|
1527
1512
|
const layouts = await getLayouts()
|
|
1528
1513
|
const userRoleId = getUserRoleId(ctx)
|
|
1529
|
-
const accessController = new AccessController()
|
|
1514
|
+
const accessController = new roles.AccessController()
|
|
1530
1515
|
const screens = await accessController.checkScreensAccess(
|
|
1531
1516
|
await getScreens(),
|
|
1532
1517
|
userRoleId
|
|
@@ -1550,7 +1535,7 @@ export const fetchAppPackage = async (ctx: any) => {
|
|
|
1550
1535
|
// Only filter screens if the user is not a builder
|
|
1551
1536
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!(ctx.user.builder && ctx.user.builder.global)) {
|
|
1552
1537
|
const userRoleId = <span class="cstat-no" title="statement not covered" >getUserRoleId(ctx)</span>
|
|
1553
|
-
const accessController = <span class="cstat-no" title="statement not covered" >new AccessController()</span>
|
|
1538
|
+
const accessController = <span class="cstat-no" title="statement not covered" >new roles.AccessController()</span>
|
|
1554
1539
|
<span class="cstat-no" title="statement not covered" > screens = await accessController.checkScreensAccess(screens, userRoleId)</span>
|
|
1555
1540
|
}
|
|
1556
1541
|
|
|
@@ -1563,7 +1548,7 @@ export const fetchAppPackage = async (ctx: any) => {
|
|
|
1563
1548
|
}
|
|
1564
1549
|
|
|
1565
1550
|
const performAppCreate = async (ctx: any) => {
|
|
1566
|
-
const apps = await getAllApps({ dev: true })
|
|
1551
|
+
const apps = await dbCore.getAllApps({ dev: true })
|
|
1567
1552
|
const name = ctx.request.body.name
|
|
1568
1553
|
checkAppName(ctx, apps, name)
|
|
1569
1554
|
const url = getAppUrl(ctx)
|
|
@@ -1593,7 +1578,7 @@ const performAppCreate = async (ctx: any) => {
|
|
|
1593
1578
|
url: url,
|
|
1594
1579
|
template: templateKey,
|
|
1595
1580
|
instance,
|
|
1596
|
-
tenantId: getTenantId(),
|
|
1581
|
+
tenantId: tenancy.getTenantId(),
|
|
1597
1582
|
updatedAt: new Date().toISOString(),
|
|
1598
1583
|
createdAt: new Date().toISOString(),
|
|
1599
1584
|
status: AppStatus.DEV,
|
|
@@ -1652,7 +1637,7 @@ const performAppCreate = async (ctx: any) => {
|
|
|
1652
1637
|
await createApp(appId)
|
|
1653
1638
|
}
|
|
1654
1639
|
|
|
1655
|
-
await
|
|
1640
|
+
await cache.app.invalidateAppMetadata(appId, newApplication)
|
|
1656
1641
|
return newApplication
|
|
1657
1642
|
}
|
|
1658
1643
|
|
|
@@ -1682,7 +1667,7 @@ const creationEvents = async (request: any, app: App) => {
|
|
|
1682
1667
|
}
|
|
1683
1668
|
|
|
1684
1669
|
const appPostCreate = async (ctx: any, app: App) => {
|
|
1685
|
-
const tenantId = getTenantId()
|
|
1670
|
+
const tenantId = tenancy.getTenantId()
|
|
1686
1671
|
await migrations.backPopulateMigrations({
|
|
1687
1672
|
type: MigrationType.APP,
|
|
1688
1673
|
tenantId,
|
|
@@ -1695,7 +1680,9 @@ const appPostCreate = async (ctx: any, app: App) => {
|
|
|
1695
1680
|
const rowCount = rows ? rows.length : <span class="branch-1 cbranch-no" title="branch not covered" >0</span>
|
|
1696
1681
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (rowCount) {
|
|
1697
1682
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1698
|
-
<span class="cstat-no" title="statement not covered" > await
|
|
1683
|
+
<span class="cstat-no" title="statement not covered" > await context.doInAppContext(app.appId, <span class="fstat-no" title="function not covered" >() =</span>> {</span>
|
|
1684
|
+
<span class="cstat-no" title="statement not covered" > return quotas.addRows(rowCount)</span>
|
|
1685
|
+
})
|
|
1699
1686
|
} catch (err: any) {
|
|
1700
1687
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (err.code && err.code === errors.codes.USAGE_LIMIT_EXCEEDED) {</span>
|
|
1701
1688
|
// this import resulted in row usage exceeding the quota
|
|
@@ -1713,7 +1700,7 @@ const appPostCreate = async (ctx: any, app: App) => {
|
|
|
1713
1700
|
export const create = async (ctx: any) => {
|
|
1714
1701
|
const newApplication = await quotas.addApp(() => performAppCreate(ctx))
|
|
1715
1702
|
await appPostCreate(ctx, newApplication)
|
|
1716
|
-
await bustCache(CacheKeys.CHECKLIST)
|
|
1703
|
+
await cache.bustCache(cache.CacheKeys.CHECKLIST)
|
|
1717
1704
|
ctx.body = newApplication
|
|
1718
1705
|
ctx.status = 200
|
|
1719
1706
|
}
|
|
@@ -1721,7 +1708,7 @@ export const create = async (ctx: any) => {
|
|
|
1721
1708
|
// This endpoint currently operates as a PATCH rather than a PUT
|
|
1722
1709
|
// Thus name and url fields are handled only if present
|
|
1723
1710
|
export const update = async (ctx: any) => {
|
|
1724
|
-
const apps = await getAllApps({ dev: true })
|
|
1711
|
+
const apps = await dbCore.getAllApps({ dev: true })
|
|
1725
1712
|
// validation
|
|
1726
1713
|
const name = ctx.request.body.name
|
|
1727
1714
|
if (name) {
|
|
@@ -1794,7 +1781,7 @@ const destroyApp = async (ctx: any) => {
|
|
|
1794
1781
|
let isUnpublish = ctx.query && ctx.query.unpublish
|
|
1795
1782
|
|
|
1796
1783
|
if (isUnpublish) {
|
|
1797
|
-
appId = getProdAppID(appId)
|
|
1784
|
+
appId = dbCore.getProdAppID(appId)
|
|
1798
1785
|
}
|
|
1799
1786
|
|
|
1800
1787
|
const db = isUnpublish ? context.getProdAppDB() : context.getAppDB()
|
|
@@ -1820,7 +1807,7 @@ const destroyApp = async (ctx: any) => {
|
|
|
1820
1807
|
else {
|
|
1821
1808
|
await removeAppFromUserRoles(ctx, appId)
|
|
1822
1809
|
}
|
|
1823
|
-
await
|
|
1810
|
+
await cache.app.invalidateAppMetadata(appId)
|
|
1824
1811
|
return result
|
|
1825
1812
|
}
|
|
1826
1813
|
|
|
@@ -1856,19 +1843,17 @@ export const sync = <span class="fstat-no" title="function not covered" >async (
|
|
|
1856
1843
|
}
|
|
1857
1844
|
|
|
1858
1845
|
const appId = <span class="cstat-no" title="statement not covered" >ctx.params.appId</span>
|
|
1859
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!isDevAppID(appId)) {</span>
|
|
1846
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!dbCore.isDevAppID(appId)) {</span>
|
|
1860
1847
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "This action cannot be performed for production apps")</span>
|
|
1861
1848
|
}
|
|
1862
1849
|
|
|
1863
1850
|
// replicate prod to dev
|
|
1864
|
-
const prodAppId = <span class="cstat-no" title="statement not covered" >getProdAppID(appId)</span>
|
|
1851
|
+
const prodAppId = <span class="cstat-no" title="statement not covered" >dbCore.getProdAppID(appId)</span>
|
|
1865
1852
|
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (info.error) <span class="cstat-no" title="statement not covered" >throw info.error</span></span>
|
|
1871
|
-
} catch (err) {
|
|
1853
|
+
// specific case, want to make sure setup is skipped
|
|
1854
|
+
const prodDb = <span class="cstat-no" title="statement not covered" >context.getProdAppDB({ skip_setup: true })</span>
|
|
1855
|
+
const exists = <span class="cstat-no" title="statement not covered" >await prodDb.exists()</span>
|
|
1856
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!exists) {</span>
|
|
1872
1857
|
// the database doesn't exist. Don't replicate
|
|
1873
1858
|
<span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
|
|
1874
1859
|
<span class="cstat-no" title="statement not covered" > ctx.body = {</span>
|
|
@@ -1877,7 +1862,7 @@ export const sync = <span class="fstat-no" title="function not covered" >async (
|
|
|
1877
1862
|
<span class="cstat-no" title="statement not covered" > return next()</span>
|
|
1878
1863
|
}
|
|
1879
1864
|
|
|
1880
|
-
const replication = <span class="cstat-no" title="statement not covered" >new Replication({</span>
|
|
1865
|
+
const replication = <span class="cstat-no" title="statement not covered" >new dbCore.Replication({</span>
|
|
1881
1866
|
source: prodAppId,
|
|
1882
1867
|
target: appId,
|
|
1883
1868
|
})
|
|
@@ -1918,7 +1903,7 @@ export const updateAppPackage = async (appPackage: any, appId: any) => {
|
|
|
1918
1903
|
|
|
1919
1904
|
await db.put(newAppPackage)
|
|
1920
1905
|
// remove any cached metadata, so that it will be updated
|
|
1921
|
-
await
|
|
1906
|
+
await cache.app.invalidateAppMetadata(appId)
|
|
1922
1907
|
return newAppPackage
|
|
1923
1908
|
})
|
|
1924
1909
|
}
|
|
@@ -1981,7 +1966,7 @@ const migrateAppNavigation = async () => {
|
|
|
1981
1966
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1982
1967
|
Code coverage generated by
|
|
1983
1968
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1984
|
-
at
|
|
1969
|
+
at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
|
|
1985
1970
|
</div>
|
|
1986
1971
|
<script src="../../../prettify.js"></script>
|
|
1987
1972
|
<script>
|
|
@@ -134,12 +134,14 @@
|
|
|
134
134
|
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
135
|
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
136
|
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
138
139
|
<span class="cline-any cline-yes">44x</span>
|
|
139
140
|
<span class="cline-any cline-yes">44x</span>
|
|
140
141
|
<span class="cline-any cline-yes">44x</span>
|
|
141
142
|
<span class="cline-any cline-yes">44x</span>
|
|
142
143
|
<span class="cline-any cline-neutral"> </span>
|
|
144
|
+
<span class="cline-any cline-neutral"> </span>
|
|
143
145
|
<span class="cline-any cline-yes">44x</span>
|
|
144
146
|
<span class="cline-any cline-neutral"> </span>
|
|
145
147
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -210,6 +212,7 @@ import { InternalTables } from "../../db/utils"
|
|
|
210
212
|
import { getFullUser } from "../../utilities/users"
|
|
211
213
|
import { roles, context } from "@budibase/backend-core"
|
|
212
214
|
import { groups } from "@budibase/pro"
|
|
215
|
+
import { ContextUser, User } from "@budibase/types"
|
|
213
216
|
|
|
214
217
|
const PUBLIC_ROLE = roles.BUILTIN_ROLE_IDS.PUBLIC
|
|
215
218
|
|
|
@@ -231,7 +234,7 @@ export async function fetchSelf(ctx: any) {
|
|
|
231
234
|
}
|
|
232
235
|
|
|
233
236
|
const appId = context.getAppId()
|
|
234
|
-
const user = await getFullUser(ctx, userId)
|
|
237
|
+
const user: ContextUser = await getFullUser(ctx, userId)
|
|
235
238
|
// this shouldn't be returned by the app self
|
|
236
239
|
delete user.roles
|
|
237
240
|
// forward the csrf token from the session
|
|
@@ -241,7 +244,7 @@ export async function fetchSelf(ctx: any) {
|
|
|
241
244
|
const db = context.getAppDB()
|
|
242
245
|
// check for group permissions
|
|
243
246
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!user.roleId || user.roleId === PUBLIC_ROLE) {
|
|
244
|
-
const groupRoleId = <span class="cstat-no" title="statement not covered" >await groups.getGroupRoleId(user, appId)</span>
|
|
247
|
+
const groupRoleId = <span class="cstat-no" title="statement not covered" >await groups.getGroupRoleId(user as User, appId)</span>
|
|
245
248
|
<span class="cstat-no" title="statement not covered" > user.roleId = groupRoleId || user.roleId</span>
|
|
246
249
|
}
|
|
247
250
|
// remove the full roles structure
|
|
@@ -283,7 +286,7 @@ export async function fetchSelf(ctx: any) {
|
|
|
283
286
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
284
287
|
Code coverage generated by
|
|
285
288
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
286
|
-
at
|
|
289
|
+
at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
|
|
287
290
|
</div>
|
|
288
291
|
<script src="../../../prettify.js"></script>
|
|
289
292
|
<script>
|
|
@@ -925,7 +925,7 @@ exports.test = async function (ctx) {
|
|
|
925
925
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
926
926
|
Code coverage generated by
|
|
927
927
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
928
|
-
at
|
|
928
|
+
at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
|
|
929
929
|
</div>
|
|
930
930
|
<script src="../../../prettify.js"></script>
|
|
931
931
|
<script>
|
|
@@ -133,7 +133,7 @@ export async function exportAppDump(ctx: any) {
|
|
|
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" rel="noopener noreferrer">istanbul</a>
|
|
136
|
-
at
|
|
136
|
+
at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
|
|
137
137
|
</div>
|
|
138
138
|
<script src="../../../prettify.js"></script>
|
|
139
139
|
<script>
|
|
@@ -412,7 +412,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
412
412
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
413
413
|
Code coverage generated by
|
|
414
414
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
415
|
-
at
|
|
415
|
+
at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
|
|
416
416
|
</div>
|
|
417
417
|
<script src="../../../prettify.js"></script>
|
|
418
418
|
<script>
|
|
@@ -241,7 +241,7 @@ exports.fetchAppComponentDefinitions = async function (ctx: any) {
|
|
|
241
241
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
242
242
|
Code coverage generated by
|
|
243
243
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
244
|
-
at
|
|
244
|
+
at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
|
|
245
245
|
</div>
|
|
246
246
|
<script src="../../../prettify.js"></script>
|
|
247
247
|
<script>
|
|
@@ -919,7 +919,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
|
|
|
919
919
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
920
920
|
Code coverage generated by
|
|
921
921
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
922
|
-
at
|
|
922
|
+
at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
|
|
923
923
|
</div>
|
|
924
924
|
<script src="../../../prettify.js"></script>
|
|
925
925
|
<script>
|
|
@@ -235,7 +235,7 @@ module.exports = Deployment
|
|
|
235
235
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
236
236
|
Code coverage generated by
|
|
237
237
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
238
|
-
at
|
|
238
|
+
at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
|
|
239
239
|
</div>
|
|
240
240
|
<script src="../../../../prettify.js"></script>
|
|
241
241
|
<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
|
+
<span class="strong">70.58% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>96/136</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">71.
|
|
47
|
+
<span class="strong">71.11% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>96/135</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -95,17 +95,17 @@
|
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
97
97
|
<td class="file medium" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
|
|
98
|
-
<td data-value="72.
|
|
98
|
+
<td data-value="72.17" class="pic medium">
|
|
99
99
|
<div class="chart"><div class="cover-fill" style="width: 72%"></div><div class="cover-empty" style="width: 28%"></div></div>
|
|
100
100
|
</td>
|
|
101
|
-
<td data-value="72.
|
|
102
|
-
<td data-value="
|
|
101
|
+
<td data-value="72.17" class="pct medium">72.17%</td>
|
|
102
|
+
<td data-value="115" class="abs medium">83/115</td>
|
|
103
103
|
<td data-value="25" class="pct low">25%</td>
|
|
104
104
|
<td data-value="8" class="abs low">2/8</td>
|
|
105
105
|
<td data-value="50" class="pct medium">50%</td>
|
|
106
106
|
<td data-value="10" class="abs medium">5/10</td>
|
|
107
|
-
<td data-value="
|
|
108
|
-
<td data-value="
|
|
107
|
+
<td data-value="72.8" class="pct medium">72.8%</td>
|
|
108
|
+
<td data-value="114" class="abs medium">83/114</td>
|
|
109
109
|
</tr>
|
|
110
110
|
|
|
111
111
|
</tbody>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at
|
|
119
|
+
at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../../../prettify.js"></script>
|
|
122
122
|
<script>
|