@budibase/server 2.1.32-alpha.5 → 2.1.32-alpha.6
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.192baaa3.js → index.3ca79a83.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +3112 -3177
- package/coverage/coverage-final.json +105 -106
- package/coverage/lcov-report/index.html +145 -145
- 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 +1 -1
- 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} +100 -79
- 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 +108 -108
- 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 +39 -39
- 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 +18 -18
- 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 +1 -1
- package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/index.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +1 -1
- 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 +3 -3
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.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 +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 +2 -2
- 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 +1 -1
- package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +1 -1
- 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 +16 -16
- 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} +68 -44
- 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 +5519 -5768
- package/dist/api/controllers/apikeys.js +12 -9
- 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 +125 -111
- 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 +8 -9
- 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/inMemoryView.js +3 -3
- package/dist/db/linkedRows/LinkController.js +2 -2
- package/dist/db/linkedRows/index.js +2 -2
- package/dist/db/linkedRows/linkUtils.js +3 -3
- 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/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/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} +55 -48
- 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 +10 -10
- 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/inMemoryView.js +3 -3
- package/src/db/linkedRows/LinkController.js +2 -2
- package/src/db/linkedRows/index.js +2 -2
- package/src/db/linkedRows/linkUtils.js +3 -3
- package/src/db/utils.ts +1 -1
- 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/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
package/coverage/lcov-report/src/api/controllers/row/{staticFormula.js.html → staticFormula.ts.html}
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src/api/controllers/row/staticFormula.
|
|
6
|
+
<title>Code coverage report for src/api/controllers/row/staticFormula.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,34 +19,34 @@
|
|
|
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/row</a> staticFormula.
|
|
22
|
+
<h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/row</a> staticFormula.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">36.36% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>24/66</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">18.18% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>4/22</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">42.85% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>3/7</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">35.
|
|
47
|
+
<span class="strong">35.38% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>23/
|
|
49
|
+
<span class='fraction'>23/65</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -219,14 +219,20 @@
|
|
|
219
219
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
220
|
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
221
|
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
|
|
228
|
+
<span class="cline-any cline-yes">45x</span>
|
|
223
229
|
<span class="cline-any cline-neutral"> </span>
|
|
224
230
|
<span class="cline-any cline-neutral"> </span>
|
|
225
231
|
<span class="cline-any cline-neutral"> </span>
|
|
226
232
|
<span class="cline-any cline-neutral"> </span>
|
|
227
233
|
<span class="cline-any cline-yes">45x</span>
|
|
228
234
|
<span class="cline-any cline-yes">45x</span>
|
|
229
|
-
<span class="cline-any cline-
|
|
235
|
+
<span class="cline-any cline-neutral"> </span>
|
|
230
236
|
<span class="cline-any cline-yes">45x</span>
|
|
231
237
|
<span class="cline-any cline-yes">45x</span>
|
|
232
238
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -236,7 +242,7 @@
|
|
|
236
242
|
<span class="cline-any cline-neutral"> </span>
|
|
237
243
|
<span class="cline-any cline-neutral"> </span>
|
|
238
244
|
<span class="cline-any cline-neutral"> </span>
|
|
239
|
-
<span class="cline-any cline-yes">
|
|
245
|
+
<span class="cline-any cline-yes">86x</span>
|
|
240
246
|
<span class="cline-any cline-yes">86x</span>
|
|
241
247
|
<span class="cline-any cline-neutral"> </span>
|
|
242
248
|
<span class="cline-any cline-yes">86x</span>
|
|
@@ -311,6 +317,8 @@
|
|
|
311
317
|
<span class="cline-any cline-neutral"> </span>
|
|
312
318
|
<span class="cline-any cline-no"> </span>
|
|
313
319
|
<span class="cline-any cline-no"> </span>
|
|
320
|
+
<span class="cline-any cline-neutral"> </span>
|
|
321
|
+
<span class="cline-any cline-no"> </span>
|
|
314
322
|
<span class="cline-any cline-no"> </span>
|
|
315
323
|
<span class="cline-any cline-neutral"> </span>
|
|
316
324
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -335,6 +343,8 @@
|
|
|
335
343
|
<span class="cline-any cline-neutral"> </span>
|
|
336
344
|
<span class="cline-any cline-neutral"> </span>
|
|
337
345
|
<span class="cline-any cline-neutral"> </span>
|
|
346
|
+
<span class="cline-any cline-neutral"> </span>
|
|
347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
338
348
|
<span class="cline-any cline-yes">81x</span>
|
|
339
349
|
<span class="cline-any cline-yes">81x</span>
|
|
340
350
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -375,16 +385,17 @@
|
|
|
375
385
|
<span class="cline-any cline-neutral"> </span>
|
|
376
386
|
<span class="cline-any cline-yes">81x</span>
|
|
377
387
|
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
379
|
-
|
|
388
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { getRowParams } from "../../../db/utils"
|
|
389
|
+
import {
|
|
380
390
|
outputProcessing,
|
|
381
391
|
processAutoColumn,
|
|
382
392
|
processFormulas,
|
|
383
|
-
}
|
|
384
|
-
|
|
393
|
+
} from "../../../utilities/rowProcessor"
|
|
394
|
+
import { FieldTypes, FormulaTypes } from "../../../constants"
|
|
395
|
+
import { context } from "@budibase/backend-core"
|
|
396
|
+
import { Table, Row } from "@budibase/types"
|
|
385
397
|
const { isEqual } = require("lodash")
|
|
386
398
|
const { cloneDeep } = require("lodash/fp")
|
|
387
|
-
const { getAppDB } = require("@budibase/backend-core/context")
|
|
388
399
|
|
|
389
400
|
/**
|
|
390
401
|
* This function runs through a list of enriched rows, looks at the rows which
|
|
@@ -392,49 +403,49 @@ const { getAppDB } = require("@budibase/backend-core/context")
|
|
|
392
403
|
* updated.
|
|
393
404
|
* NOTE: this will only for affect static formulas.
|
|
394
405
|
*/
|
|
395
|
-
exports.updateRelatedFormula = async (table, enrichedRows) => {
|
|
396
|
-
const db = getAppDB()
|
|
406
|
+
exports.updateRelatedFormula = async (table: Table, enrichedRows: Row[]) => {
|
|
407
|
+
const db = context.getAppDB()
|
|
397
408
|
// no formula to update, we're done
|
|
398
|
-
|
|
409
|
+
if (!table.relatedFormula) {
|
|
399
410
|
return
|
|
400
411
|
}
|
|
401
|
-
let promises = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
412
|
+
let promises: Promise<any>[] = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
402
413
|
<span class="cstat-no" title="statement not covered" > for (let enrichedRow of Array.isArray(enrichedRows)</span>
|
|
403
414
|
? enrichedRows
|
|
404
415
|
: [enrichedRows]) {
|
|
405
416
|
// the related rows by tableId
|
|
406
|
-
let relatedRows = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
417
|
+
let relatedRows: Record<string, Row[]> = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
407
418
|
<span class="cstat-no" title="statement not covered" > for (let [key, field] of Object.entries(enrichedRow)) {</span>
|
|
408
419
|
const columnDefinition = <span class="cstat-no" title="statement not covered" >table.schema[key]</span>
|
|
409
|
-
<span class="cstat-no" title="statement not covered" > if (columnDefinition && columnDefinition.type === FieldTypes.LINK) {</span>
|
|
410
|
-
const relatedTableId = <span class="cstat-no" title="statement not covered" >columnDefinition.tableId
|
|
411
|
-
<span class="cstat-no" title="statement not covered" > if (!relatedRows[relatedTableId]) {</span>
|
|
420
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (columnDefinition && columnDefinition.type === FieldTypes.LINK) {</span>
|
|
421
|
+
const relatedTableId = <span class="cstat-no" title="statement not covered" >columnDefinition.tableId!</span>
|
|
422
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedRows[relatedTableId]) {</span>
|
|
412
423
|
<span class="cstat-no" title="statement not covered" > relatedRows[relatedTableId] = []</span>
|
|
413
424
|
}
|
|
414
425
|
<span class="cstat-no" title="statement not covered" > relatedRows[relatedTableId] = relatedRows[relatedTableId].concat(field)</span>
|
|
415
426
|
}
|
|
416
427
|
}
|
|
417
428
|
<span class="cstat-no" title="statement not covered" > for (let tableId of table.relatedFormula) {</span>
|
|
418
|
-
let relatedTable
|
|
429
|
+
let relatedTable: Table
|
|
419
430
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
420
431
|
// no rows to update, skip
|
|
421
|
-
<span class="cstat-no" title="statement not covered" > if (!relatedRows[tableId] || relatedRows[tableId].length === 0) {</span>
|
|
432
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!relatedRows[tableId] || relatedRows[tableId].length === 0) {</span>
|
|
422
433
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
423
434
|
}
|
|
424
435
|
<span class="cstat-no" title="statement not covered" > relatedTable = await db.get(tableId)</span>
|
|
425
436
|
} catch (err) {
|
|
426
437
|
// no error scenario, table doesn't seem to exist anymore, ignore
|
|
427
438
|
}
|
|
428
|
-
<span class="cstat-no" title="statement not covered" > for (let column of Object.values(relatedTable
|
|
439
|
+
<span class="cstat-no" title="statement not covered" > for (let column of Object.values(relatedTable!.schema)) {</span>
|
|
429
440
|
// needs updated in related rows
|
|
430
|
-
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
441
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
|
|
431
442
|
column.type === FieldTypes.FORMULA &&
|
|
432
443
|
column.formulaType === FormulaTypes.STATIC
|
|
433
444
|
) {
|
|
434
445
|
// re-enrich rows for all the related, don't update the related formula for them
|
|
435
446
|
<span class="cstat-no" title="statement not covered" > promises = promises.concat(</span>
|
|
436
|
-
relatedRows[tableId].map(<span class="fstat-no" title="function not covered" >
|
|
437
|
-
<span class="cstat-no" title="statement not covered" >
|
|
447
|
+
relatedRows[tableId].map(<span class="fstat-no" title="function not covered" >related </span>=>
|
|
448
|
+
<span class="cstat-no" title="statement not covered" > finaliseRow(relatedTable, related, {</span>
|
|
438
449
|
updateFormula: false,
|
|
439
450
|
})
|
|
440
451
|
)
|
|
@@ -447,8 +458,8 @@ exports.updateRelatedFormula = async (table, enrichedRows) => {
|
|
|
447
458
|
<span class="cstat-no" title="statement not covered" > await Promise.all(promises)</span>
|
|
448
459
|
}
|
|
449
460
|
|
|
450
|
-
|
|
451
|
-
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
461
|
+
export async function <span class="fstat-no" title="function not covered" >updateAllFormulasInTable(</span>table: Table) {
|
|
462
|
+
const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
|
|
452
463
|
// start by getting the raw rows (which will be written back to DB after update)
|
|
453
464
|
let rows = <span class="cstat-no" title="statement not covered" >(</span>
|
|
454
465
|
await db.allDocs(
|
|
@@ -456,7 +467,7 @@ exports.updateAllFormulasInTable = <span class="fstat-no" title="function not co
|
|
|
456
467
|
include_docs: true,
|
|
457
468
|
})
|
|
458
469
|
)
|
|
459
|
-
).rows.map(<span class="fstat-no" title="function not covered" >
|
|
470
|
+
).rows.map(<span class="fstat-no" title="function not covered" >row </span>=> <span class="cstat-no" title="statement not covered" >row.doc)</span>
|
|
460
471
|
// now enrich the rows, note the clone so that we have the base state of the
|
|
461
472
|
// rows so that we don't write any of the enriched information back
|
|
462
473
|
let enrichedRows = <span class="cstat-no" title="statement not covered" >await outputProcessing(table, cloneDeep(rows), {</span>
|
|
@@ -465,14 +476,16 @@ exports.updateAllFormulasInTable = <span class="fstat-no" title="function not co
|
|
|
465
476
|
const updatedRows = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
466
477
|
<span class="cstat-no" title="statement not covered" > for (let row of rows) {</span>
|
|
467
478
|
// find the enriched row, if found process the formulas
|
|
468
|
-
const enrichedRow = <span class="cstat-no" title="statement not covered" >enrichedRows.find(
|
|
469
|
-
<span class="cstat-no" title="statement not covered" >
|
|
479
|
+
const enrichedRow = <span class="cstat-no" title="statement not covered" >enrichedRows.find(</span>
|
|
480
|
+
<span class="fstat-no" title="function not covered" > (e</span>nriched: any) => <span class="cstat-no" title="statement not covered" >enriched._id === row._id</span>
|
|
481
|
+
)
|
|
482
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (enrichedRow) {</span>
|
|
470
483
|
const processed = <span class="cstat-no" title="statement not covered" >processFormulas(table, cloneDeep(row), {</span>
|
|
471
484
|
dynamic: false,
|
|
472
485
|
contextRows: enrichedRow,
|
|
473
486
|
})
|
|
474
487
|
// values have changed, need to add to bulk docs to update
|
|
475
|
-
<span class="cstat-no" title="statement not covered" > if (!isEqual(processed, row)) {</span>
|
|
488
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!isEqual(processed, row)) {</span>
|
|
476
489
|
<span class="cstat-no" title="statement not covered" > updatedRows.push(processed)</span>
|
|
477
490
|
}
|
|
478
491
|
}
|
|
@@ -486,12 +499,14 @@ exports.updateAllFormulasInTable = <span class="fstat-no" title="function not co
|
|
|
486
499
|
* row. The reason we need to return the enriched row is that the automation row created trigger
|
|
487
500
|
* expects the row to be totally enriched/contain all relationships.
|
|
488
501
|
*/
|
|
489
|
-
|
|
490
|
-
table,
|
|
491
|
-
row,
|
|
492
|
-
{ oldTable, updateFormula } = <span class="branch-0 cbranch-no" title="branch not covered" >{
|
|
493
|
-
|
|
494
|
-
|
|
502
|
+
export async function finaliseRow(
|
|
503
|
+
table: Table,
|
|
504
|
+
row: Row,
|
|
505
|
+
{ oldTable, updateFormula }: { oldTable?: Table; updateFormula: boolean } = <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
506
|
+
updateFormula: true,
|
|
507
|
+
}
|
|
508
|
+
) {
|
|
509
|
+
const db = context.getAppDB()
|
|
495
510
|
row.type = "row"
|
|
496
511
|
// process the row before return, to include relationships
|
|
497
512
|
let enrichedRow = await outputProcessing(table, cloneDeep(row), {
|
|
@@ -508,7 +523,7 @@ exports.finaliseRow = async (
|
|
|
508
523
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (oldTable && !isEqual(oldTable, table)) {
|
|
509
524
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
510
525
|
<span class="cstat-no" title="statement not covered" > await db.put(table)</span>
|
|
511
|
-
} catch (err) {
|
|
526
|
+
} catch (err: any) {
|
|
512
527
|
<span class="cstat-no" title="statement not covered" > if (err.status === 409) {</span>
|
|
513
528
|
const updatedTable = <span class="cstat-no" title="statement not covered" >await db.get(table._id)</span>
|
|
514
529
|
let response = <span class="cstat-no" title="statement not covered" >processAutoColumn(null, updatedTable, row, {</span>
|
|
@@ -526,7 +541,7 @@ exports.finaliseRow = async (
|
|
|
526
541
|
enrichedRow._rev = response.rev
|
|
527
542
|
enrichedRow = await processFormulas(table, enrichedRow, { dynamic: false })
|
|
528
543
|
// this updates the related formulas in other rows based on the relations to this row
|
|
529
|
-
|
|
544
|
+
if (updateFormula) {
|
|
530
545
|
await exports.updateRelatedFormula(table, enrichedRow)
|
|
531
546
|
}
|
|
532
547
|
return { row: enrichedRow, table }
|
|
@@ -538,7 +553,7 @@ exports.finaliseRow = async (
|
|
|
538
553
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
539
554
|
Code coverage generated by
|
|
540
555
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
541
|
-
at Wed Nov 23 2022
|
|
556
|
+
at Wed Nov 23 2022 13:28:07 GMT+0000 (Coordinated Universal Time)
|
|
542
557
|
</div>
|
|
543
558
|
<script src="../../../../prettify.js"></script>
|
|
544
559
|
<script>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src/api/controllers/row/utils.
|
|
6
|
+
<title>Code coverage report for src/api/controllers/row/utils.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/row</a> utils.
|
|
22
|
+
<h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/row</a> utils.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -30,23 +30,23 @@
|
|
|
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'>10/30</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">71.42% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>5/7</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">62.
|
|
47
|
+
<span class="strong">62.06% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>36/58</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -171,12 +171,20 @@
|
|
|
171
171
|
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
172
|
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
173
|
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a
|
|
175
|
-
<
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
|
|
176
182
|
<span class="cline-any cline-yes">46x</span>
|
|
177
183
|
<span class="cline-any cline-yes">46x</span>
|
|
178
184
|
<span class="cline-any cline-yes">46x</span>
|
|
179
185
|
<span class="cline-any cline-yes">46x</span>
|
|
186
|
+
<span class="cline-any cline-neutral"> </span>
|
|
187
|
+
<span class="cline-any cline-yes">119x</span>
|
|
180
188
|
<span class="cline-any cline-yes">46x</span>
|
|
181
189
|
<span class="cline-any cline-yes">46x</span>
|
|
182
190
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -191,8 +199,6 @@
|
|
|
191
199
|
<span class="cline-any cline-neutral"> </span>
|
|
192
200
|
<span class="cline-any cline-neutral"> </span>
|
|
193
201
|
<span class="cline-any cline-yes">46x</span>
|
|
194
|
-
<span class="cline-any cline-neutral"> </span>
|
|
195
|
-
<span class="cline-any cline-yes">46x</span>
|
|
196
202
|
<span class="cline-any cline-yes">1x</span>
|
|
197
203
|
<span class="cline-any cline-yes">1x</span>
|
|
198
204
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -219,6 +225,14 @@
|
|
|
219
225
|
<span class="cline-any cline-neutral"> </span>
|
|
220
226
|
<span class="cline-any cline-neutral"> </span>
|
|
221
227
|
<span class="cline-any cline-yes">46x</span>
|
|
228
|
+
<span class="cline-any cline-neutral"> </span>
|
|
229
|
+
<span class="cline-any cline-neutral"> </span>
|
|
230
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
232
|
+
<span class="cline-any cline-neutral"> </span>
|
|
233
|
+
<span class="cline-any cline-neutral"> </span>
|
|
234
|
+
<span class="cline-any cline-neutral"> </span>
|
|
235
|
+
<span class="cline-any cline-neutral"> </span>
|
|
222
236
|
<span class="cline-any cline-yes">85x</span>
|
|
223
237
|
<span class="cline-any cline-yes">2x</span>
|
|
224
238
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -279,36 +293,35 @@
|
|
|
279
293
|
<span class="cline-any cline-neutral"> </span>
|
|
280
294
|
<span class="cline-any cline-yes">85x</span>
|
|
281
295
|
<span class="cline-any cline-neutral"> </span>
|
|
282
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
296
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { InternalTables } from "../../../db/utils"
|
|
297
|
+
import * as userController from "../user"
|
|
298
|
+
import { FieldTypes } from "../../../constants"
|
|
299
|
+
import { context } from "@budibase/backend-core"
|
|
300
|
+
import { makeExternalQuery } from "../../../integrations/base/query"
|
|
301
|
+
import { BBContext, Row, Table } from "@budibase/types"
|
|
302
|
+
export { removeKeyNumbering } from "../../../integrations/base/utils"
|
|
303
|
+
const validateJs = require("validate.js")
|
|
283
304
|
const { cloneDeep } = require("lodash/fp")
|
|
284
|
-
const { InternalTables } = require("../../../db/utils")
|
|
285
|
-
const userController = require("../user")
|
|
286
|
-
const { FieldTypes } = require("../../../constants")
|
|
287
|
-
const { getAppDB } = require("@budibase/backend-core/context")
|
|
288
|
-
const { makeExternalQuery } = require("../../../integrations/base/query")
|
|
289
|
-
const { removeKeyNumbering } = require("../../../integrations/base/utils")
|
|
290
305
|
|
|
291
306
|
validateJs.extend(validateJs.validators.datetime, {
|
|
292
|
-
parse: function (value) {
|
|
307
|
+
parse: function (value: string) {
|
|
293
308
|
return new Date(value).getTime()
|
|
294
309
|
},
|
|
295
310
|
// Input is a unix timestamp
|
|
296
|
-
format: <span class="fstat-no" title="function not covered" >
|
|
311
|
+
format: <span class="fstat-no" title="function not covered" >function (v</span>alue: string) {
|
|
297
312
|
<span class="cstat-no" title="statement not covered" > return new Date(value).toISOString()</span>
|
|
298
313
|
},
|
|
299
314
|
})
|
|
300
315
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
exports.getDatasourceAndQuery = async json => {
|
|
316
|
+
export async function getDatasourceAndQuery(json: any) {
|
|
304
317
|
const datasourceId = json.endpoint.datasourceId
|
|
305
|
-
const db = getAppDB()
|
|
318
|
+
const db = context.getAppDB()
|
|
306
319
|
const datasource = await db.get(datasourceId)
|
|
307
320
|
return makeExternalQuery(datasource, json)
|
|
308
321
|
}
|
|
309
322
|
|
|
310
|
-
|
|
311
|
-
const db = getAppDB()
|
|
323
|
+
export async function findRow(ctx: BBContext, tableId: string, rowId: string) {
|
|
324
|
+
const db = context.getAppDB()
|
|
312
325
|
let row
|
|
313
326
|
// TODO remove special user case in future
|
|
314
327
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
@@ -326,12 +339,20 @@ exports.findRow = async (ctx, tableId, rowId) => {
|
|
|
326
339
|
return row
|
|
327
340
|
}
|
|
328
341
|
|
|
329
|
-
|
|
342
|
+
export async function validate({
|
|
343
|
+
tableId,
|
|
344
|
+
row,
|
|
345
|
+
table,
|
|
346
|
+
}: {
|
|
347
|
+
tableId?: string
|
|
348
|
+
row: Row
|
|
349
|
+
table: Table
|
|
350
|
+
}) {
|
|
330
351
|
if (!table) {
|
|
331
|
-
const db = getAppDB()
|
|
352
|
+
const db = context.getAppDB()
|
|
332
353
|
table = await db.get(tableId)
|
|
333
354
|
}
|
|
334
|
-
const errors = {}
|
|
355
|
+
const errors: any = {}
|
|
335
356
|
for (let fieldName of Object.keys(table.schema)) {
|
|
336
357
|
const constraints = cloneDeep(table.schema[fieldName].constraints)
|
|
337
358
|
const type = table.schema[fieldName].type
|
|
@@ -348,18 +369,18 @@ exports.validate = async ({ tableId, row, table }) => {
|
|
|
348
369
|
// Validate.js doesn't seem to handle array
|
|
349
370
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (type === FieldTypes.ARRAY && <span class="branch-1 cbranch-no" title="branch not covered" >row[fieldName])</span> {
|
|
350
371
|
<span class="cstat-no" title="statement not covered" > if (row[fieldName].length) {</span>
|
|
351
|
-
<span class="cstat-no" title="statement not covered" > if (!Array.isArray(row[fieldName])) {</span>
|
|
372
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(row[fieldName])) {</span>
|
|
352
373
|
<span class="cstat-no" title="statement not covered" > row[fieldName] = row[fieldName].split(",")</span>
|
|
353
374
|
}
|
|
354
|
-
<span class="cstat-no" title="statement not covered" > row[fieldName].map(<span class="fstat-no" title="function not covered" >
|
|
355
|
-
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
375
|
+
<span class="cstat-no" title="statement not covered" > row[fieldName].map(<span class="fstat-no" title="function not covered" >(v</span>al: any) => {</span>
|
|
376
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
|
|
356
377
|
!constraints.inclusion.includes(val) &&
|
|
357
378
|
constraints.inclusion.length !== 0
|
|
358
379
|
) {
|
|
359
380
|
<span class="cstat-no" title="statement not covered" > errors[fieldName] = "Field not in list"</span>
|
|
360
381
|
}
|
|
361
382
|
})
|
|
362
|
-
} else <span class="cstat-no" title="statement not covered" >if (constraints.presence && row[fieldName].length === 0) {</span>
|
|
383
|
+
} else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (constraints.presence && row[fieldName].length === 0) {</span>
|
|
363
384
|
// non required MultiSelect creates an empty array, which should not throw errors
|
|
364
385
|
<span class="cstat-no" title="statement not covered" > errors[fieldName] = [`${fieldName} is required`]</span>
|
|
365
386
|
}
|
|
@@ -370,7 +391,7 @@ exports.validate = async ({ tableId, row, table }) => {
|
|
|
370
391
|
// this should only happen if there is an error
|
|
371
392
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
372
393
|
const json = <span class="cstat-no" title="statement not covered" >JSON.parse(row[fieldName])</span>
|
|
373
|
-
<span class="cstat-no" title="statement not covered" > if (type === FieldTypes.ATTACHMENT) {</span>
|
|
394
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (type === FieldTypes.ATTACHMENT) {</span>
|
|
374
395
|
<span class="cstat-no" title="statement not covered" > if (Array.isArray(json)) {</span>
|
|
375
396
|
<span class="cstat-no" title="statement not covered" > row[fieldName] = json</span>
|
|
376
397
|
} else {
|
|
@@ -394,7 +415,7 @@ exports.validate = async ({ tableId, row, table }) => {
|
|
|
394
415
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
395
416
|
Code coverage generated by
|
|
396
417
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
397
|
-
at Wed Nov 23 2022
|
|
418
|
+
at Wed Nov 23 2022 13:28:07 GMT+0000 (Coordinated Universal Time)
|
|
398
419
|
</div>
|
|
399
420
|
<script src="../../../../prettify.js"></script>
|
|
400
421
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">68.42% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>39/57</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">45.83% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>11/24</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">60% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>6/10</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">69.
|
|
47
|
+
<span class="strong">69.09% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>38/55</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -185,7 +185,11 @@
|
|
|
185
185
|
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
186
|
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
187
|
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
189
193
|
<span class="cline-any cline-yes">44x</span>
|
|
190
194
|
<span class="cline-any cline-neutral"> </span>
|
|
191
195
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -208,6 +212,10 @@
|
|
|
208
212
|
<span class="cline-any cline-yes">1x</span>
|
|
209
213
|
<span class="cline-any cline-neutral"> </span>
|
|
210
214
|
<span class="cline-any cline-yes">1x</span>
|
|
215
|
+
<span class="cline-any cline-yes">1x</span>
|
|
216
|
+
<span class="cline-any cline-no"> </span>
|
|
217
|
+
<span class="cline-any cline-neutral"> </span>
|
|
218
|
+
<span class="cline-any cline-yes">1x</span>
|
|
211
219
|
<span class="cline-any cline-neutral"> </span>
|
|
212
220
|
<span class="cline-any cline-neutral"> </span>
|
|
213
221
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -293,7 +301,7 @@
|
|
|
293
301
|
<span class="cline-any cline-yes">1x</span>
|
|
294
302
|
<span class="cline-any cline-neutral"> </span>
|
|
295
303
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-
|
|
304
|
+
<span class="cline-any cline-neutral"> </span>
|
|
297
305
|
<span class="cline-any cline-yes">48x</span>
|
|
298
306
|
<span class="cline-any cline-no"> </span>
|
|
299
307
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -316,9 +324,9 @@ import {
|
|
|
316
324
|
roles,
|
|
317
325
|
} from "@budibase/backend-core"
|
|
318
326
|
import { updateAppPackage } from "./application"
|
|
319
|
-
import { Plugin, ScreenProps } from "@budibase/types"
|
|
327
|
+
import { Plugin, ScreenProps, BBContext } from "@budibase/types"
|
|
320
328
|
|
|
321
|
-
|
|
329
|
+
export async function fetch(ctx: BBContext) {
|
|
322
330
|
const db = context.getAppDB()
|
|
323
331
|
|
|
324
332
|
const screens = (
|
|
@@ -329,13 +337,17 @@ exports.fetch = async (ctx: any) => {
|
|
|
329
337
|
)
|
|
330
338
|
).rows.map((el: any) => el.doc)
|
|
331
339
|
|
|
340
|
+
const roleId = ctx.user<span class="branch-0 cbranch-no" title="branch not covered" >?.r</span>ole<span class="branch-0 cbranch-no" title="branch not covered" >?._</span>id as string
|
|
341
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!roleId) {
|
|
342
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw("Unable to retrieve users role ID.")</span>
|
|
343
|
+
}
|
|
332
344
|
ctx.body = await new roles.AccessController().checkScreensAccess(
|
|
333
345
|
screens,
|
|
334
|
-
|
|
346
|
+
roleId
|
|
335
347
|
)
|
|
336
348
|
}
|
|
337
349
|
|
|
338
|
-
|
|
350
|
+
export async function save(ctx: BBContext) {
|
|
339
351
|
const db = context.getAppDB()
|
|
340
352
|
let screen = ctx.request.body
|
|
341
353
|
|
|
@@ -401,7 +413,7 @@ exports.save = async (ctx: any) => {
|
|
|
401
413
|
}
|
|
402
414
|
}
|
|
403
415
|
|
|
404
|
-
|
|
416
|
+
export async function destroy(ctx: BBContext) {
|
|
405
417
|
const db = context.getAppDB()
|
|
406
418
|
const id = ctx.params.screenId
|
|
407
419
|
const screen = await db.get(id)
|
|
@@ -415,7 +427,7 @@ exports.destroy = async (ctx: any) => {
|
|
|
415
427
|
ctx.status = 200
|
|
416
428
|
}
|
|
417
429
|
|
|
418
|
-
|
|
430
|
+
function findPlugins(component: ScreenProps, foundPlugins: string[]) {
|
|
419
431
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!component) {
|
|
420
432
|
<span class="cstat-no" title="statement not covered" > return</span>
|
|
421
433
|
}
|
|
@@ -436,7 +448,7 @@ const findPlugins = (component: ScreenProps, foundPlugins: string[]) => {
|
|
|
436
448
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
437
449
|
Code coverage generated by
|
|
438
450
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
439
|
-
at Wed Nov 23 2022
|
|
451
|
+
at Wed Nov 23 2022 13:28:07 GMT+0000 (Coordinated Universal Time)
|
|
440
452
|
</div>
|
|
441
453
|
<script src="../../../prettify.js"></script>
|
|
442
454
|
<script>
|