@budibase/server 2.1.45 → 2.1.46-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/aws-sdk.ts +14 -0
- package/__mocks__/node-fetch.ts +5 -1
- package/builder/assets/index.156490b5.js +1020 -0
- package/builder/assets/index.538092be.css +6 -0
- package/builder/index.html +2 -2
- package/coverage/clover.xml +11101 -3980
- package/coverage/coverage-final.json +273 -118
- package/coverage/lcov-report/index.html +727 -187
- package/coverage/lcov-report/src/api/controllers/analytics.ts.html +190 -0
- package/coverage/lcov-report/{api/controllers/apikeys.js.html → src/api/controllers/apikeys.ts.html} +30 -30
- package/coverage/lcov-report/src/api/controllers/application.ts.html +1891 -0
- package/coverage/lcov-report/src/api/controllers/auth.ts.html +301 -0
- package/coverage/lcov-report/{api/controllers/automation.js.html → src/api/controllers/automation.ts.html} +99 -99
- package/coverage/lcov-report/src/api/controllers/backup.ts.html +148 -0
- package/coverage/lcov-report/{api/controllers/cloud.js.html → src/api/controllers/cloud.ts.html} +61 -58
- package/coverage/lcov-report/src/api/controllers/component.ts.html +259 -0
- package/coverage/lcov-report/{api/controllers/datasource.js.html → src/api/controllers/datasource.ts.html} +287 -107
- package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +259 -0
- package/coverage/lcov-report/{utilities/rowProcessor → src/api/controllers/deploy}/index.html +40 -40
- package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +748 -0
- package/coverage/lcov-report/{api/controllers/dev.js.html → src/api/controllers/dev.ts.html} +69 -87
- package/coverage/lcov-report/src/api/controllers/index.html +431 -0
- package/coverage/lcov-report/src/api/controllers/integration.ts.html +124 -0
- package/coverage/lcov-report/{api/controllers/layout.js.html → src/api/controllers/layout.ts.html} +31 -31
- package/coverage/lcov-report/{api/controllers/metadata.js.html → src/api/controllers/metadata.ts.html} +33 -30
- package/coverage/lcov-report/{api/controllers/migrations.js.html → src/api/controllers/migrations.ts.html} +20 -17
- package/coverage/lcov-report/{api/controllers/permission.js.html → src/api/controllers/permission.ts.html} +88 -79
- package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +130 -0
- package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +310 -0
- package/coverage/lcov-report/src/api/controllers/plugin/index.html +206 -0
- package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +484 -0
- package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +253 -0
- package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +97 -0
- package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +121 -0
- package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +136 -0
- package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +334 -0
- package/coverage/lcov-report/src/api/controllers/public/index.html +191 -0
- package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +181 -0
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +191 -0
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +124 -0
- package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +202 -0
- package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +178 -0
- package/coverage/lcov-report/{utilities/routing/index.js.html → src/api/controllers/public/mapping/tables.ts.html} +46 -43
- package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +181 -0
- package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +145 -0
- package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +328 -0
- package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +253 -0
- package/coverage/lcov-report/src/api/controllers/public/users.ts.html +325 -0
- package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +220 -0
- package/coverage/lcov-report/src/api/controllers/query/import/index.html +116 -0
- package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +373 -0
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +131 -0
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +379 -0
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +157 -0
- package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +403 -0
- package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +146 -0
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +586 -0
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +712 -0
- package/coverage/lcov-report/src/api/controllers/query/index.html +131 -0
- package/coverage/lcov-report/src/api/controllers/query/index.ts.html +976 -0
- package/coverage/lcov-report/{api/controllers/query/validation.js.html → src/api/controllers/query/validation.ts.html} +26 -26
- package/coverage/lcov-report/{api/controllers/role.js.html → src/api/controllers/role.ts.html} +51 -63
- package/coverage/lcov-report/{api/controllers/routing.js.html → src/api/controllers/routing.ts.html} +67 -58
- package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +2269 -0
- package/coverage/lcov-report/{api/controllers/row/external.js.html → src/api/controllers/row/external.ts.html} +162 -111
- package/coverage/lcov-report/{api → src/api}/controllers/row/index.html +82 -52
- package/coverage/lcov-report/src/api/controllers/row/index.ts.html +541 -0
- package/coverage/lcov-report/{api/controllers/row/internal.js.html → src/api/controllers/row/internal.ts.html} +163 -121
- package/coverage/lcov-report/{api/controllers/row/internalSearch.js.html → src/api/controllers/row/internalSearch.ts.html} +189 -117
- package/coverage/lcov-report/{api/controllers/row/staticFormula.js.html → src/api/controllers/row/staticFormula.ts.html} +73 -58
- package/coverage/lcov-report/{api/controllers/row/utils.js.html → src/api/controllers/row/utils.ts.html} +88 -58
- package/coverage/lcov-report/src/api/controllers/screen.ts.html +463 -0
- package/coverage/lcov-report/{api/controllers/script.js.html → src/api/controllers/script.ts.html} +19 -16
- package/coverage/lcov-report/src/api/controllers/static/index.html +116 -0
- package/coverage/lcov-report/src/api/controllers/static/index.ts.html +694 -0
- package/coverage/lcov-report/{api/controllers/table/bulkFormula.js.html → src/api/controllers/table/bulkFormula.ts.html} +104 -62
- package/coverage/lcov-report/{api/controllers/table/external.js.html → src/api/controllers/table/external.ts.html} +204 -111
- package/coverage/lcov-report/src/api/controllers/table/index.html +176 -0
- package/coverage/lcov-report/{api/controllers/table/index.js.html → src/api/controllers/table/index.ts.html} +58 -49
- package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +661 -0
- package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +1255 -0
- package/coverage/lcov-report/{api/controllers/templates.js.html → src/api/controllers/templates.ts.html} +38 -29
- package/coverage/lcov-report/{api/controllers/user.js.html → src/api/controllers/user.ts.html} +78 -255
- package/coverage/lcov-report/{api/controllers/view/exporters.js.html → src/api/controllers/view/exporters.ts.html} +22 -16
- package/coverage/lcov-report/{api → src/api}/controllers/view/index.html +36 -36
- package/coverage/lcov-report/{api/controllers/view/index.js.html → src/api/controllers/view/index.ts.html} +91 -64
- package/coverage/lcov-report/{api/controllers/view/utils.js.html → src/api/controllers/view/utils.ts.html} +72 -54
- package/coverage/lcov-report/{api/controllers/view/viewBuilder.js.html → src/api/controllers/view/viewBuilder.ts.html} +78 -36
- package/coverage/lcov-report/src/api/controllers/webhook.ts.html +379 -0
- package/coverage/lcov-report/{api → src/api}/index.html +23 -23
- package/coverage/lcov-report/{api/index.js.html → src/api/index.ts.html} +63 -84
- package/coverage/lcov-report/src/api/routes/analytics.ts.html +112 -0
- package/coverage/lcov-report/{api/routes/integration.js.html → src/api/routes/apikeys.ts.html} +25 -25
- package/coverage/lcov-report/src/api/routes/application.ts.html +223 -0
- package/coverage/lcov-report/src/api/routes/auth.ts.html +109 -0
- package/coverage/lcov-report/{api/routes/automation.js.html → src/api/routes/automation.ts.html} +53 -47
- package/coverage/lcov-report/{api/routes/cloud.js.html → src/api/routes/backup.ts.html} +28 -28
- package/coverage/lcov-report/{api/routes/deploy.js.html → src/api/routes/cloud.ts.html} +31 -28
- package/coverage/lcov-report/{api/routes/component.js.html → src/api/routes/component.ts.html} +24 -24
- package/coverage/lcov-report/src/api/routes/datasource.ts.html +265 -0
- package/coverage/lcov-report/src/api/routes/deploy.ts.html +148 -0
- package/coverage/lcov-report/src/api/routes/dev.ts.html +199 -0
- package/coverage/lcov-report/{api → src/api}/routes/index.html +167 -47
- package/coverage/lcov-report/src/api/routes/index.ts.html +289 -0
- package/coverage/lcov-report/src/api/routes/integration.ts.html +133 -0
- package/coverage/lcov-report/src/api/routes/layout.ts.html +133 -0
- package/coverage/lcov-report/{api/routes/metadata.js.html → src/api/routes/metadata.ts.html} +31 -31
- package/coverage/lcov-report/{api/routes/migrations.js.html → src/api/routes/migrations.ts.html} +24 -24
- package/coverage/lcov-report/{api/routes/permission.js.html → src/api/routes/permission.ts.html} +55 -31
- package/coverage/lcov-report/src/api/routes/plugin.ts.html +151 -0
- package/coverage/lcov-report/src/api/routes/public/applications.ts.html +541 -0
- package/coverage/lcov-report/src/api/routes/public/index.html +191 -0
- package/coverage/lcov-report/src/api/routes/public/index.ts.html +493 -0
- package/coverage/lcov-report/src/api/routes/public/middleware/index.html +116 -0
- package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +328 -0
- package/coverage/lcov-report/src/api/routes/public/queries.ts.html +313 -0
- package/coverage/lcov-report/src/api/routes/public/rows.ts.html +598 -0
- package/coverage/lcov-report/src/api/routes/public/tables.ts.html +586 -0
- package/coverage/lcov-report/src/api/routes/public/tests/index.html +116 -0
- package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +169 -0
- package/coverage/lcov-report/src/api/routes/public/users.ts.html +511 -0
- package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +238 -0
- package/coverage/lcov-report/src/api/routes/public/utils/index.html +116 -0
- package/coverage/lcov-report/{api/routes/query.js.html → src/api/routes/query.ts.html} +41 -50
- package/coverage/lcov-report/src/api/routes/role.ts.html +157 -0
- package/coverage/lcov-report/{api/routes/routing.js.html → src/api/routes/routing.ts.html} +24 -24
- package/coverage/lcov-report/src/api/routes/row.ts.html +883 -0
- package/coverage/lcov-report/{api/routes/screen.js.html → src/api/routes/screen.ts.html} +43 -28
- package/coverage/lcov-report/{api/routes/script.js.html → src/api/routes/script.ts.html} +17 -17
- package/coverage/lcov-report/src/api/routes/static.ts.html +280 -0
- package/coverage/lcov-report/{api/routes/table.js.html → src/api/routes/table.ts.html} +32 -41
- package/coverage/lcov-report/src/api/routes/templates.ts.html +133 -0
- package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +550 -0
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +131 -0
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +367 -0
- package/coverage/lcov-report/{api/routes/user.js.html → src/api/routes/user.ts.html} +35 -41
- package/coverage/lcov-report/{api → src/api}/routes/utils/index.html +15 -15
- package/coverage/lcov-report/{api/routes/utils/validators.js.html → src/api/routes/utils/validators.ts.html} +86 -98
- package/coverage/lcov-report/{api/routes/view.js.html → src/api/routes/view.ts.html} +45 -36
- package/coverage/lcov-report/src/api/routes/webhook.ts.html +166 -0
- package/coverage/lcov-report/src/app.ts.html +406 -0
- package/coverage/lcov-report/{automations/actions.js.html → src/automations/actions.ts.html} +69 -60
- package/coverage/lcov-report/{automations/automationUtils.js.html → src/automations/automationUtils.ts.html} +36 -33
- package/coverage/lcov-report/{automations/bullboard.js.html → src/automations/bullboard.ts.html} +39 -42
- package/coverage/lcov-report/{automations → src/automations}/index.html +63 -48
- package/coverage/lcov-report/{api/routes/dev.js.html → src/automations/index.ts.html} +46 -46
- package/coverage/lcov-report/src/automations/logging/index.html +116 -0
- package/coverage/lcov-report/src/automations/logging/index.ts.html +199 -0
- package/coverage/lcov-report/{automations/steps/bash.js.html → src/automations/steps/bash.ts.html} +45 -30
- package/coverage/lcov-report/src/automations/steps/createRow.ts.html +382 -0
- package/coverage/lcov-report/{automations/steps/delay.js.html → src/automations/steps/delay.ts.html} +34 -19
- package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +349 -0
- package/coverage/lcov-report/{automations/steps/discord.js.html → src/automations/steps/discord.ts.html} +43 -28
- package/coverage/lcov-report/{automations/steps/executeQuery.js.html → src/automations/steps/executeQuery.ts.html} +45 -30
- package/coverage/lcov-report/{automations/steps/executeScript.js.html → src/automations/steps/executeScript.ts.html} +58 -28
- package/coverage/lcov-report/{automations/steps/filter.js.html → src/automations/steps/filter.ts.html} +39 -30
- package/coverage/lcov-report/src/automations/steps/index.html +371 -0
- package/coverage/lcov-report/{automations/steps/integromat.js.html → src/automations/steps/integromat.ts.html} +38 -23
- package/coverage/lcov-report/{automations/steps/loop.js.html → src/automations/steps/loop.ts.html} +21 -15
- package/coverage/lcov-report/{automations/steps/outgoingWebhook.js.html → src/automations/steps/outgoingWebhook.ts.html} +54 -39
- package/coverage/lcov-report/{automations/steps/queryRows.js.html → src/automations/steps/queryRows.ts.html} +102 -66
- package/coverage/lcov-report/{automations/steps/sendSmtpEmail.js.html → src/automations/steps/sendSmtpEmail.ts.html} +40 -25
- package/coverage/lcov-report/{automations/steps/serverLog.js.html → src/automations/steps/serverLog.ts.html} +40 -22
- package/coverage/lcov-report/{automations/steps/slack.js.html → src/automations/steps/slack.ts.html} +38 -23
- package/coverage/lcov-report/{automations/steps/updateRow.js.html → src/automations/steps/updateRow.ts.html} +40 -25
- package/coverage/lcov-report/{automations/steps/utils.js.html → src/automations/steps/utils.ts.html} +45 -27
- package/coverage/lcov-report/{automations/steps/zapier.js.html → src/automations/steps/zapier.ts.html} +41 -23
- package/coverage/lcov-report/src/automations/tests/utilities/index.html +116 -0
- package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +265 -0
- package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +196 -0
- package/coverage/lcov-report/{automations/triggerInfo/cron.js.html → src/automations/triggerInfo/cron.ts.html} +30 -15
- package/coverage/lcov-report/{automations → src/automations}/triggerInfo/index.html +31 -31
- package/coverage/lcov-report/{automations/triggerInfo/index.js.html → src/automations/triggerInfo/index.ts.html} +24 -24
- package/coverage/lcov-report/{automations/triggerInfo/rowDeleted.js.html → src/automations/triggerInfo/rowDeleted.ts.html} +30 -15
- package/coverage/lcov-report/{automations/triggerInfo/rowSaved.js.html → src/automations/triggerInfo/rowSaved.ts.html} +30 -15
- package/coverage/lcov-report/{automations/triggerInfo/rowUpdated.js.html → src/automations/triggerInfo/rowUpdated.ts.html} +30 -15
- package/coverage/lcov-report/{automations/triggerInfo/webhook.js.html → src/automations/triggerInfo/webhook.ts.html} +30 -15
- package/coverage/lcov-report/{automations/triggers.js.html → src/automations/triggers.ts.html} +78 -66
- package/coverage/lcov-report/src/automations/utils.ts.html +886 -0
- package/coverage/lcov-report/{constants → src/constants}/index.html +26 -26
- package/coverage/lcov-report/src/constants/index.ts.html +697 -0
- package/coverage/lcov-report/{constants/layouts.js.html → src/constants/layouts.ts.html} +18 -36
- package/coverage/lcov-report/{constants/screens.js.html → src/constants/screens.ts.html} +64 -58
- package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +2059 -0
- package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +541 -0
- package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +427 -0
- package/coverage/lcov-report/src/db/defaultData/index.html +176 -0
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +403 -0
- package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +559 -0
- package/coverage/lcov-report/src/db/dynamoClient.ts.html +526 -0
- package/coverage/lcov-report/{db/inMemoryView.js.html → src/db/inMemoryView.ts.html} +47 -29
- package/coverage/lcov-report/{db → src/db}/index.html +48 -33
- package/coverage/lcov-report/{api/routes/templates.js.html → src/db/index.ts.html} +28 -28
- package/coverage/lcov-report/{db/linkedRows/LinkController.js.html → src/db/linkedRows/LinkController.ts.html} +97 -160
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +265 -0
- package/coverage/lcov-report/src/db/linkedRows/index.html +161 -0
- package/coverage/lcov-report/{db/linkedRows/index.js.html → src/db/linkedRows/index.ts.html} +93 -78
- package/coverage/lcov-report/{db/linkedRows/linkUtils.js.html → src/db/linkedRows/linkUtils.ts.html} +83 -56
- package/coverage/lcov-report/{db/newid.js.html → src/db/newid.ts.html} +14 -14
- package/coverage/lcov-report/{db/utils.js.html → src/db/utils.ts.html} +163 -211
- package/coverage/lcov-report/{automations/triggerInfo/app.js.html → src/definitions/automations.ts.html} +42 -42
- package/coverage/lcov-report/{api/routes/datasource.js.html → src/definitions/datasource.ts.html} +61 -64
- package/coverage/lcov-report/src/definitions/index.html +131 -0
- package/coverage/lcov-report/src/environment.ts.html +457 -0
- package/coverage/lcov-report/{events/AutomationEmitter.js.html → src/events/AutomationEmitter.ts.html} +40 -25
- package/coverage/lcov-report/{events/index.js.html → src/events/BudibaseEmitter.ts.html} +26 -29
- package/coverage/lcov-report/{events → src/events}/index.html +48 -33
- package/coverage/lcov-report/src/events/index.ts.html +100 -0
- package/coverage/lcov-report/src/events/utils.ts.html +319 -0
- package/coverage/lcov-report/src/index.html +191 -0
- package/coverage/lcov-report/{db/index.js.html → src/index.ts.html} +35 -35
- package/coverage/lcov-report/{utilities/queue/inMemoryQueue.js.html → src/integrations/airtable.ts.html} +213 -135
- package/coverage/lcov-report/src/integrations/arangodb.ts.html +415 -0
- package/coverage/lcov-report/src/integrations/base/index.html +161 -0
- package/coverage/lcov-report/src/integrations/base/query.ts.html +133 -0
- package/coverage/lcov-report/src/integrations/base/sql.ts.html +1951 -0
- package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +691 -0
- package/coverage/lcov-report/{api/routes/apikeys.js.html → src/integrations/base/utils.ts.html} +30 -30
- package/coverage/lcov-report/src/integrations/couchdb.ts.html +406 -0
- package/coverage/lcov-report/{constants/index.js.html → src/integrations/dynamodb.ts.html} +263 -227
- package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +634 -0
- package/coverage/lcov-report/src/integrations/firebase.ts.html +646 -0
- package/coverage/lcov-report/src/integrations/googlesheets.ts.html +1315 -0
- package/coverage/lcov-report/src/integrations/index.html +371 -0
- package/coverage/lcov-report/src/integrations/index.ts.html +445 -0
- package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1012 -0
- package/coverage/lcov-report/src/integrations/mongodb.ts.html +1867 -0
- package/coverage/lcov-report/src/integrations/mysql.ts.html +967 -0
- package/coverage/lcov-report/src/integrations/oracle.ts.html +1387 -0
- package/coverage/lcov-report/src/integrations/postgres.ts.html +1087 -0
- package/coverage/lcov-report/src/integrations/queries/index.html +116 -0
- package/coverage/lcov-report/src/integrations/queries/sql.ts.html +463 -0
- package/coverage/lcov-report/src/integrations/redis.ts.html +550 -0
- package/coverage/lcov-report/src/integrations/rest.ts.html +1381 -0
- package/coverage/lcov-report/src/integrations/s3.ts.html +862 -0
- package/coverage/lcov-report/src/integrations/snowflake.ts.html +376 -0
- package/coverage/lcov-report/{integrations → src/integrations}/tests/TestConfiguration.js.html +10 -10
- package/coverage/lcov-report/{integrations → src/integrations}/tests/index.html +10 -10
- package/coverage/lcov-report/src/integrations/utils.ts.html +1018 -0
- package/coverage/lcov-report/{middleware/appInfo.js.html → src/middleware/appInfo.ts.html} +33 -30
- package/coverage/lcov-report/src/middleware/authorized.ts.html +460 -0
- package/coverage/lcov-report/{middleware/builder.js.html → src/middleware/builder.ts.html} +57 -51
- package/coverage/lcov-report/{middleware/currentapp.js.html → src/middleware/currentapp.ts.html} +116 -107
- package/coverage/lcov-report/{middleware → src/middleware}/index.html +78 -63
- package/coverage/lcov-report/{middleware/joi-validator.js.html → src/middleware/joi-validator.ts.html} +25 -22
- package/coverage/lcov-report/{middleware/publicApi.js.html → src/middleware/publicApi.ts.html} +31 -31
- package/coverage/lcov-report/{middleware/resourceId.js.html → src/middleware/resourceId.ts.html} +66 -51
- package/coverage/lcov-report/{api/controllers/integration.js.html → src/middleware/selfhost.ts.html} +22 -28
- package/coverage/lcov-report/{api/routes/analytics.js.html → src/middleware/utils.ts.html} +19 -19
- package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +166 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +163 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +151 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +206 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +172 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +226 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +151 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +151 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +166 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +532 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +283 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +146 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +265 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +232 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +724 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/index.html +161 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +106 -0
- package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +235 -0
- package/coverage/lcov-report/src/migrations/functions/index.html +161 -0
- package/coverage/lcov-report/{api/routes/role.js.html → src/migrations/functions/syncQuotas.ts.html} +36 -36
- package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +520 -0
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +161 -0
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +94 -0
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +127 -0
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +115 -0
- package/coverage/lcov-report/{automations/index.js.html → src/migrations/functions/usageQuotas/syncRows.ts.html} +58 -61
- package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +124 -0
- package/coverage/lcov-report/{utilities/queue → src/migrations}/index.html +23 -23
- package/coverage/lcov-report/src/migrations/index.ts.html +430 -0
- package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +205 -0
- package/coverage/lcov-report/src/migrations/tests/index.html +131 -0
- package/coverage/lcov-report/src/migrations/tests/structures.ts.html +283 -0
- package/coverage/lcov-report/src/sdk/app/applications/index.html +146 -0
- package/coverage/lcov-report/{middleware/utils.js.html → src/sdk/app/applications/index.ts.html} +19 -19
- package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +268 -0
- package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +136 -0
- package/coverage/lcov-report/src/sdk/app/automations/index.html +131 -0
- package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +100 -0
- package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +214 -0
- package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +91 -0
- package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +604 -0
- package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +682 -0
- package/coverage/lcov-report/src/sdk/app/backups/index.html +176 -0
- package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +112 -0
- package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +292 -0
- package/coverage/lcov-report/src/sdk/app/tables/index.html +116 -0
- package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +265 -0
- package/coverage/lcov-report/{utilities/routing → src/sdk}/index.html +10 -10
- package/coverage/lcov-report/{api/routes/layout.js.html → src/sdk/index.ts.html} +24 -24
- package/coverage/lcov-report/src/sdk/users/index.html +131 -0
- package/coverage/lcov-report/src/sdk/users/index.ts.html +100 -0
- package/coverage/lcov-report/src/sdk/users/utils.ts.html +277 -0
- package/coverage/lcov-report/src/startup.ts.html +499 -0
- package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +1966 -0
- package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +127 -0
- package/coverage/lcov-report/src/tests/utilities/index.html +161 -0
- package/coverage/lcov-report/{middleware/selfhost.js.html → src/tests/utilities/index.ts.html} +33 -30
- package/coverage/lcov-report/src/tests/utilities/structures.ts.html +667 -0
- package/coverage/lcov-report/src/threads/automation.ts.html +1594 -0
- package/coverage/lcov-report/src/threads/index.html +161 -0
- package/coverage/lcov-report/src/threads/index.ts.html +418 -0
- package/coverage/lcov-report/src/threads/query.ts.html +961 -0
- package/coverage/lcov-report/src/threads/utils.ts.html +373 -0
- package/coverage/lcov-report/{utilities/budibaseDir.js.html → src/utilities/budibaseDir.ts.html} +14 -14
- package/coverage/lcov-report/{utilities/centralPath.js.html → src/utilities/centralPath.ts.html} +16 -16
- package/coverage/lcov-report/{utilities/csvParser.js.html → src/utilities/csvParser.ts.html} +107 -59
- package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +547 -0
- package/coverage/lcov-report/{api/controllers/table → src/utilities/fileSystem}/index.html +44 -44
- package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1129 -0
- package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +142 -0
- package/coverage/lcov-report/{utilities/global.js.html → src/utilities/global.ts.html} +144 -111
- package/coverage/lcov-report/{utilities → src/utilities}/index.html +92 -77
- package/coverage/lcov-report/{utilities/index.js.html → src/utilities/index.ts.html} +98 -74
- package/coverage/lcov-report/{utilities/plugins.js.html → src/utilities/plugins.ts.html} +25 -22
- package/coverage/lcov-report/src/utilities/redis.ts.html +343 -0
- package/coverage/lcov-report/{api/controllers/query → src/utilities/routing}/index.html +8 -8
- package/coverage/lcov-report/src/utilities/routing/index.ts.html +181 -0
- package/coverage/lcov-report/src/utilities/rowProcessor/index.html +146 -0
- package/coverage/lcov-report/{utilities/rowProcessor/index.js.html → src/utilities/rowProcessor/index.ts.html} +128 -359
- package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +373 -0
- package/coverage/lcov-report/{utilities/rowProcessor/utils.js.html → src/utilities/rowProcessor/utils.ts.html} +54 -42
- package/coverage/lcov-report/{utilities/scriptRunner.js.html → src/utilities/scriptRunner.ts.html} +31 -19
- package/coverage/lcov-report/{utilities/security.js.html → src/utilities/security.ts.html} +60 -78
- package/coverage/lcov-report/{utilities/statusCodes.js.html → src/utilities/statusCodes.ts.html} +11 -11
- package/coverage/lcov-report/{utilities → src/utilities}/usageQuota/index.html +30 -30
- package/coverage/lcov-report/{utilities/usageQuota/rows.js.html → src/utilities/usageQuota/rows.ts.html} +42 -54
- package/coverage/lcov-report/{utilities/usageQuota/usageQuoteReset.js.html → src/utilities/usageQuota/usageQuoteReset.ts.html} +13 -13
- package/coverage/lcov-report/{utilities/users.js.html → src/utilities/users.ts.html} +44 -50
- package/coverage/lcov-report/{utilities/workerRequests.js.html → src/utilities/workerRequests.ts.html} +127 -112
- package/coverage/lcov-report/{events/utils.js.html → src/watch.ts.html} +68 -71
- package/coverage/lcov-report/src/websocket.ts.html +163 -0
- package/coverage/lcov.info +19994 -7196
- package/dist/api/controllers/apikeys.js +12 -9
- package/dist/api/controllers/application.js +430 -446
- package/dist/api/controllers/automation.js +122 -82
- package/dist/api/controllers/cloud.js +85 -71
- package/dist/api/controllers/component.js +4 -2
- package/dist/api/controllers/datasource.js +151 -94
- package/dist/api/controllers/deploy/Deployment.js +10 -6
- package/dist/api/controllers/deploy/index.js +19 -16
- package/dist/api/controllers/dev.js +96 -81
- package/dist/api/controllers/integration.js +11 -8
- package/dist/api/controllers/layout.js +18 -15
- package/dist/api/controllers/metadata.js +51 -37
- package/dist/api/controllers/migrations.js +19 -11
- package/dist/api/controllers/permission.js +52 -43
- package/dist/api/controllers/plugin/index.js +6 -7
- package/dist/api/controllers/plugin/utils.js +2 -1
- package/dist/api/controllers/public/applications.js +17 -9
- package/dist/api/controllers/public/tables.js +29 -9
- package/dist/api/controllers/public/users.js +18 -0
- package/dist/api/controllers/public/utils.js +2 -2
- package/dist/api/controllers/query/import/index.js +1 -2
- package/dist/api/controllers/query/index.js +10 -13
- 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 +539 -542
- package/dist/api/controllers/row/external.js +258 -190
- package/dist/api/controllers/row/index.js +43 -14
- package/dist/api/controllers/row/internal.js +354 -295
- package/dist/api/controllers/row/internalSearch.js +95 -80
- package/dist/api/controllers/row/staticFormula.js +125 -112
- package/dist/api/controllers/row/utils.js +122 -84
- package/dist/api/controllers/screen.js +81 -66
- package/dist/api/controllers/script.js +13 -6
- package/dist/api/controllers/static/index.js +11 -14
- package/dist/api/controllers/table/bulkFormula.js +47 -35
- package/dist/api/controllers/table/external.js +89 -53
- package/dist/api/controllers/table/index.js +64 -31
- package/dist/api/controllers/table/internal.js +5 -6
- package/dist/api/controllers/table/utils.js +39 -35
- package/dist/api/controllers/templates.js +17 -10
- package/dist/api/controllers/user.js +65 -94
- 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/controllers/view/viewBuilder.js +4 -16
- package/dist/api/controllers/webhook.js +25 -2
- 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 +33 -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/public/index.js +11 -11
- package/dist/api/routes/public/tests/utils.js +33 -0
- 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 +12 -11
- 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/tests/utilities/index.js +69 -32
- 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 +22 -22
- package/dist/automations/actions.js +53 -24
- package/dist/automations/automationUtils.js +31 -19
- package/dist/automations/bullboard.js +59 -29
- package/dist/automations/index.js +23 -18
- package/dist/automations/steps/bash.js +40 -10
- package/dist/automations/steps/createRow.js +2 -1
- package/dist/automations/steps/delay.js +9 -5
- package/dist/automations/steps/deleteRow.js +2 -1
- package/dist/automations/steps/discord.js +14 -7
- package/dist/automations/steps/executeQuery.js +34 -7
- package/dist/automations/steps/executeScript.js +34 -7
- package/dist/automations/steps/filter.js +20 -18
- package/dist/automations/steps/integromat.js +14 -7
- package/dist/automations/steps/loop.js +4 -1
- package/dist/automations/steps/outgoingWebhook.js +45 -14
- package/dist/automations/steps/queryRows.js +71 -38
- package/dist/automations/steps/sendSmtpEmail.js +33 -6
- package/dist/automations/steps/serverLog.js +12 -8
- package/dist/automations/steps/slack.js +14 -7
- package/dist/automations/steps/updateRow.js +34 -7
- package/dist/automations/steps/utils.js +22 -16
- package/dist/automations/steps/zapier.js +15 -7
- package/dist/automations/tests/utilities/index.js +62 -38
- package/dist/automations/triggerInfo/app.js +4 -1
- package/dist/automations/triggerInfo/cron.js +4 -1
- package/dist/automations/triggerInfo/index.js +31 -6
- package/dist/automations/triggerInfo/rowDeleted.js +4 -1
- package/dist/automations/triggerInfo/rowSaved.js +4 -1
- package/dist/automations/triggerInfo/rowUpdated.js +4 -1
- package/dist/automations/triggerInfo/webhook.js +4 -1
- package/dist/automations/triggers.js +90 -57
- package/dist/automations/utils.js +9 -8
- package/dist/constants/index.js +118 -104
- package/dist/constants/layouts.js +7 -10
- package/dist/constants/screens.js +49 -44
- package/dist/db/defaultData/datasource_bb_default.js +573 -0
- package/dist/db/defaultData/employeeImport.js +155 -0
- package/dist/db/defaultData/expensesImport.js +117 -0
- package/dist/db/defaultData/inventoryImport.js +109 -0
- package/dist/db/defaultData/jobsImport.js +152 -0
- package/dist/db/dynamoClient.js +20 -20
- package/dist/db/inMemoryView.js +47 -38
- package/dist/db/index.js +7 -4
- package/dist/db/linkedRows/LinkController.js +51 -70
- package/dist/db/linkedRows/LinkDocument.js +32 -0
- package/dist/db/linkedRows/index.js +93 -81
- package/dist/db/linkedRows/linkUtils.js +42 -32
- package/dist/db/utils.js +146 -119
- package/dist/db/views/staticViews.js +91 -74
- package/dist/environment.js +9 -6
- package/dist/events/AutomationEmitter.js +13 -10
- package/dist/events/BudibaseEmitter.js +24 -0
- package/dist/events/index.js +5 -23
- package/dist/events/utils.js +18 -10
- package/dist/integrations/base/types.js +2 -0
- package/dist/integrations/elasticsearch.js +26 -2
- package/dist/integrations/googlesheets.js +5 -6
- package/dist/integrations/index.js +15 -6
- package/dist/integrations/microsoftSqlServer.js +8 -3
- package/dist/integrations/oracle.js +8 -1
- package/dist/integrations/postgres.js +6 -3
- package/dist/integrations/s3.js +157 -1
- package/dist/middleware/appInfo.js +14 -9
- package/dist/middleware/authorized.js +22 -21
- package/dist/middleware/builder.js +41 -40
- package/dist/middleware/currentapp.js +39 -37
- package/dist/middleware/joi-validator.js +17 -10
- package/dist/middleware/publicApi.js +5 -6
- package/dist/middleware/resourceId.js +16 -9
- package/dist/middleware/selfhost.js +5 -4
- package/dist/middleware/utils.js +5 -2
- package/dist/migrations/functions/appUrls.js +7 -11
- package/dist/migrations/functions/backfill/global.js +1 -1
- package/dist/migrations/functions/tableSettings.js +130 -0
- 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/migrations/index.js +5 -0
- package/dist/package.json +11 -45
- package/dist/sdk/app/applications/index.js +28 -0
- package/dist/sdk/app/applications/sync.js +70 -0
- package/dist/sdk/app/applications/utils.js +21 -0
- package/dist/sdk/app/backups/exports.js +1 -2
- package/dist/sdk/app/backups/imports.js +2 -3
- package/dist/sdk/app/tables/index.js +5 -5
- package/dist/sdk/index.js +4 -2
- package/dist/sdk/users/index.js +27 -0
- package/dist/sdk/users/utils.js +65 -0
- package/dist/startup.js +10 -10
- package/dist/tests/utilities/TestConfiguration.js +111 -87
- package/dist/tests/utilities/controllers.js +38 -15
- package/dist/tests/utilities/structures.js +72 -53
- package/dist/threads/automation.js +49 -27
- package/dist/threads/query.js +17 -19
- package/dist/threads/utils.js +33 -8
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +4 -2
- package/dist/utilities/centralPath.js +14 -7
- package/dist/utilities/csvParser.js +27 -21
- package/dist/utilities/fileSystem/clientLibrary.js +87 -73
- package/dist/utilities/fileSystem/index.js +203 -175
- package/dist/utilities/fileSystem/processor.js +8 -3
- package/dist/utilities/global.js +87 -66
- package/dist/utilities/index.js +102 -75
- package/dist/utilities/plugins.js +15 -9
- package/dist/utilities/redis.js +100 -65
- package/dist/utilities/routing/index.js +27 -23
- package/dist/utilities/rowProcessor/index.js +133 -191
- package/dist/utilities/rowProcessor/map.js +99 -0
- package/dist/utilities/rowProcessor/utils.js +35 -26
- package/dist/utilities/scriptRunner.js +8 -5
- 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/jest.config.ts +33 -0
- package/package.json +12 -46
- package/scripts/exportAppTemplate.js +2 -2
- package/scripts/integrations/mssql/data/setup.sql +3 -3
- package/scripts/integrations/postgres/emp-skill.sql +46 -0
- package/scripts/localdomain.js +34 -6
- package/src/api/controllers/{apikeys.js → apikeys.ts} +10 -10
- package/src/api/controllers/application.ts +100 -135
- package/src/api/controllers/auth.ts +4 -3
- package/src/api/controllers/{automation.js → automation.ts} +48 -48
- package/src/api/controllers/{cloud.js → cloud.ts} +25 -24
- package/src/api/controllers/component.ts +2 -1
- package/src/api/controllers/{datasource.js → datasource.ts} +109 -49
- package/src/api/controllers/deploy/{Deployment.js → Deployment.ts} +13 -10
- package/src/api/controllers/deploy/index.ts +19 -25
- package/src/api/controllers/{dev.js → dev.ts} +31 -37
- package/src/api/controllers/integration.ts +13 -0
- package/src/api/controllers/{layout.js → layout.ts} +8 -8
- package/src/api/controllers/{metadata.js → metadata.ts} +11 -10
- package/src/api/controllers/migrations.ts +14 -0
- package/src/api/controllers/{permission.js → permission.ts} +49 -46
- package/src/api/controllers/plugin/index.ts +4 -5
- package/src/api/controllers/plugin/utils.ts +3 -5
- package/src/api/controllers/public/applications.ts +15 -9
- package/src/api/controllers/public/rows.ts +1 -1
- package/src/api/controllers/public/tables.ts +2 -2
- package/src/api/controllers/public/users.ts +25 -6
- package/src/api/controllers/public/utils.ts +2 -2
- package/src/api/controllers/query/import/index.ts +2 -3
- package/src/api/controllers/query/index.ts +11 -14
- 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 +605 -624
- package/src/api/controllers/row/{external.js → external.ts} +79 -62
- package/src/api/controllers/row/index.ts +19 -11
- package/src/api/controllers/row/{internal.js → internal.ts} +87 -73
- package/src/api/controllers/row/{internalSearch.js → internalSearch.ts} +92 -68
- package/src/api/controllers/row/{staticFormula.js → staticFormula.ts} +30 -25
- package/src/api/controllers/row/{utils.js → utils.ts} +32 -22
- package/src/api/controllers/screen.ts +10 -6
- package/src/api/controllers/script.ts +12 -0
- package/src/api/controllers/static/index.ts +14 -16
- package/src/api/controllers/table/{bulkFormula.js → bulkFormula.ts} +39 -25
- package/src/api/controllers/table/{external.js → external.ts} +86 -55
- package/src/api/controllers/table/{index.js → index.ts} +21 -18
- package/src/api/controllers/table/internal.ts +5 -6
- package/src/api/controllers/table/utils.ts +26 -21
- package/src/api/controllers/{templates.js → templates.ts} +10 -7
- package/src/api/controllers/{user.js → user.ts} +42 -101
- 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/controllers/view/{viewBuilder.js → viewBuilder.ts} +25 -11
- package/src/api/controllers/webhook.ts +1 -1
- 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/public/index.ts +11 -14
- package/src/api/routes/public/tests/compare.spec.js +3 -21
- package/src/api/routes/public/tests/users.spec.js +38 -0
- package/src/api/routes/public/tests/utils.ts +28 -0
- package/src/api/routes/{query.js → query.ts} +19 -22
- package/src/api/routes/role.ts +24 -0
- package/src/api/routes/routing.ts +14 -0
- package/src/api/routes/row.ts +13 -15
- package/src/api/routes/screen.ts +23 -0
- package/src/api/routes/script.ts +10 -0
- package/src/api/routes/static.ts +7 -10
- package/src/api/routes/{table.js → table.ts} +10 -13
- package/src/api/routes/templates.ts +16 -0
- package/src/api/routes/tests/analytics.spec.js +1 -1
- package/src/api/routes/tests/application.spec.js +0 -1
- package/src/api/routes/tests/backup.spec.js +9 -1
- package/src/api/routes/tests/deployment.spec.ts +1 -1
- package/src/api/routes/tests/permissions.spec.js +2 -1
- package/src/api/routes/tests/query.spec.js +15 -10
- package/src/api/routes/tests/role.spec.js +7 -9
- 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/static.spec.js +2 -2
- package/src/api/routes/tests/table.spec.js +40 -36
- package/src/api/routes/tests/user.spec.js +2 -1
- package/src/api/routes/tests/utilities/TestFunctions.ts +6 -8
- package/src/api/routes/tests/utilities/{index.js → index.ts} +12 -12
- package/src/api/routes/tests/view.spec.js +3 -3
- package/src/api/routes/user.ts +51 -0
- 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 +15 -14
- package/src/automations/{actions.js → actions.ts} +26 -23
- package/src/automations/{automationUtils.js → automationUtils.ts} +13 -12
- package/src/automations/bullboard.ts +38 -0
- package/src/automations/index.ts +26 -0
- package/src/automations/steps/{bash.js → bash.ts} +13 -8
- package/src/automations/steps/createRow.ts +8 -3
- package/src/automations/steps/{delay.js → delay.ts} +9 -4
- package/src/automations/steps/deleteRow.ts +8 -3
- package/src/automations/steps/{discord.js → discord.ts} +10 -5
- package/src/automations/steps/{executeQuery.js → executeQuery.ts} +12 -7
- package/src/automations/steps/{executeScript.js → executeScript.ts} +17 -7
- package/src/automations/steps/{filter.js → filter.ts} +12 -9
- package/src/automations/steps/{integromat.js → integromat.ts} +10 -5
- package/src/automations/steps/{loop.js → loop.ts} +4 -2
- package/src/automations/steps/{outgoingWebhook.js → outgoingWebhook.ts} +18 -13
- package/src/automations/steps/{queryRows.js → queryRows.ts} +48 -36
- package/src/automations/steps/{sendSmtpEmail.js → sendSmtpEmail.ts} +10 -5
- package/src/automations/steps/{serverLog.js → serverLog.ts} +9 -3
- package/src/automations/steps/{slack.js → slack.ts} +10 -5
- package/src/automations/steps/{updateRow.js → updateRow.ts} +12 -7
- package/src/automations/steps/{utils.js → utils.ts} +10 -4
- package/src/automations/steps/{zapier.js → zapier.ts} +11 -5
- package/src/automations/tests/updateRow.spec.js +0 -1
- package/src/automations/tests/utilities/index.ts +60 -0
- package/src/automations/triggerInfo/{app.js → app.ts} +7 -2
- package/src/automations/triggerInfo/{cron.js → cron.ts} +7 -2
- package/src/automations/triggerInfo/index.ts +15 -0
- package/src/automations/triggerInfo/{rowDeleted.js → rowDeleted.ts} +7 -2
- package/src/automations/triggerInfo/{rowSaved.js → rowSaved.ts} +7 -2
- package/src/automations/triggerInfo/{rowUpdated.js → rowUpdated.ts} +7 -2
- package/src/automations/triggerInfo/{webhook.js → webhook.ts} +7 -2
- package/src/automations/{triggers.js → triggers.ts} +30 -26
- package/src/automations/utils.ts +9 -12
- package/src/constants/index.ts +204 -0
- package/src/constants/{layouts.js → layouts.ts} +3 -9
- package/src/constants/screens.ts +48 -0
- package/src/db/defaultData/datasource_bb_default.ts +658 -0
- package/src/db/defaultData/employeeImport.ts +152 -0
- package/src/db/defaultData/expensesImport.ts +114 -0
- package/src/db/defaultData/inventoryImport.ts +106 -0
- package/src/db/defaultData/jobsImport.ts +158 -0
- package/src/db/{dynamoClient.js → dynamoClient.ts} +39 -19
- package/src/db/{inMemoryView.js → inMemoryView.ts} +15 -9
- package/src/db/index.ts +16 -0
- package/src/db/linkedRows/{LinkController.js → LinkController.ts} +64 -85
- package/src/db/linkedRows/LinkDocument.ts +60 -0
- package/src/db/linkedRows/{index.js → index.ts} +43 -38
- package/src/db/linkedRows/{linkUtils.js → linkUtils.ts} +33 -24
- package/src/db/{newid.js → newid.ts} +1 -1
- package/src/db/tests/linkController.spec.js +73 -57
- package/src/db/tests/linkTests.spec.js +17 -14
- package/src/db/{utils.js → utils.ts} +77 -93
- package/src/db/views/{staticViews.js → staticViews.ts} +20 -13
- package/src/{environment.js → environment.ts} +11 -7
- package/src/events/{AutomationEmitter.js → AutomationEmitter.ts} +12 -7
- package/src/events/{index.js → BudibaseEmitter.ts} +7 -8
- package/src/events/index.ts +5 -0
- package/src/events/utils.ts +78 -0
- package/src/integrations/base/sql.ts +1 -1
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/base/types.ts +134 -0
- package/src/integrations/elasticsearch.ts +32 -2
- package/src/integrations/googlesheets.ts +5 -7
- package/src/integrations/index.ts +45 -41
- package/src/integrations/microsoftSqlServer.ts +14 -12
- package/src/integrations/mysql.ts +4 -3
- package/src/integrations/oracle.ts +17 -46
- package/src/integrations/postgres.ts +8 -2
- package/src/integrations/s3.ts +179 -3
- package/src/integrations/tests/s3.spec.ts +85 -1
- package/src/integrations/utils.ts +6 -2
- package/src/middleware/appInfo.ts +20 -0
- package/src/middleware/authorized.ts +21 -28
- package/src/middleware/{builder.js → builder.ts} +17 -15
- package/src/middleware/{currentapp.js → currentapp.ts} +42 -39
- package/src/middleware/{joi-validator.js → joi-validator.ts} +9 -8
- package/src/middleware/publicApi.ts +21 -0
- package/src/middleware/{resourceId.js → resourceId.ts} +16 -11
- package/src/middleware/{selfhost.js → selfhost.ts} +4 -2
- package/src/middleware/tests/authorized.spec.js +5 -6
- package/src/middleware/tests/currentapp.spec.js +118 -63
- package/src/middleware/{utils.js → utils.ts} +3 -1
- package/src/migrations/functions/appUrls.ts +4 -11
- package/src/migrations/functions/backfill/app/tables.ts +2 -5
- package/src/migrations/functions/backfill/global.ts +1 -1
- package/src/migrations/functions/tableSettings.ts +145 -0
- package/src/migrations/functions/tests/appUrls.spec.js +4 -4
- package/src/migrations/functions/tests/tableSettings.spec.ts +144 -0
- 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 +4 -5
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
- package/src/migrations/functions/userEmailViewCasing.ts +3 -3
- package/src/migrations/index.ts +9 -0
- package/src/migrations/tests/index.spec.ts +1 -1
- package/src/sdk/app/applications/index.ts +7 -0
- package/src/sdk/app/applications/sync.ts +61 -0
- package/src/sdk/app/applications/utils.ts +17 -0
- package/src/sdk/app/backups/exports.ts +5 -3
- package/src/sdk/app/backups/imports.ts +7 -14
- package/src/sdk/app/backups/statistics.ts +9 -18
- package/src/sdk/app/tables/index.ts +7 -8
- package/src/sdk/index.ts +4 -3
- package/src/sdk/users/index.ts +5 -0
- package/src/sdk/users/utils.ts +64 -0
- package/src/startup.ts +5 -5
- package/{scripts/jestSetup.js → src/tests/jestSetup.ts} +11 -2
- package/src/tests/utilities/{TestConfiguration.js → TestConfiguration.ts} +111 -78
- package/src/tests/utilities/controllers.ts +14 -0
- package/src/tests/utilities/{index.js → index.ts} +2 -2
- package/src/tests/utilities/{structures.js → structures.ts} +41 -36
- package/src/threads/automation.ts +18 -19
- package/src/threads/query.ts +11 -16
- package/src/threads/utils.ts +4 -5
- package/src/utilities/budibaseDir.ts +3 -0
- package/src/utilities/{centralPath.js → centralPath.ts} +3 -3
- package/src/utilities/{csvParser.js → csvParser.ts} +42 -26
- package/src/utilities/fileSystem/{clientLibrary.js → clientLibrary.ts} +20 -20
- package/src/utilities/fileSystem/{index.js → index.ts} +61 -65
- package/src/utilities/fileSystem/{processor.js → processor.ts} +3 -5
- package/src/utilities/global.ts +138 -0
- package/src/utilities/{index.js → index.ts} +40 -32
- package/src/utilities/{plugins.js → plugins.ts} +5 -4
- 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} +67 -144
- package/src/utilities/rowProcessor/map.ts +96 -0
- package/src/utilities/rowProcessor/{utils.js → utils.ts} +19 -15
- package/src/utilities/{scriptRunner.js → scriptRunner.ts} +8 -4
- package/src/utilities/security.ts +65 -0
- package/src/utilities/{statusCodes.js → statusCodes.ts} +1 -1
- package/src/utilities/usageQuota/{rows.js → rows.ts} +14 -18
- package/src/utilities/usageQuota/{usageQuoteReset.js → usageQuoteReset.ts} +1 -1
- 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/tsconfig.build.json +1 -2
- package/tsconfig.json +3 -1
- package/builder/assets/index.534f6c29.css +0 -6
- package/builder/assets/index.f1f9afd2.js +0 -1021
- package/coverage/lcov-report/api/controllers/index.html +0 -326
- package/coverage/lcov-report/automations/steps/index.html +0 -341
- package/coverage/lcov-report/db/linkedRows/index.html +0 -146
- package/dist/integrations/tests/TestConfiguration.js +0 -1
- package/dist/utilities/fileSystem/utilities.js +0 -22
- package/dist/utilities/queue/inMemoryQueue.js +0 -126
- package/src/api/controllers/integration.js +0 -14
- package/src/api/controllers/migrations.js +0 -13
- 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/user.js +0 -53
- package/src/api/routes/view.js +0 -31
- package/src/automations/bullboard.js +0 -39
- package/src/automations/index.js +0 -29
- package/src/automations/tests/utilities/index.js +0 -51
- package/src/automations/triggerInfo/index.js +0 -15
- package/src/constants/index.js +0 -208
- package/src/constants/screens.js +0 -46
- package/src/db/index.js +0 -16
- package/src/events/utils.js +0 -38
- package/src/middleware/appInfo.js +0 -19
- package/src/middleware/publicApi.js +0 -21
- package/src/module.d.ts +0 -14
- package/src/tests/utilities/controllers.js +0 -16
- package/src/utilities/budibaseDir.js +0 -3
- package/src/utilities/fileSystem/utilities.js +0 -36
- package/src/utilities/global.js +0 -127
- package/src/utilities/queue/inMemoryQueue.js +0 -122
- package/src/utilities/routing/index.js +0 -25
- package/src/utilities/security.js +0 -71
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for api/controllers/row/internal.
|
|
6
|
+
<title>Code coverage report for src/api/controllers/row/internal.ts</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="
|
|
9
|
-
<link rel="stylesheet" href="
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="
|
|
8
|
+
<link rel="stylesheet" href="../../../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
|
|
11
11
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
12
|
<style type='text/css'>
|
|
13
13
|
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(
|
|
14
|
+
background-image: url(../../../../sort-arrow-sprite.png);
|
|
15
15
|
}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
@@ -19,20 +19,20 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/row</a> internal.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">86.
|
|
26
|
+
<span class="strong">86.89% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>199/229</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">58.49% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>31/53</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">86.
|
|
47
|
+
<span class="strong">86.81% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>191/220</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -532,40 +532,60 @@
|
|
|
532
532
|
<a name='L467'></a><a href='#L467'>467</a>
|
|
533
533
|
<a name='L468'></a><a href='#L468'>468</a>
|
|
534
534
|
<a name='L469'></a><a href='#L469'>469</a>
|
|
535
|
-
<a name='L470'></a><a href='#L470'>470</a
|
|
535
|
+
<a name='L470'></a><a href='#L470'>470</a>
|
|
536
|
+
<a name='L471'></a><a href='#L471'>471</a>
|
|
537
|
+
<a name='L472'></a><a href='#L472'>472</a>
|
|
538
|
+
<a name='L473'></a><a href='#L473'>473</a>
|
|
539
|
+
<a name='L474'></a><a href='#L474'>474</a>
|
|
540
|
+
<a name='L475'></a><a href='#L475'>475</a>
|
|
541
|
+
<a name='L476'></a><a href='#L476'>476</a>
|
|
542
|
+
<a name='L477'></a><a href='#L477'>477</a>
|
|
543
|
+
<a name='L478'></a><a href='#L478'>478</a>
|
|
544
|
+
<a name='L479'></a><a href='#L479'>479</a>
|
|
545
|
+
<a name='L480'></a><a href='#L480'>480</a>
|
|
546
|
+
<a name='L481'></a><a href='#L481'>481</a>
|
|
547
|
+
<a name='L482'></a><a href='#L482'>482</a>
|
|
548
|
+
<a name='L483'></a><a href='#L483'>483</a>
|
|
549
|
+
<a name='L484'></a><a href='#L484'>484</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
|
|
550
|
+
<span class="cline-any cline-yes">47x</span>
|
|
536
551
|
<span class="cline-any cline-neutral"> </span>
|
|
537
552
|
<span class="cline-any cline-neutral"> </span>
|
|
538
553
|
<span class="cline-any cline-neutral"> </span>
|
|
539
554
|
<span class="cline-any cline-neutral"> </span>
|
|
540
555
|
<span class="cline-any cline-neutral"> </span>
|
|
541
556
|
<span class="cline-any cline-neutral"> </span>
|
|
542
|
-
<span class="cline-any cline-yes">
|
|
543
|
-
<span class="cline-any cline-yes">
|
|
544
|
-
<span class="cline-any cline-yes">45x</span>
|
|
557
|
+
<span class="cline-any cline-yes">47x</span>
|
|
558
|
+
<span class="cline-any cline-yes">47x</span>
|
|
545
559
|
<span class="cline-any cline-neutral"> </span>
|
|
546
560
|
<span class="cline-any cline-neutral"> </span>
|
|
547
561
|
<span class="cline-any cline-neutral"> </span>
|
|
548
562
|
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-yes">
|
|
550
|
-
<span class="cline-any cline-yes">
|
|
551
|
-
<span class="cline-any cline-yes">
|
|
552
|
-
<span class="cline-any cline-yes">
|
|
553
|
-
<span class="cline-any cline-yes">
|
|
554
|
-
<span class="cline-any cline-yes">
|
|
555
|
-
<span class="cline-any cline-yes">
|
|
563
|
+
<span class="cline-any cline-yes">47x</span>
|
|
564
|
+
<span class="cline-any cline-yes">47x</span>
|
|
565
|
+
<span class="cline-any cline-yes">47x</span>
|
|
566
|
+
<span class="cline-any cline-yes">47x</span>
|
|
567
|
+
<span class="cline-any cline-yes">47x</span>
|
|
568
|
+
<span class="cline-any cline-yes">47x</span>
|
|
569
|
+
<span class="cline-any cline-yes">47x</span>
|
|
556
570
|
<span class="cline-any cline-neutral"> </span>
|
|
557
571
|
<span class="cline-any cline-neutral"> </span>
|
|
558
572
|
<span class="cline-any cline-neutral"> </span>
|
|
559
573
|
<span class="cline-any cline-neutral"> </span>
|
|
560
574
|
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-yes">
|
|
562
|
-
<span class="cline-any cline-yes">
|
|
563
|
-
<span class="cline-any cline-yes">
|
|
564
|
-
<span class="cline-any cline-yes">
|
|
565
|
-
<span class="cline-any cline-yes">
|
|
566
|
-
<span class="cline-any cline-yes">45x</span>
|
|
575
|
+
<span class="cline-any cline-yes">47x</span>
|
|
576
|
+
<span class="cline-any cline-yes">47x</span>
|
|
577
|
+
<span class="cline-any cline-yes">47x</span>
|
|
578
|
+
<span class="cline-any cline-yes">47x</span>
|
|
579
|
+
<span class="cline-any cline-yes">47x</span>
|
|
567
580
|
<span class="cline-any cline-neutral"> </span>
|
|
568
|
-
<span class="cline-any cline-
|
|
581
|
+
<span class="cline-any cline-neutral"> </span>
|
|
582
|
+
<span class="cline-any cline-neutral"> </span>
|
|
583
|
+
<span class="cline-any cline-neutral"> </span>
|
|
584
|
+
<span class="cline-any cline-neutral"> </span>
|
|
585
|
+
<span class="cline-any cline-neutral"> </span>
|
|
586
|
+
<span class="cline-any cline-neutral"> </span>
|
|
587
|
+
<span class="cline-any cline-neutral"> </span>
|
|
588
|
+
<span class="cline-any cline-yes">47x</span>
|
|
569
589
|
<span class="cline-any cline-neutral"> </span>
|
|
570
590
|
<span class="cline-any cline-neutral"> </span>
|
|
571
591
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -613,7 +633,7 @@
|
|
|
613
633
|
<span class="cline-any cline-yes">7x</span>
|
|
614
634
|
<span class="cline-any cline-neutral"> </span>
|
|
615
635
|
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-yes">
|
|
636
|
+
<span class="cline-any cline-yes">47x</span>
|
|
617
637
|
<span class="cline-any cline-yes">6x</span>
|
|
618
638
|
<span class="cline-any cline-yes">6x</span>
|
|
619
639
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -678,7 +698,7 @@
|
|
|
678
698
|
<span class="cline-any cline-neutral"> </span>
|
|
679
699
|
<span class="cline-any cline-neutral"> </span>
|
|
680
700
|
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-yes">
|
|
701
|
+
<span class="cline-any cline-yes">47x</span>
|
|
682
702
|
<span class="cline-any cline-yes">77x</span>
|
|
683
703
|
<span class="cline-any cline-yes">77x</span>
|
|
684
704
|
<span class="cline-any cline-yes">77x</span>
|
|
@@ -713,7 +733,7 @@
|
|
|
713
733
|
<span class="cline-any cline-neutral"> </span>
|
|
714
734
|
<span class="cline-any cline-neutral"> </span>
|
|
715
735
|
<span class="cline-any cline-neutral"> </span>
|
|
716
|
-
<span class="cline-any cline-yes">
|
|
736
|
+
<span class="cline-any cline-yes">47x</span>
|
|
717
737
|
<span class="cline-any cline-yes">9x</span>
|
|
718
738
|
<span class="cline-any cline-neutral"> </span>
|
|
719
739
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -738,6 +758,11 @@
|
|
|
738
758
|
<span class="cline-any cline-neutral"> </span>
|
|
739
759
|
<span class="cline-any cline-neutral"> </span>
|
|
740
760
|
<span class="cline-any cline-neutral"> </span>
|
|
761
|
+
<span class="cline-any cline-neutral"> </span>
|
|
762
|
+
<span class="cline-any cline-neutral"> </span>
|
|
763
|
+
<span class="cline-any cline-neutral"> </span>
|
|
764
|
+
<span class="cline-any cline-neutral"> </span>
|
|
765
|
+
<span class="cline-any cline-neutral"> </span>
|
|
741
766
|
<span class="cline-any cline-yes">5x</span>
|
|
742
767
|
<span class="cline-any cline-yes">3x</span>
|
|
743
768
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -775,7 +800,7 @@
|
|
|
775
800
|
<span class="cline-any cline-yes">5x</span>
|
|
776
801
|
<span class="cline-any cline-neutral"> </span>
|
|
777
802
|
<span class="cline-any cline-neutral"> </span>
|
|
778
|
-
<span class="cline-any cline-yes">
|
|
803
|
+
<span class="cline-any cline-yes">47x</span>
|
|
779
804
|
<span class="cline-any cline-yes">7x</span>
|
|
780
805
|
<span class="cline-any cline-neutral"> </span>
|
|
781
806
|
<span class="cline-any cline-yes">7x</span>
|
|
@@ -784,7 +809,7 @@
|
|
|
784
809
|
<span class="cline-any cline-yes">7x</span>
|
|
785
810
|
<span class="cline-any cline-neutral"> </span>
|
|
786
811
|
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-yes">
|
|
812
|
+
<span class="cline-any cline-yes">47x</span>
|
|
788
813
|
<span class="cline-any cline-yes">18x</span>
|
|
789
814
|
<span class="cline-any cline-yes">18x</span>
|
|
790
815
|
<span class="cline-any cline-yes">18x</span>
|
|
@@ -792,7 +817,7 @@
|
|
|
792
817
|
<span class="cline-any cline-yes">15x</span>
|
|
793
818
|
<span class="cline-any cline-neutral"> </span>
|
|
794
819
|
<span class="cline-any cline-neutral"> </span>
|
|
795
|
-
<span class="cline-any cline-yes">
|
|
820
|
+
<span class="cline-any cline-yes">47x</span>
|
|
796
821
|
<span class="cline-any cline-yes">4x</span>
|
|
797
822
|
<span class="cline-any cline-yes">4x</span>
|
|
798
823
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -828,7 +853,7 @@
|
|
|
828
853
|
<span class="cline-any cline-yes">3x</span>
|
|
829
854
|
<span class="cline-any cline-neutral"> </span>
|
|
830
855
|
<span class="cline-any cline-neutral"> </span>
|
|
831
|
-
<span class="cline-any cline-yes">
|
|
856
|
+
<span class="cline-any cline-yes">47x</span>
|
|
832
857
|
<span class="cline-any cline-yes">2x</span>
|
|
833
858
|
<span class="cline-any cline-yes">2x</span>
|
|
834
859
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -839,6 +864,8 @@
|
|
|
839
864
|
<span class="cline-any cline-yes">2x</span>
|
|
840
865
|
<span class="cline-any cline-neutral"> </span>
|
|
841
866
|
<span class="cline-any cline-neutral"> </span>
|
|
867
|
+
<span class="cline-any cline-neutral"> </span>
|
|
868
|
+
<span class="cline-any cline-neutral"> </span>
|
|
842
869
|
<span class="cline-any cline-yes">2x</span>
|
|
843
870
|
<span class="cline-any cline-yes">3x</span>
|
|
844
871
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -865,7 +892,7 @@
|
|
|
865
892
|
<span class="cline-any cline-yes">2x</span>
|
|
866
893
|
<span class="cline-any cline-neutral"> </span>
|
|
867
894
|
<span class="cline-any cline-neutral"> </span>
|
|
868
|
-
<span class="cline-any cline-yes">
|
|
895
|
+
<span class="cline-any cline-yes">47x</span>
|
|
869
896
|
<span class="cline-any cline-neutral"> </span>
|
|
870
897
|
<span class="cline-any cline-yes">4x</span>
|
|
871
898
|
<span class="cline-any cline-no"> </span>
|
|
@@ -897,14 +924,14 @@
|
|
|
897
924
|
<span class="cline-any cline-yes">4x</span>
|
|
898
925
|
<span class="cline-any cline-neutral"> </span>
|
|
899
926
|
<span class="cline-any cline-neutral"> </span>
|
|
900
|
-
<span class="cline-any cline-yes">
|
|
927
|
+
<span class="cline-any cline-yes">47x</span>
|
|
901
928
|
<span class="cline-any cline-yes">2x</span>
|
|
902
929
|
<span class="cline-any cline-neutral"> </span>
|
|
903
930
|
<span class="cline-any cline-neutral"> </span>
|
|
904
931
|
<span class="cline-any cline-neutral"> </span>
|
|
905
932
|
<span class="cline-any cline-neutral"> </span>
|
|
906
933
|
<span class="cline-any cline-neutral"> </span>
|
|
907
|
-
<span class="cline-any cline-yes">
|
|
934
|
+
<span class="cline-any cline-yes">47x</span>
|
|
908
935
|
<span class="cline-any cline-yes">2x</span>
|
|
909
936
|
<span class="cline-any cline-yes">2x</span>
|
|
910
937
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -933,6 +960,7 @@
|
|
|
933
960
|
<span class="cline-any cline-neutral"> </span>
|
|
934
961
|
<span class="cline-any cline-neutral"> </span>
|
|
935
962
|
<span class="cline-any cline-yes">2x</span>
|
|
963
|
+
<span class="cline-any cline-neutral"> </span>
|
|
936
964
|
<span class="cline-any cline-yes">2x</span>
|
|
937
965
|
<span class="cline-any cline-yes">2x</span>
|
|
938
966
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -941,7 +969,7 @@
|
|
|
941
969
|
<span class="cline-any cline-yes">2x</span>
|
|
942
970
|
<span class="cline-any cline-neutral"> </span>
|
|
943
971
|
<span class="cline-any cline-neutral"> </span>
|
|
944
|
-
<span class="cline-any cline-yes">
|
|
972
|
+
<span class="cline-any cline-yes">47x</span>
|
|
945
973
|
<span class="cline-any cline-yes">2x</span>
|
|
946
974
|
<span class="cline-any cline-yes">2x</span>
|
|
947
975
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -1001,38 +1029,44 @@
|
|
|
1001
1029
|
<span class="cline-any cline-neutral"> </span>
|
|
1002
1030
|
<span class="cline-any cline-yes">2x</span>
|
|
1003
1031
|
<span class="cline-any cline-neutral"> </span>
|
|
1004
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
1005
|
-
|
|
1032
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import * as linkRows from "../../../db/linkedRows"
|
|
1033
|
+
import {
|
|
1006
1034
|
generateRowID,
|
|
1007
1035
|
getRowParams,
|
|
1008
1036
|
getTableIDFromRowID,
|
|
1009
1037
|
DocumentType,
|
|
1010
1038
|
InternalTables,
|
|
1011
|
-
}
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
const {
|
|
1039
|
+
} from "../../../db/utils"
|
|
1040
|
+
import * as userController from "../user"
|
|
1041
|
+
import {
|
|
1015
1042
|
inputProcessing,
|
|
1016
1043
|
outputProcessing,
|
|
1017
1044
|
cleanupAttachments,
|
|
1018
|
-
}
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1045
|
+
} from "../../../utilities/rowProcessor"
|
|
1046
|
+
import { FieldTypes } from "../../../constants"
|
|
1047
|
+
import { validate as rowValidate, findRow } from "./utils"
|
|
1048
|
+
import { fullSearch, paginatedSearch } from "./internalSearch"
|
|
1049
|
+
import { getGlobalUsersFromMetadata } from "../../../utilities/global"
|
|
1050
|
+
import * as inMemoryViews from "../../../db/inMemoryView"
|
|
1051
|
+
import env from "../../../environment"
|
|
1052
|
+
import {
|
|
1026
1053
|
migrateToInMemoryView,
|
|
1027
1054
|
migrateToDesignView,
|
|
1028
1055
|
getFromDesignDoc,
|
|
1029
1056
|
getFromMemoryDoc,
|
|
1030
|
-
}
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1057
|
+
} from "../view/utils"
|
|
1058
|
+
import { cloneDeep } from "lodash/fp"
|
|
1059
|
+
import { context, db as dbCore } from "@budibase/backend-core"
|
|
1060
|
+
import { finaliseRow, updateRelatedFormula } from "./staticFormula"
|
|
1061
|
+
import * as exporters from "../view/exporters"
|
|
1062
|
+
import { apiFileReturn } from "../../../utilities/fileSystem"
|
|
1063
|
+
import {
|
|
1064
|
+
BBContext,
|
|
1065
|
+
Database,
|
|
1066
|
+
LinkDocumentValue,
|
|
1067
|
+
Row,
|
|
1068
|
+
Table,
|
|
1069
|
+
} from "@budibase/types"
|
|
1036
1070
|
|
|
1037
1071
|
const CALCULATION_TYPES = {
|
|
1038
1072
|
SUM: "sum",
|
|
@@ -1040,7 +1074,7 @@ const CALCULATION_TYPES = {
|
|
|
1040
1074
|
STATS: "stats",
|
|
1041
1075
|
}
|
|
1042
1076
|
|
|
1043
|
-
async function getView(db, viewName) {
|
|
1077
|
+
async function getView(db: Database, viewName: string) {
|
|
1044
1078
|
let mainGetter = env.SELF_HOSTED ? getFromDesignDoc : <span class="branch-1 cbranch-no" title="branch not covered" >getFromMemoryDoc</span>
|
|
1045
1079
|
let secondaryGetter = env.SELF_HOSTED ? getFromMemoryDoc : <span class="branch-1 cbranch-no" title="branch not covered" >getFromDesignDoc</span>
|
|
1046
1080
|
let migration = env.SELF_HOSTED ? migrateToDesignView : <span class="branch-1 cbranch-no" title="branch not covered" >migrateToInMemoryView</span>
|
|
@@ -1048,7 +1082,7 @@ async function getView(db, viewName) {
|
|
|
1048
1082
|
migrate = false
|
|
1049
1083
|
try {
|
|
1050
1084
|
viewInfo = await mainGetter(db, viewName)
|
|
1051
|
-
} catch (err) {
|
|
1085
|
+
} catch (err: any) {
|
|
1052
1086
|
// check if it can be retrieved from design doc (needs migrated)
|
|
1053
1087
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (err.status !== 404) {
|
|
1054
1088
|
<span class="cstat-no" title="statement not covered" > viewInfo = null</span>
|
|
@@ -1066,7 +1100,7 @@ async function getView(db, viewName) {
|
|
|
1066
1100
|
return viewInfo
|
|
1067
1101
|
}
|
|
1068
1102
|
|
|
1069
|
-
async function getRawTableData(ctx, db, tableId) {
|
|
1103
|
+
async function getRawTableData(ctx: BBContext, db: Database, tableId: string) {
|
|
1070
1104
|
let rows
|
|
1071
1105
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
1072
1106
|
<span class="cstat-no" title="statement not covered" > await userController.fetchMetadata(ctx)</span>
|
|
@@ -1079,11 +1113,11 @@ async function getRawTableData(ctx, db, tableId) {
|
|
|
1079
1113
|
)
|
|
1080
1114
|
rows = response.rows.map(row => row.doc)
|
|
1081
1115
|
}
|
|
1082
|
-
return rows
|
|
1116
|
+
return rows as Row[]
|
|
1083
1117
|
}
|
|
1084
1118
|
|
|
1085
|
-
|
|
1086
|
-
const db = getAppDB()
|
|
1119
|
+
export async function patch(ctx: BBContext) {
|
|
1120
|
+
const db = context.getAppDB()
|
|
1087
1121
|
const inputs = ctx.request.body
|
|
1088
1122
|
const tableId = inputs.tableId
|
|
1089
1123
|
const isUserTable = tableId === InternalTables.USER_METADATA
|
|
@@ -1107,15 +1141,15 @@ exports.patch = async ctx => {
|
|
|
1107
1141
|
}
|
|
1108
1142
|
let dbTable = await db.get(tableId)
|
|
1109
1143
|
// need to build up full patch fields before coerce
|
|
1110
|
-
let combinedRow = cloneDeep(oldRow)
|
|
1144
|
+
let combinedRow: any = cloneDeep(oldRow)
|
|
1111
1145
|
for (let key of Object.keys(inputs)) {
|
|
1112
1146
|
if (!dbTable.schema[key]) continue
|
|
1113
1147
|
combinedRow[key] = inputs[key]
|
|
1114
1148
|
}
|
|
1115
1149
|
|
|
1116
1150
|
// this returns the table and row incase they have been updated
|
|
1117
|
-
let { table, row } = inputProcessing(ctx.user
|
|
1118
|
-
const validateResult = await
|
|
1151
|
+
let { table, row } = inputProcessing(ctx.user!, dbTable, combinedRow)
|
|
1152
|
+
const validateResult = await rowValidate({
|
|
1119
1153
|
row,
|
|
1120
1154
|
table,
|
|
1121
1155
|
})
|
|
@@ -1125,12 +1159,12 @@ exports.patch = async ctx => {
|
|
|
1125
1159
|
}
|
|
1126
1160
|
|
|
1127
1161
|
// returned row is cleaned and prepared for writing to DB
|
|
1128
|
-
row = await linkRows.updateLinks({
|
|
1162
|
+
row = (await linkRows.updateLinks({
|
|
1129
1163
|
eventType: linkRows.EventType.ROW_UPDATE,
|
|
1130
1164
|
row,
|
|
1131
1165
|
tableId: row.tableId,
|
|
1132
1166
|
table,
|
|
1133
|
-
})
|
|
1167
|
+
})) as Row
|
|
1134
1168
|
// check if any attachments removed
|
|
1135
1169
|
await cleanupAttachments(table, { oldRow, row })
|
|
1136
1170
|
|
|
@@ -1147,19 +1181,19 @@ exports.patch = async ctx => {
|
|
|
1147
1181
|
})
|
|
1148
1182
|
}
|
|
1149
1183
|
|
|
1150
|
-
|
|
1151
|
-
const db = getAppDB()
|
|
1184
|
+
export async function save(ctx: BBContext) {
|
|
1185
|
+
const db = context.getAppDB()
|
|
1152
1186
|
let inputs = ctx.request.body
|
|
1153
1187
|
inputs.tableId = ctx.params.tableId
|
|
1154
1188
|
|
|
1155
|
-
|
|
1189
|
+
if (!inputs._rev && !inputs._id) {
|
|
1156
1190
|
inputs._id = generateRowID(inputs.tableId)
|
|
1157
1191
|
}
|
|
1158
1192
|
|
|
1159
1193
|
// this returns the table and row incase they have been updated
|
|
1160
1194
|
const dbTable = await db.get(inputs.tableId)
|
|
1161
|
-
let { table, row } = inputProcessing(ctx.user
|
|
1162
|
-
const validateResult = await
|
|
1195
|
+
let { table, row } = inputProcessing(ctx.user!, dbTable, inputs)
|
|
1196
|
+
const validateResult = await rowValidate({
|
|
1163
1197
|
row,
|
|
1164
1198
|
table,
|
|
1165
1199
|
})
|
|
@@ -1169,12 +1203,12 @@ exports.save = async function (ctx) {
|
|
|
1169
1203
|
}
|
|
1170
1204
|
|
|
1171
1205
|
// make sure link rows are up to date
|
|
1172
|
-
row = await linkRows.updateLinks({
|
|
1206
|
+
row = (await linkRows.updateLinks({
|
|
1173
1207
|
eventType: linkRows.EventType.ROW_SAVE,
|
|
1174
1208
|
row,
|
|
1175
1209
|
tableId: row.tableId,
|
|
1176
1210
|
table,
|
|
1177
|
-
})
|
|
1211
|
+
})) as Row
|
|
1178
1212
|
|
|
1179
1213
|
return finaliseRow(table, row, {
|
|
1180
1214
|
oldTable: dbTable,
|
|
@@ -1182,16 +1216,16 @@ exports.save = async function (ctx) {
|
|
|
1182
1216
|
})
|
|
1183
1217
|
}
|
|
1184
1218
|
|
|
1185
|
-
|
|
1219
|
+
export async function fetchView(ctx: BBContext) {
|
|
1186
1220
|
const viewName = ctx.params.viewName
|
|
1187
1221
|
|
|
1188
1222
|
// if this is a table view being looked for just transfer to that
|
|
1189
1223
|
if (viewName.startsWith(DocumentType.TABLE)) {
|
|
1190
1224
|
ctx.params.tableId = viewName
|
|
1191
|
-
return
|
|
1225
|
+
return fetch(ctx)
|
|
1192
1226
|
}
|
|
1193
1227
|
|
|
1194
|
-
const db = getAppDB()
|
|
1228
|
+
const db = context.getAppDB()
|
|
1195
1229
|
const { calculation, group, field } = ctx.query
|
|
1196
1230
|
const viewInfo = await getView(db, viewName)
|
|
1197
1231
|
let response
|
|
@@ -1203,7 +1237,12 @@ exports.fetchView = async ctx => {
|
|
|
1203
1237
|
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
1204
1238
|
const tableId = <span class="cstat-no" title="statement not covered" >viewInfo.meta.tableId</span>
|
|
1205
1239
|
const data = <span class="cstat-no" title="statement not covered" >await getRawTableData(ctx, db, tableId)</span>
|
|
1206
|
-
<span class="cstat-no" title="statement not covered" > response = await inMemoryViews.runView(
|
|
1240
|
+
<span class="cstat-no" title="statement not covered" > response = await inMemoryViews.runView(</span>
|
|
1241
|
+
viewInfo,
|
|
1242
|
+
calculation as string,
|
|
1243
|
+
!!group,
|
|
1244
|
+
data
|
|
1245
|
+
)
|
|
1207
1246
|
}
|
|
1208
1247
|
|
|
1209
1248
|
let rows
|
|
@@ -1235,7 +1274,7 @@ exports.fetchView = async ctx => {
|
|
|
1235
1274
|
calculation === CALCULATION_TYPES.COUNT ||
|
|
1236
1275
|
calculation === CALCULATION_TYPES.SUM
|
|
1237
1276
|
) {
|
|
1238
|
-
<span class="cstat-no" title="statement not covered" > rows = response.rows.map(<span class="fstat-no" title="function not covered" >
|
|
1277
|
+
<span class="cstat-no" title="statement not covered" > rows = response.rows.map(<span class="fstat-no" title="function not covered" >row </span>=> (<span class="cstat-no" title="statement not covered" >{</span></span>
|
|
1239
1278
|
group: row.key,
|
|
1240
1279
|
field,
|
|
1241
1280
|
value: row.value,
|
|
@@ -1244,8 +1283,8 @@ exports.fetchView = async ctx => {
|
|
|
1244
1283
|
return rows
|
|
1245
1284
|
}
|
|
1246
1285
|
|
|
1247
|
-
|
|
1248
|
-
const db = getAppDB()
|
|
1286
|
+
export async function fetch(ctx: BBContext) {
|
|
1287
|
+
const db = context.getAppDB()
|
|
1249
1288
|
|
|
1250
1289
|
const tableId = ctx.params.tableId
|
|
1251
1290
|
let table = await db.get(tableId)
|
|
@@ -1253,16 +1292,16 @@ exports.fetch = async ctx => {
|
|
|
1253
1292
|
return outputProcessing(table, rows)
|
|
1254
1293
|
}
|
|
1255
1294
|
|
|
1256
|
-
|
|
1257
|
-
const db =
|
|
1295
|
+
export async function find(ctx: BBContext) {
|
|
1296
|
+
const db = dbCore.getDB(ctx.appId)
|
|
1258
1297
|
const table = await db.get(ctx.params.tableId)
|
|
1259
1298
|
let row = await findRow(ctx, ctx.params.tableId, ctx.params.rowId)
|
|
1260
1299
|
row = await outputProcessing(table, row)
|
|
1261
1300
|
return row
|
|
1262
1301
|
}
|
|
1263
1302
|
|
|
1264
|
-
|
|
1265
|
-
const db = getAppDB()
|
|
1303
|
+
export async function destroy(ctx: BBContext) {
|
|
1304
|
+
const db = context.getAppDB()
|
|
1266
1305
|
const { _id } = ctx.request.body
|
|
1267
1306
|
let row = await db.get(_id)
|
|
1268
1307
|
let _rev = ctx.request.body._rev || <span class="branch-1 cbranch-no" title="branch not covered" >row._rev</span>
|
|
@@ -1297,18 +1336,20 @@ exports.destroy = async function (ctx) {
|
|
|
1297
1336
|
return { response, row }
|
|
1298
1337
|
}
|
|
1299
1338
|
|
|
1300
|
-
|
|
1301
|
-
const db = getAppDB()
|
|
1339
|
+
export async function bulkDestroy(ctx: BBContext) {
|
|
1340
|
+
const db = context.getAppDB()
|
|
1302
1341
|
const tableId = ctx.params.tableId
|
|
1303
1342
|
const table = await db.get(tableId)
|
|
1304
1343
|
let { rows } = ctx.request.body
|
|
1305
1344
|
|
|
1306
1345
|
// before carrying out any updates, make sure the rows are ready to be returned
|
|
1307
1346
|
// they need to be the full rows (including previous relationships) for automations
|
|
1308
|
-
|
|
1347
|
+
const processedRows = (await outputProcessing(table, rows, {
|
|
1348
|
+
squash: false,
|
|
1349
|
+
})) as Row[]
|
|
1309
1350
|
|
|
1310
1351
|
// remove the relationships first
|
|
1311
|
-
let updates =
|
|
1352
|
+
let updates: Promise<any>[] = processedRows.map(row =>
|
|
1312
1353
|
linkRows.updateLinks({
|
|
1313
1354
|
eventType: linkRows.EventType.ROW_DELETE,
|
|
1314
1355
|
row,
|
|
@@ -1317,7 +1358,7 @@ exports.bulkDestroy = async ctx => {
|
|
|
1317
1358
|
)
|
|
1318
1359
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
1319
1360
|
<span class="cstat-no" title="statement not covered" > updates = updates.concat(</span>
|
|
1320
|
-
|
|
1361
|
+
processedRows.map(<span class="fstat-no" title="function not covered" >row </span>=> {
|
|
1321
1362
|
<span class="cstat-no" title="statement not covered" > ctx.params = {</span>
|
|
1322
1363
|
id: row._id,
|
|
1323
1364
|
}
|
|
@@ -1325,23 +1366,23 @@ exports.bulkDestroy = async ctx => {
|
|
|
1325
1366
|
})
|
|
1326
1367
|
)
|
|
1327
1368
|
} else {
|
|
1328
|
-
await db.bulkDocs(
|
|
1369
|
+
await db.bulkDocs(processedRows.map(row => ({ ...row, _deleted: true })))
|
|
1329
1370
|
}
|
|
1330
1371
|
// remove any attachments that were on the rows from object storage
|
|
1331
|
-
await cleanupAttachments(table, { rows })
|
|
1332
|
-
await updateRelatedFormula(table,
|
|
1372
|
+
await cleanupAttachments(table, { rows: processedRows })
|
|
1373
|
+
await updateRelatedFormula(table, processedRows)
|
|
1333
1374
|
await Promise.all(updates)
|
|
1334
|
-
return { response: { ok: true }, rows }
|
|
1375
|
+
return { response: { ok: true }, rows: processedRows }
|
|
1335
1376
|
}
|
|
1336
1377
|
|
|
1337
|
-
|
|
1378
|
+
export async function search(ctx: BBContext) {
|
|
1338
1379
|
// Fetch the whole table when running in cypress, as search doesn't work
|
|
1339
1380
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!env.COUCH_DB_URL && env.isCypress()) {
|
|
1340
|
-
<span class="cstat-no" title="statement not covered" > return { rows: await
|
|
1381
|
+
<span class="cstat-no" title="statement not covered" > return { rows: await fetch(ctx) }</span>
|
|
1341
1382
|
}
|
|
1342
1383
|
|
|
1343
1384
|
const { tableId } = ctx.params
|
|
1344
|
-
const db = getAppDB()
|
|
1385
|
+
const db = context.getAppDB()
|
|
1345
1386
|
const { paginate, query, ...params } = ctx.request.body
|
|
1346
1387
|
params.version = ctx.version
|
|
1347
1388
|
params.tableId = tableId
|
|
@@ -1354,7 +1395,7 @@ exports.search = async ctx => {
|
|
|
1354
1395
|
}
|
|
1355
1396
|
|
|
1356
1397
|
// Enrich search results with relationships
|
|
1357
|
-
|
|
1398
|
+
if (response.rows && response.rows.length) {
|
|
1358
1399
|
// enrich with global users if from users table
|
|
1359
1400
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
1360
1401
|
<span class="cstat-no" title="statement not covered" > response.rows = await getGlobalUsersFromMetadata(response.rows)</span>
|
|
@@ -1366,15 +1407,15 @@ exports.search = async ctx => {
|
|
|
1366
1407
|
return response
|
|
1367
1408
|
}
|
|
1368
1409
|
|
|
1369
|
-
|
|
1370
|
-
return
|
|
1410
|
+
export async function validate(ctx: BBContext) {
|
|
1411
|
+
return rowValidate({
|
|
1371
1412
|
tableId: ctx.params.tableId,
|
|
1372
1413
|
row: ctx.request.body,
|
|
1373
1414
|
})
|
|
1374
1415
|
}
|
|
1375
1416
|
|
|
1376
|
-
|
|
1377
|
-
const db = getAppDB()
|
|
1417
|
+
export async function exportRows(ctx: BBContext) {
|
|
1418
|
+
const db = context.getAppDB()
|
|
1378
1419
|
const table = await db.get(ctx.params.tableId)
|
|
1379
1420
|
const rowIds = ctx.request.body.rows
|
|
1380
1421
|
let format = ctx.query.format
|
|
@@ -1386,8 +1427,8 @@ exports.exportRows = async ctx => {
|
|
|
1386
1427
|
})
|
|
1387
1428
|
).rows.map(row => row.doc)
|
|
1388
1429
|
|
|
1389
|
-
let result = await outputProcessing(table, response)
|
|
1390
|
-
let rows = []
|
|
1430
|
+
let result = (await outputProcessing(table, response)) as Row[]
|
|
1431
|
+
let rows: Row[] = []
|
|
1391
1432
|
|
|
1392
1433
|
// Filter data to only specified columns if required
|
|
1393
1434
|
if (columns && columns.length) {
|
|
@@ -1402,6 +1443,7 @@ exports.exportRows = async ctx => {
|
|
|
1402
1443
|
}
|
|
1403
1444
|
|
|
1404
1445
|
let headers = Object.keys(rows[0])
|
|
1446
|
+
// @ts-ignore
|
|
1405
1447
|
const exporter = exporters[format]
|
|
1406
1448
|
const filename = `export.${format}`
|
|
1407
1449
|
|
|
@@ -1410,8 +1452,8 @@ exports.exportRows = async ctx => {
|
|
|
1410
1452
|
return apiFileReturn(exporter(headers, rows))
|
|
1411
1453
|
}
|
|
1412
1454
|
|
|
1413
|
-
|
|
1414
|
-
const db = getAppDB()
|
|
1455
|
+
export async function fetchEnrichedRow(ctx: BBContext) {
|
|
1456
|
+
const db = context.getAppDB()
|
|
1415
1457
|
const tableId = ctx.params.tableId
|
|
1416
1458
|
const rowId = ctx.params.rowId
|
|
1417
1459
|
// need table to work out where links go in row
|
|
@@ -1420,10 +1462,10 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1420
1462
|
findRow(ctx, tableId, rowId),
|
|
1421
1463
|
])
|
|
1422
1464
|
// get the link docs
|
|
1423
|
-
const linkVals = await linkRows.getLinkDocuments({
|
|
1465
|
+
const linkVals = (await linkRows.getLinkDocuments({
|
|
1424
1466
|
tableId,
|
|
1425
1467
|
rowId,
|
|
1426
|
-
})
|
|
1468
|
+
})) as LinkDocumentValue[]
|
|
1427
1469
|
// look up the actual rows based on the ids
|
|
1428
1470
|
let response = (
|
|
1429
1471
|
await db.allDocs({
|
|
@@ -1432,8 +1474,8 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1432
1474
|
})
|
|
1433
1475
|
).rows.map(row => row.doc)
|
|
1434
1476
|
// group responses by table
|
|
1435
|
-
let groups = {},
|
|
1436
|
-
tables = {}
|
|
1477
|
+
let groups: any = {},
|
|
1478
|
+
tables: Record<string, Table> = {}
|
|
1437
1479
|
for (let row of response) {
|
|
1438
1480
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!row.tableId) {
|
|
1439
1481
|
<span class="cstat-no" title="statement not covered" > row.tableId = getTableIDFromRowID(row._id)</span>
|
|
@@ -1446,11 +1488,11 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1446
1488
|
<span class="cstat-no" title="statement not covered" > groups[linkedTableId].push(row)</span>
|
|
1447
1489
|
}
|
|
1448
1490
|
}
|
|
1449
|
-
let linkedRows = []
|
|
1491
|
+
let linkedRows: Row[] = []
|
|
1450
1492
|
for (let [tableId, rows] of Object.entries(groups)) {
|
|
1451
1493
|
// need to include the IDs in these rows for any links they may have
|
|
1452
1494
|
linkedRows = linkedRows.concat(
|
|
1453
|
-
await outputProcessing(tables[tableId], rows)
|
|
1495
|
+
await outputProcessing(tables[tableId], rows as Row[])
|
|
1454
1496
|
)
|
|
1455
1497
|
}
|
|
1456
1498
|
|
|
@@ -1477,16 +1519,16 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1477
1519
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1478
1520
|
Code coverage generated by
|
|
1479
1521
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1480
|
-
at
|
|
1522
|
+
at Fri Dec 09 2022 14:41:04 GMT+0000 (Coordinated Universal Time)
|
|
1481
1523
|
</div>
|
|
1482
|
-
<script src="
|
|
1524
|
+
<script src="../../../../prettify.js"></script>
|
|
1483
1525
|
<script>
|
|
1484
1526
|
window.onload = function () {
|
|
1485
1527
|
prettyPrint();
|
|
1486
1528
|
};
|
|
1487
1529
|
</script>
|
|
1488
|
-
<script src="
|
|
1489
|
-
<script src="
|
|
1530
|
+
<script src="../../../../sorter.js"></script>
|
|
1531
|
+
<script src="../../../../block-navigation.js"></script>
|
|
1490
1532
|
</body>
|
|
1491
1533
|
</html>
|
|
1492
1534
|
|