@budibase/server 2.2.12-alpha.20 → 2.2.12-alpha.21
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.fa480d5b.css → index.34817feb.css} +1 -1
- package/builder/assets/{index.35af2c9c.js → index.61dfdc1c.js} +245 -244
- package/builder/index.html +2 -2
- package/coverage/clover.xml +772 -771
- package/coverage/coverage-final.json +40 -40
- package/coverage/lcov-report/index.html +55 -55
- package/coverage/lcov-report/src/api/controllers/analytics.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/application.ts.html +56 -56
- package/coverage/lcov-report/src/api/controllers/auth.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/automation.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/backup.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/cloud.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/component.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/datasource.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +12 -12
- package/coverage/lcov-report/src/api/controllers/deploy/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +69 -69
- package/coverage/lcov-report/src/api/controllers/dev.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/index.html +1 -1
- package/coverage/lcov-report/src/api/controllers/integration.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/layout.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/metadata.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/migrations.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/permission.ts.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 +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 +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 +1 -1
- package/coverage/lcov-report/src/api/controllers/query/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/role.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/routing.ts.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.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/index.html +15 -15
- package/coverage/lcov-report/src/api/controllers/row/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +23 -20
- package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/screen.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/script.ts.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.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/table/external.ts.html +17 -17
- package/coverage/lcov-report/src/api/controllers/table/index.html +33 -33
- package/coverage/lcov-report/src/api/controllers/table/index.ts.html +122 -35
- package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +5 -5
- package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +23 -26
- package/coverage/lcov-report/src/api/controllers/templates.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/user.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +61 -16
- package/coverage/lcov-report/src/api/controllers/view/index.html +28 -28
- package/coverage/lcov-report/src/api/controllers/view/index.ts.html +52 -25
- package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.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.ts.html +5 -5
- package/coverage/lcov-report/src/api/routes/analytics.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/apikeys.ts.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.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/backup.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/cloud.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/component.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/datasource.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/deploy.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/dev.ts.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.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/layout.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/metadata.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/migrations.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/permission.ts.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 +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/tests/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/public/tests/utils.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.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/role.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/routing.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/row.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/screen.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/script.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/static.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/table.ts.html +17 -86
- package/coverage/lcov-report/src/api/routes/templates.ts.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.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/user.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +2 -2
- package/coverage/lcov-report/src/api/routes/view.ts.html +1 -1
- 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.ts.html +1 -1
- package/coverage/lcov-report/src/automations/automationUtils.ts.html +1 -1
- package/coverage/lcov-report/src/automations/bullboard.ts.html +2 -2
- package/coverage/lcov-report/src/automations/index.html +1 -1
- package/coverage/lcov-report/src/automations/index.ts.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.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/createRow.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/delay.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/discord.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/filter.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/index.html +1 -1
- package/coverage/lcov-report/src/automations/steps/integromat.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/loop.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/slack.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/utils.ts.html +1 -1
- package/coverage/lcov-report/src/automations/steps/zapier.ts.html +1 -1
- package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
- package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +1 -1
- package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +1 -1
- package/coverage/lcov-report/src/automations/triggers.ts.html +1 -1
- package/coverage/lcov-report/src/automations/utils.ts.html +11 -11
- package/coverage/lcov-report/src/constants/index.html +1 -1
- package/coverage/lcov-report/src/constants/index.ts.html +25 -25
- package/coverage/lcov-report/src/constants/layouts.ts.html +1 -1
- package/coverage/lcov-report/src/constants/screens.ts.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/index.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +1 -1
- package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +1 -1
- package/coverage/lcov-report/src/db/dynamoClient.ts.html +1 -1
- package/coverage/lcov-report/src/db/inMemoryView.ts.html +1 -1
- package/coverage/lcov-report/src/db/index.html +1 -1
- package/coverage/lcov-report/src/db/index.ts.html +1 -1
- package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +1 -1
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +1 -1
- package/coverage/lcov-report/src/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/src/db/linkedRows/index.ts.html +1 -1
- package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +1 -1
- package/coverage/lcov-report/src/db/newid.ts.html +3 -3
- package/coverage/lcov-report/src/db/utils.ts.html +15 -15
- 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.ts.html +19 -19
- package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +1 -1
- package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +1 -1
- package/coverage/lcov-report/src/events/index.html +1 -1
- package/coverage/lcov-report/src/events/index.ts.html +1 -1
- package/coverage/lcov-report/src/events/utils.ts.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 +1 -1
- package/coverage/lcov-report/src/integrations/index.html +1 -1
- 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.ts.html +1 -1
- package/coverage/lcov-report/src/middleware/authorized.ts.html +21 -21
- package/coverage/lcov-report/src/middleware/builder.ts.html +12 -12
- package/coverage/lcov-report/src/middleware/currentapp.ts.html +33 -33
- package/coverage/lcov-report/src/middleware/index.html +1 -1
- 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 +3 -3
- 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 +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/tableSettings.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/sdk/app/applications/index.html +1 -1
- package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +18 -18
- package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +7 -7
- 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 +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/rows/index.html +1 -1
- package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/app/rows/rows.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 +2 -2
- package/coverage/lcov-report/src/sdk/users/index.html +1 -1
- package/coverage/lcov-report/src/sdk/users/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/users/utils.ts.html +20 -20
- package/coverage/lcov-report/src/startup.ts.html +1 -1
- package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +59 -59
- package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +3 -3
- package/coverage/lcov-report/src/tests/utilities/index.html +1 -1
- package/coverage/lcov-report/src/tests/utilities/index.ts.html +1 -1
- package/coverage/lcov-report/src/tests/utilities/structures.ts.html +2 -2
- package/coverage/lcov-report/src/threads/automation.ts.html +1 -1
- 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.ts.html +3 -3
- package/coverage/lcov-report/src/utilities/centralPath.ts.html +2 -2
- package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +16 -16
- package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +8 -8
- package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +30 -30
- package/coverage/lcov-report/src/utilities/fileSystem/index.html +15 -15
- package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +6 -6
- package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +8 -8
- package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +7 -7
- package/coverage/lcov-report/src/utilities/global.ts.html +33 -33
- package/coverage/lcov-report/src/utilities/index.html +24 -24
- package/coverage/lcov-report/src/utilities/index.ts.html +4 -4
- package/coverage/lcov-report/src/utilities/redis.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/src/utilities/routing/index.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +173 -233
- package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/security.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/users.ts.html +1 -1
- package/coverage/lcov-report/src/utilities/workerRequests.ts.html +1 -1
- package/coverage/lcov-report/src/watch.ts.html +1 -1
- package/coverage/lcov-report/src/websocket.ts.html +1 -1
- package/coverage/lcov.info +1303 -1267
- package/dist/api/controllers/row/internal.js +12 -8
- package/dist/api/controllers/table/external.js +8 -30
- package/dist/api/controllers/table/index.js +44 -15
- package/dist/api/controllers/table/internal.js +4 -4
- package/dist/api/controllers/table/utils.js +9 -9
- package/dist/api/controllers/view/exporters.js +22 -6
- package/dist/api/controllers/view/index.js +19 -34
- package/dist/api/routes/table.js +6 -37
- package/dist/api/routes/utils/validators.js +1 -1
- package/dist/package.json +6 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/schema.js +108 -0
- package/package.json +7 -7
- package/src/api/controllers/row/internal.ts +10 -9
- package/src/api/controllers/table/external.ts +10 -10
- package/src/api/controllers/table/index.ts +46 -17
- package/src/api/controllers/table/internal.ts +4 -4
- package/src/api/controllers/table/utils.ts +12 -13
- package/src/api/controllers/view/exporters.ts +20 -5
- package/src/api/controllers/view/index.ts +21 -12
- package/src/api/routes/table.ts +15 -38
- package/src/api/routes/tests/misc.spec.js +4 -10
- package/src/api/routes/tests/table.spec.js +8 -30
- package/src/api/routes/utils/validators.ts +1 -1
- package/src/utilities/schema.ts +141 -0
- package/dist/utilities/csvParser.js +0 -152
- package/src/utilities/csvParser.ts +0 -161
- package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
- package/src/utilities/tests/csvParser.spec.js +0 -112
|
@@ -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">66.25% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>53/80</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">50% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>15/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">73.68% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>14/19</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">67.08% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>53/79</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line medium'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -177,14 +177,48 @@
|
|
|
177
177
|
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
178
|
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
179
|
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</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>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
|
|
181
210
|
<span class="cline-any cline-yes">55x</span>
|
|
211
|
+
<span class="cline-any cline-neutral"> </span>
|
|
212
|
+
<span class="cline-any cline-neutral"> </span>
|
|
213
|
+
<span class="cline-any cline-neutral"> </span>
|
|
214
|
+
<span class="cline-any cline-neutral"> </span>
|
|
182
215
|
<span class="cline-any cline-yes">55x</span>
|
|
183
216
|
<span class="cline-any cline-yes">55x</span>
|
|
184
217
|
<span class="cline-any cline-yes">55x</span>
|
|
185
218
|
<span class="cline-any cline-yes">55x</span>
|
|
186
219
|
<span class="cline-any cline-neutral"> </span>
|
|
187
220
|
<span class="cline-any cline-yes">55x</span>
|
|
221
|
+
<span class="cline-any cline-yes">55x</span>
|
|
188
222
|
<span class="cline-any cline-neutral"> </span>
|
|
189
223
|
<span class="cline-any cline-neutral"> </span>
|
|
190
224
|
<span class="cline-any cline-yes">134x</span>
|
|
@@ -235,8 +269,8 @@
|
|
|
235
269
|
<span class="cline-any cline-yes">177x</span>
|
|
236
270
|
<span class="cline-any cline-yes">130x</span>
|
|
237
271
|
<span class="cline-any cline-yes">130x</span>
|
|
238
|
-
<span class="cline-any cline-neutral"> </span>
|
|
239
272
|
<span class="cline-any cline-yes">130x</span>
|
|
273
|
+
<span class="cline-any cline-neutral"> </span>
|
|
240
274
|
<span class="cline-any cline-yes">130x</span>
|
|
241
275
|
<span class="cline-any cline-yes">130x</span>
|
|
242
276
|
<span class="cline-any cline-yes">124x</span>
|
|
@@ -276,29 +310,58 @@
|
|
|
276
310
|
<span class="cline-any cline-neutral"> </span>
|
|
277
311
|
<span class="cline-any cline-neutral"> </span>
|
|
278
312
|
<span class="cline-any cline-yes">54x</span>
|
|
313
|
+
<span class="cline-any cline-no"> </span>
|
|
279
314
|
<span class="cline-any cline-neutral"> </span>
|
|
280
|
-
<span class="cline-any cline-
|
|
315
|
+
<span class="cline-any cline-no"> </span>
|
|
281
316
|
<span class="cline-any cline-neutral"> </span>
|
|
282
|
-
<span class="cline-any cline-
|
|
317
|
+
<span class="cline-any cline-no"> </span>
|
|
283
318
|
<span class="cline-any cline-no"> </span>
|
|
284
319
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-yes">1x</span>
|
|
286
320
|
<span class="cline-any cline-neutral"> </span>
|
|
321
|
+
<span class="cline-any cline-yes">54x</span>
|
|
322
|
+
<span class="cline-any cline-no"> </span>
|
|
323
|
+
<span class="cline-any cline-neutral"> </span>
|
|
324
|
+
<span class="cline-any cline-no"> </span>
|
|
325
|
+
<span class="cline-any cline-no"> </span>
|
|
326
|
+
<span class="cline-any cline-no"> </span>
|
|
287
327
|
<span class="cline-any cline-neutral"> </span>
|
|
328
|
+
<span class="cline-any cline-no"> </span>
|
|
329
|
+
<span class="cline-any cline-neutral"> </span>
|
|
330
|
+
<span class="cline-any cline-neutral"> </span>
|
|
331
|
+
<span class="cline-any cline-neutral"> </span>
|
|
332
|
+
<span class="cline-any cline-yes">54x</span>
|
|
333
|
+
<span class="cline-any cline-neutral"> </span>
|
|
334
|
+
<span class="cline-any cline-no"> </span>
|
|
335
|
+
<span class="cline-any cline-neutral"> </span>
|
|
336
|
+
<span class="cline-any cline-no"> </span>
|
|
337
|
+
<span class="cline-any cline-no"> </span>
|
|
338
|
+
<span class="cline-any cline-no"> </span>
|
|
339
|
+
<span class="cline-any cline-no"> </span>
|
|
340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
341
|
+
<span class="cline-any cline-no"> </span>
|
|
342
|
+
<span class="cline-any cline-no"> </span>
|
|
343
|
+
<span class="cline-any cline-neutral"> </span>
|
|
344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
345
|
+
<span class="cline-any cline-no"> </span>
|
|
346
|
+
<span class="cline-any cline-no"> </span>
|
|
347
|
+
<span class="cline-any cline-no"> </span>
|
|
288
348
|
<span class="cline-any cline-neutral"> </span>
|
|
289
|
-
<span class="cline-any cline-yes">1x</span>
|
|
290
349
|
<span class="cline-any cline-no"> </span>
|
|
291
350
|
<span class="cline-any cline-neutral"> </span>
|
|
292
|
-
<span class="cline-any cline-yes">1x</span>
|
|
293
351
|
<span class="cline-any cline-neutral"> </span>
|
|
294
352
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import * as internal from "./internal"
|
|
295
353
|
import * as external from "./external"
|
|
296
|
-
import
|
|
354
|
+
import {
|
|
355
|
+
validate as validateSchema,
|
|
356
|
+
isSchema,
|
|
357
|
+
isRows,
|
|
358
|
+
} from "../../../utilities/schema"
|
|
297
359
|
import { isExternalTable, isSQL } from "../../../integrations/utils"
|
|
298
360
|
import { getDatasourceParams } from "../../../db/utils"
|
|
299
361
|
import { context, events } from "@budibase/backend-core"
|
|
300
362
|
import { Table, BBContext } from "@budibase/types"
|
|
301
363
|
import sdk from "../../../sdk"
|
|
364
|
+
import csv from "csvtojson"
|
|
302
365
|
|
|
303
366
|
function pickApi({ tableId, table }: { tableId?: string; table?: Table }) {
|
|
304
367
|
if (table && !tableId) {
|
|
@@ -349,16 +412,16 @@ export async function find(ctx: BBContext) {
|
|
|
349
412
|
export async function save(ctx: BBContext) {
|
|
350
413
|
const appId = ctx.appId
|
|
351
414
|
const table = ctx.request.body
|
|
352
|
-
const
|
|
353
|
-
|
|
415
|
+
const isImport = table.rows
|
|
416
|
+
|
|
354
417
|
const savedTable = await pickApi({ table }).save(ctx)
|
|
355
418
|
if (!table._id) {
|
|
356
419
|
await events.table.created(savedTable)
|
|
357
420
|
} else {
|
|
358
421
|
await events.table.updated(savedTable)
|
|
359
422
|
}
|
|
360
|
-
if (
|
|
361
|
-
await events.table.imported(savedTable
|
|
423
|
+
if (isImport) {
|
|
424
|
+
await events.table.imported(savedTable)
|
|
362
425
|
}
|
|
363
426
|
ctx.status = 200
|
|
364
427
|
ctx.message = `Table ${table.name} saved successfully.`
|
|
@@ -389,21 +452,45 @@ export async function bulkImport(ctx: BBContext) {
|
|
|
389
452
|
ctx.body = { message: `Bulk rows created.` }
|
|
390
453
|
}
|
|
391
454
|
|
|
392
|
-
export async function
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
<span class="cstat-no" title="statement not covered" >
|
|
455
|
+
export async function <span class="fstat-no" title="function not covered" >csvToJson(</span>ctx: BBContext) {
|
|
456
|
+
const { csvString } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
457
|
+
|
|
458
|
+
const result = <span class="cstat-no" title="statement not covered" >await csv().fromString(csvString)</span>
|
|
459
|
+
|
|
460
|
+
<span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
|
|
461
|
+
<span class="cstat-no" title="statement not covered" > ctx.body = result</span>
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
export async function <span class="fstat-no" title="function not covered" >validateNewTableImport(</span>ctx: BBContext) {
|
|
465
|
+
const { rows, schema }: { rows: unknown; schema: unknown } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
466
|
+
|
|
467
|
+
<span class="cstat-no" title="statement not covered" > if (isRows(rows) && isSchema(schema)) {</span>
|
|
468
|
+
<span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
|
|
469
|
+
<span class="cstat-no" title="statement not covered" > ctx.body = validateSchema(rows, schema)</span>
|
|
470
|
+
} else {
|
|
471
|
+
<span class="cstat-no" title="statement not covered" > ctx.status = 422</span>
|
|
398
472
|
}
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
export async function <span class="fstat-no" title="function not covered" >validateExistingTableImport(</span>ctx: BBContext) {
|
|
476
|
+
const { rows, tableId }: { rows: unknown; tableId: unknown } =
|
|
477
|
+
<span class="cstat-no" title="statement not covered" > ctx.request.body</span>
|
|
478
|
+
|
|
479
|
+
let schema = <span class="cstat-no" title="statement not covered" >null</span>
|
|
480
|
+
<span class="cstat-no" title="statement not covered" > if (tableId) {</span>
|
|
481
|
+
const table = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(tableId)</span>
|
|
482
|
+
<span class="cstat-no" title="statement not covered" > schema = table.schema</span>
|
|
483
|
+
} else {
|
|
484
|
+
<span class="cstat-no" title="statement not covered" > ctx.status = 422</span>
|
|
485
|
+
<span class="cstat-no" title="statement not covered" > return</span>
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
<span class="cstat-no" title="statement not covered" > if (tableId && isRows(rows) && isSchema(schema)) {</span>
|
|
489
|
+
<span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
|
|
490
|
+
<span class="cstat-no" title="statement not covered" > ctx.body = validateSchema(rows, schema)</span>
|
|
491
|
+
} else {
|
|
492
|
+
<span class="cstat-no" title="statement not covered" > ctx.status = 422</span>
|
|
405
493
|
}
|
|
406
|
-
ctx.body = { schema: result }
|
|
407
494
|
}
|
|
408
495
|
</pre></td></tr></table></pre>
|
|
409
496
|
|
|
@@ -412,7 +499,7 @@ export async function validateCSVSchema(ctx: BBContext) {
|
|
|
412
499
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
413
500
|
Code coverage generated by
|
|
414
501
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
415
|
-
at
|
|
502
|
+
at Tue Jan 17 2023 15:17:11 GMT+0000 (Coordinated Universal Time)
|
|
416
503
|
</div>
|
|
417
504
|
<script src="../../../../prettify.js"></script>
|
|
418
505
|
<script>
|
|
@@ -482,7 +482,7 @@ function checkAutoColumns(table: Table, oldTable: Table) {
|
|
|
482
482
|
|
|
483
483
|
export async function save(ctx: any) {
|
|
484
484
|
const db = context.getAppDB()
|
|
485
|
-
const {
|
|
485
|
+
const { rows, ...rest } = ctx.request.body
|
|
486
486
|
let tableToSave = {
|
|
487
487
|
type: "table",
|
|
488
488
|
_id: generateTableID(),
|
|
@@ -508,7 +508,7 @@ export async function save(ctx: any) {
|
|
|
508
508
|
const tableSaveFunctions = new TableSaveFunctions({
|
|
509
509
|
user: ctx.user,
|
|
510
510
|
oldTable,
|
|
511
|
-
|
|
511
|
+
importRows: rows,
|
|
512
512
|
})
|
|
513
513
|
tableToSave = await tableSaveFunctions.before(tableToSave)
|
|
514
514
|
|
|
@@ -632,8 +632,8 @@ export async function destroy(ctx: any) {
|
|
|
632
632
|
|
|
633
633
|
export async function bulkImport(ctx: any) {
|
|
634
634
|
const table = await sdk.tables.getTable(ctx.params.tableId)
|
|
635
|
-
const {
|
|
636
|
-
await handleDataImport(ctx.user, table,
|
|
635
|
+
const { rows } = ctx.request.body
|
|
636
|
+
await handleDataImport(ctx.user, table, rows)
|
|
637
637
|
return table
|
|
638
638
|
}
|
|
639
639
|
</pre></td></tr></table></pre>
|
|
@@ -643,7 +643,7 @@ export async function bulkImport(ctx: any) {
|
|
|
643
643
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
644
644
|
Code coverage generated by
|
|
645
645
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
646
|
-
at
|
|
646
|
+
at Tue Jan 17 2023 15:17:11 GMT+0000 (Coordinated Universal Time)
|
|
647
647
|
</div>
|
|
648
648
|
<script src="../../../../prettify.js"></script>
|
|
649
649
|
<script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">64.13% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>118/184</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">45% </span>
|
|
33
|
+
<span class="strong">45.9% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>28/61</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">64.04% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>114/178</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -452,8 +452,7 @@
|
|
|
452
452
|
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
453
|
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
454
|
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
-
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
-
<a name='L391'></a><a href='#L391'>391</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
|
|
455
|
+
<a name='L390'></a><a href='#L390'>390</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
|
|
457
456
|
<span class="cline-any cline-yes">55x</span>
|
|
458
457
|
<span class="cline-any cline-yes">55x</span>
|
|
459
458
|
<span class="cline-any cline-yes">55x</span>
|
|
@@ -585,21 +584,20 @@
|
|
|
585
584
|
<span class="cline-any cline-neutral"> </span>
|
|
586
585
|
<span class="cline-any cline-yes">2x</span>
|
|
587
586
|
<span class="cline-any cline-yes">132x</span>
|
|
587
|
+
<span class="cline-any cline-neutral"> </span>
|
|
588
|
+
<span class="cline-any cline-yes">132x</span>
|
|
588
589
|
<span class="cline-any cline-yes">129x</span>
|
|
589
590
|
<span class="cline-any cline-neutral"> </span>
|
|
590
591
|
<span class="cline-any cline-neutral"> </span>
|
|
591
592
|
<span class="cline-any cline-yes">3x</span>
|
|
592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
593
593
|
<span class="cline-any cline-yes">3x</span>
|
|
594
594
|
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-neutral"> </span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
595
|
<span class="cline-any cline-yes">3x</span>
|
|
599
596
|
<span class="cline-any cline-neutral"> </span>
|
|
600
597
|
<span class="cline-any cline-yes">3x</span>
|
|
601
598
|
<span class="cline-any cline-neutral"> </span>
|
|
602
599
|
<span class="cline-any cline-neutral"> </span>
|
|
600
|
+
<span class="cline-any cline-neutral"> </span>
|
|
603
601
|
<span class="cline-any cline-yes">3x</span>
|
|
604
602
|
<span class="cline-any cline-yes">3x</span>
|
|
605
603
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -843,7 +841,7 @@
|
|
|
843
841
|
<span class="cline-any cline-neutral"> </span>
|
|
844
842
|
<span class="cline-any cline-yes">55x</span>
|
|
845
843
|
<span class="cline-any cline-yes">130x</span>
|
|
846
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
844
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { parse, isSchema, isRows } from "../../../utilities/schema"
|
|
847
845
|
import { getRowParams, generateRowID, InternalTables } from "../../../db/utils"
|
|
848
846
|
import { isEqual } from "lodash"
|
|
849
847
|
import { AutoFieldSubTypes, FieldTypes } from "../../../constants"
|
|
@@ -973,24 +971,23 @@ export function <span class="cstat-no" title="statement not covered" >importToRo
|
|
|
973
971
|
return finalData
|
|
974
972
|
}
|
|
975
973
|
|
|
976
|
-
export async function handleDataImport(user: any, table: any,
|
|
977
|
-
|
|
974
|
+
export async function handleDataImport(user: any, table: any, rows: any) {
|
|
975
|
+
const schema: unknown = table.schema
|
|
976
|
+
|
|
977
|
+
if (!rows || !isRows(rows) || !isSchema(schema)) {
|
|
978
978
|
return table
|
|
979
979
|
}
|
|
980
980
|
|
|
981
981
|
const db = context.getAppDB()
|
|
982
|
-
|
|
983
|
-
const data = await transform({
|
|
984
|
-
...dataImport,
|
|
985
|
-
existingTable: table,
|
|
986
|
-
})
|
|
982
|
+
const data = parse(rows, schema)
|
|
987
983
|
|
|
988
984
|
let finalData: any = importToRows(data, table, user)
|
|
989
985
|
|
|
990
986
|
await quotas.addRows(finalData.length, () => db.bulkDocs(finalData), {
|
|
991
987
|
tableId: table._id,
|
|
992
988
|
})
|
|
993
|
-
|
|
989
|
+
|
|
990
|
+
await events.rows.imported(table, finalData.length)
|
|
994
991
|
return table
|
|
995
992
|
}
|
|
996
993
|
|
|
@@ -1055,14 +1052,14 @@ class TableSaveFunctions {
|
|
|
1055
1052
|
db: any
|
|
1056
1053
|
user: any
|
|
1057
1054
|
oldTable: any
|
|
1058
|
-
|
|
1055
|
+
importRows: any
|
|
1059
1056
|
rows: any
|
|
1060
1057
|
|
|
1061
|
-
constructor({ user, oldTable,
|
|
1058
|
+
constructor({ user, oldTable, importRows }: any) {
|
|
1062
1059
|
this.db = context.getAppDB()
|
|
1063
1060
|
this.user = user
|
|
1064
1061
|
this.oldTable = oldTable
|
|
1065
|
-
this.
|
|
1062
|
+
this.importRows = importRows
|
|
1066
1063
|
// any rows that need updated
|
|
1067
1064
|
this.rows = []
|
|
1068
1065
|
}
|
|
@@ -1086,7 +1083,7 @@ class TableSaveFunctions {
|
|
|
1086
1083
|
// after saving
|
|
1087
1084
|
async after(table: any) {
|
|
1088
1085
|
table = await handleSearchIndexes(table)
|
|
1089
|
-
table = await handleDataImport(this.user, table, this.
|
|
1086
|
+
table = await handleDataImport(this.user, table, this.importRows)
|
|
1090
1087
|
return table
|
|
1091
1088
|
}
|
|
1092
1089
|
|
|
@@ -1240,7 +1237,7 @@ export { _TableSaveFunctions as TableSaveFunctions }
|
|
|
1240
1237
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1241
1238
|
Code coverage generated by
|
|
1242
1239
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1243
|
-
at
|
|
1240
|
+
at Tue Jan 17 2023 15:17:11 GMT+0000 (Coordinated Universal Time)
|
|
1244
1241
|
</div>
|
|
1245
1242
|
<script src="../../../../prettify.js"></script>
|
|
1246
1243
|
<script>
|
|
@@ -199,7 +199,7 @@ export async function <span class="fstat-no" title="function not covered" >downl
|
|
|
199
199
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
200
200
|
Code coverage generated by
|
|
201
201
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
202
|
-
at
|
|
202
|
+
at Tue Jan 17 2023 15:17:11 GMT+0000 (Coordinated Universal Time)
|
|
203
203
|
</div>
|
|
204
204
|
<script src="../../../prettify.js"></script>
|
|
205
205
|
<script>
|
|
@@ -619,7 +619,7 @@ export async function getFlags(ctx: BBContext) {
|
|
|
619
619
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
620
620
|
Code coverage generated by
|
|
621
621
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
622
|
-
at
|
|
622
|
+
at Tue Jan 17 2023 15:17:11 GMT+0000 (Coordinated Universal Time)
|
|
623
623
|
</div>
|
|
624
624
|
<script src="../../../prettify.js"></script>
|
|
625
625
|
<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">73.91% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>17/23</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">57.14% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>4/7</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">75% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>9/12</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">68.42% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>13/19</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line medium'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -91,7 +91,22 @@
|
|
|
91
91
|
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
92
|
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
93
|
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
95
110
|
<span class="cline-any cline-neutral"> </span>
|
|
96
111
|
<span class="cline-any cline-yes">2x</span>
|
|
97
112
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -115,11 +130,26 @@
|
|
|
115
130
|
<span class="cline-any cline-yes">4x</span>
|
|
116
131
|
<span class="cline-any cline-neutral"> </span>
|
|
117
132
|
<span class="cline-any cline-neutral"> </span>
|
|
133
|
+
<span class="cline-any cline-no"> </span>
|
|
134
|
+
<span class="cline-any cline-no"> </span>
|
|
135
|
+
<span class="cline-any cline-no"> </span>
|
|
136
|
+
<span class="cline-any cline-no"> </span>
|
|
137
|
+
<span class="cline-any cline-no"> </span>
|
|
138
|
+
<span class="cline-any cline-neutral"> </span>
|
|
139
|
+
<span class="cline-any cline-neutral"> </span>
|
|
140
|
+
<span class="cline-any cline-no"> </span>
|
|
141
|
+
<span class="cline-any cline-neutral"> </span>
|
|
142
|
+
<span class="cline-any cline-neutral"> </span>
|
|
118
143
|
<span class="cline-any cline-yes">55x</span>
|
|
119
144
|
<span class="cline-any cline-neutral"> </span>
|
|
120
145
|
<span class="cline-any cline-neutral"> </span>
|
|
121
146
|
<span class="cline-any cline-neutral"> </span>
|
|
122
|
-
<span class="cline-any cline-neutral"> </span
|
|
147
|
+
<span class="cline-any cline-neutral"> </span>
|
|
148
|
+
<span class="cline-any cline-neutral"> </span>
|
|
149
|
+
<span class="cline-any cline-yes">4x</span>
|
|
150
|
+
<span class="cline-any cline-yes">4x</span>
|
|
151
|
+
<span class="cline-any cline-neutral"> </span>
|
|
152
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Row, TableSchema } from "@budibase/types"
|
|
123
153
|
|
|
124
154
|
export function csv(headers: string[], rows: Row[]) {
|
|
125
155
|
let csv = headers.map(key => `"${key}"`).join(",")
|
|
@@ -139,13 +169,28 @@ export function csv(headers: string[], rows: Row[]) {
|
|
|
139
169
|
return csv
|
|
140
170
|
}
|
|
141
171
|
|
|
142
|
-
export function json(
|
|
172
|
+
export function json(rows: Row[]) {
|
|
143
173
|
return JSON.stringify(rows, undefined, 2)
|
|
144
174
|
}
|
|
145
175
|
|
|
146
|
-
export
|
|
147
|
-
|
|
148
|
-
|
|
176
|
+
export function <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >jsonWithSchema<span class="fstat-no" title="function not covered" >(</span></span>s</span>chema: TableSchema, rows: Row[]) {
|
|
177
|
+
const newSchema: TableSchema = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
178
|
+
<span class="cstat-no" title="statement not covered" > Object.values(schema).forEach(<span class="fstat-no" title="function not covered" >column => {</span></span>
|
|
179
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!column.autocolumn) {</span>
|
|
180
|
+
<span class="cstat-no" title="statement not covered" > newSchema[column.name] = column</span>
|
|
181
|
+
}
|
|
182
|
+
})
|
|
183
|
+
<span class="cstat-no" title="statement not covered" > return JSON.stringify({ schema: newSchema, rows }, undefined, 2)</span>
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export enum Format {
|
|
187
|
+
CSV = "csv",
|
|
188
|
+
JSON = "json",
|
|
189
|
+
JSON_WITH_SCHEMA = "jsonWithSchema",
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export function isFormat(format: any): format is Format {
|
|
193
|
+
return Object.values(Format).includes(format as Format)
|
|
149
194
|
}
|
|
150
195
|
</pre></td></tr></table></pre>
|
|
151
196
|
|
|
@@ -154,7 +199,7 @@ export const ExportFormats = {
|
|
|
154
199
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
155
200
|
Code coverage generated by
|
|
156
201
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
157
|
-
at
|
|
202
|
+
at Tue Jan 17 2023 15:17:11 GMT+0000 (Coordinated Universal Time)
|
|
158
203
|
</div>
|
|
159
204
|
<script src="../../../../prettify.js"></script>
|
|
160
205
|
<script>
|