@budibase/server 2.1.44 → 2.1.46-alpha.0
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.538092be.css +6 -0
- package/builder/assets/index.f3d43c3f.js +1020 -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.2d05742a.js +0 -1021
- package/builder/assets/index.534f6c29.css +0 -6
- 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
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
const TestConfig = require("../../tests/utilities/TestConfiguration")
|
|
2
2
|
const { basicRow, basicLinkedRow, basicTable } = require("../../tests/utilities/structures")
|
|
3
3
|
const LinkController = require("../linkedRows/LinkController")
|
|
4
|
+
const { context } = require("@budibase/backend-core")
|
|
4
5
|
const { RelationshipTypes } = require("../../constants")
|
|
5
6
|
const { cloneDeep } = require("lodash/fp")
|
|
6
7
|
|
|
7
8
|
describe("test the link controller", () => {
|
|
8
9
|
let config = new TestConfig(false)
|
|
9
|
-
let table1, table2
|
|
10
|
+
let table1, table2, appId
|
|
10
11
|
|
|
11
12
|
beforeEach(async () => {
|
|
12
|
-
await config.init()
|
|
13
|
+
const app = await config.init()
|
|
14
|
+
appId = app.appId
|
|
13
15
|
const { _id } = await config.createTable()
|
|
14
16
|
table2 = await config.createLinkedTable(RelationshipTypes.MANY_TO_MANY, ["link", "link2"])
|
|
15
17
|
// update table after creating link
|
|
@@ -18,18 +20,20 @@ describe("test the link controller", () => {
|
|
|
18
20
|
|
|
19
21
|
afterAll(config.end)
|
|
20
22
|
|
|
21
|
-
function createLinkController(table, row = null, oldTable = null) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
async function createLinkController(table, row = null, oldTable = null) {
|
|
24
|
+
return context.doInAppContext(appId, () => {
|
|
25
|
+
const linkConfig = {
|
|
26
|
+
tableId: table._id,
|
|
27
|
+
table,
|
|
28
|
+
}
|
|
29
|
+
if (row) {
|
|
30
|
+
linkConfig.row = row
|
|
31
|
+
}
|
|
32
|
+
if (oldTable) {
|
|
33
|
+
linkConfig.oldTable = oldTable
|
|
34
|
+
}
|
|
35
|
+
return new LinkController(linkConfig)
|
|
36
|
+
})
|
|
33
37
|
}
|
|
34
38
|
|
|
35
39
|
async function createLinkedRow(linkField = "link", t1 = table1, t2 = table2) {
|
|
@@ -38,16 +42,16 @@ describe("test the link controller", () => {
|
|
|
38
42
|
return config.getRow(t1._id, _id)
|
|
39
43
|
}
|
|
40
44
|
|
|
41
|
-
it("should be able to confirm if two table schemas are equal", () => {
|
|
42
|
-
const controller = createLinkController(table1)
|
|
45
|
+
it("should be able to confirm if two table schemas are equal", async () => {
|
|
46
|
+
const controller = await createLinkController(table1)
|
|
43
47
|
let equal = controller.areLinkSchemasEqual(table2.schema.link, table2.schema.link)
|
|
44
48
|
expect(equal).toEqual(true)
|
|
45
49
|
equal = controller.areLinkSchemasEqual(table1.schema.link, table2.schema.link)
|
|
46
50
|
expect(equal).toEqual(false)
|
|
47
51
|
})
|
|
48
52
|
|
|
49
|
-
it("should be able to check the relationship types across two fields", () => {
|
|
50
|
-
const controller = createLinkController(table1)
|
|
53
|
+
it("should be able to check the relationship types across two fields", async () => {
|
|
54
|
+
const controller = await createLinkController(table1)
|
|
51
55
|
// empty case
|
|
52
56
|
let output = controller.handleRelationshipType({}, {})
|
|
53
57
|
expect(output.linkedField.relationshipType).toEqual(RelationshipTypes.MANY_TO_MANY)
|
|
@@ -65,29 +69,33 @@ describe("test the link controller", () => {
|
|
|
65
69
|
|
|
66
70
|
it("should be able to delete a row", async () => {
|
|
67
71
|
const row = await createLinkedRow()
|
|
68
|
-
const controller = createLinkController(table1, row)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
const controller = await createLinkController(table1, row)
|
|
73
|
+
await context.doInAppContext(appId, async () => {
|
|
74
|
+
// get initial count
|
|
75
|
+
const beforeLinks = await controller.getRowLinkDocs(row._id)
|
|
76
|
+
await controller.rowDeleted()
|
|
77
|
+
let afterLinks = await controller.getRowLinkDocs(row._id)
|
|
78
|
+
expect(beforeLinks.length).toEqual(1)
|
|
79
|
+
expect(afterLinks.length).toEqual(0)
|
|
80
|
+
})
|
|
75
81
|
})
|
|
76
82
|
|
|
77
83
|
it("shouldn't throw an error when deleting a row with no links", async () => {
|
|
78
84
|
const row = await config.createRow(basicRow(table1._id))
|
|
79
|
-
const controller = createLinkController(table1, row)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
const controller = await createLinkController(table1, row)
|
|
86
|
+
await context.doInAppContext(appId, async () => {
|
|
87
|
+
let error
|
|
88
|
+
try {
|
|
89
|
+
await controller.rowDeleted()
|
|
90
|
+
} catch (err) {
|
|
91
|
+
error = err
|
|
92
|
+
}
|
|
93
|
+
expect(error).toBeUndefined()
|
|
94
|
+
})
|
|
87
95
|
})
|
|
88
96
|
|
|
89
|
-
it("should throw an error when validating a table which is invalid", () => {
|
|
90
|
-
const controller = createLinkController(table1)
|
|
97
|
+
it("should throw an error when validating a table which is invalid", async () => {
|
|
98
|
+
const controller = await createLinkController(table1)
|
|
91
99
|
const copyTable = {
|
|
92
100
|
...table1
|
|
93
101
|
}
|
|
@@ -110,32 +118,38 @@ describe("test the link controller", () => {
|
|
|
110
118
|
const row = await createLinkedRow()
|
|
111
119
|
// remove the link from the row
|
|
112
120
|
row.link = []
|
|
113
|
-
const controller = createLinkController(table1, row)
|
|
114
|
-
await
|
|
115
|
-
|
|
116
|
-
|
|
121
|
+
const controller = await createLinkController(table1, row)
|
|
122
|
+
await context.doInAppContext(appId, async () => {
|
|
123
|
+
await controller.rowSaved()
|
|
124
|
+
let links = await controller.getRowLinkDocs(row._id)
|
|
125
|
+
expect(links.length).toEqual(0)
|
|
126
|
+
})
|
|
117
127
|
})
|
|
118
128
|
|
|
119
129
|
it("should be able to delete a table and have links deleted", async () => {
|
|
120
130
|
await createLinkedRow()
|
|
121
|
-
const controller = createLinkController(table1)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
131
|
+
const controller = await createLinkController(table1)
|
|
132
|
+
await context.doInAppContext(appId, async () => {
|
|
133
|
+
let before = await controller.getTableLinkDocs()
|
|
134
|
+
await controller.tableDeleted()
|
|
135
|
+
let after = await controller.getTableLinkDocs()
|
|
136
|
+
expect(before.length).toEqual(1)
|
|
137
|
+
expect(after.length).toEqual(0)
|
|
138
|
+
})
|
|
127
139
|
})
|
|
128
140
|
|
|
129
141
|
it("should be able to remove a linked field from a table", async () => {
|
|
130
142
|
await createLinkedRow()
|
|
131
143
|
await createLinkedRow("link2")
|
|
132
|
-
const controller = createLinkController(table1, null, table1)
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
144
|
+
const controller = await createLinkController(table1, null, table1)
|
|
145
|
+
await context.doInAppContext(appId, async () => {
|
|
146
|
+
let before = await controller.getTableLinkDocs()
|
|
147
|
+
await controller.removeFieldFromTable("link")
|
|
148
|
+
let after = await controller.getTableLinkDocs()
|
|
149
|
+
expect(before.length).toEqual(2)
|
|
150
|
+
// shouldn't delete the other field
|
|
151
|
+
expect(after.length).toEqual(1)
|
|
152
|
+
})
|
|
139
153
|
})
|
|
140
154
|
|
|
141
155
|
it("should throw an error when overwriting a link column", async () => {
|
|
@@ -143,7 +157,7 @@ describe("test the link controller", () => {
|
|
|
143
157
|
update.schema.link.relationshipType = RelationshipTypes.MANY_TO_ONE
|
|
144
158
|
let error
|
|
145
159
|
try {
|
|
146
|
-
const controller = createLinkController(update)
|
|
160
|
+
const controller = await createLinkController(update)
|
|
147
161
|
await controller.tableSaved()
|
|
148
162
|
} catch (err) {
|
|
149
163
|
error = err
|
|
@@ -156,10 +170,12 @@ describe("test the link controller", () => {
|
|
|
156
170
|
await createLinkedRow()
|
|
157
171
|
const newTable = cloneDeep(table1)
|
|
158
172
|
delete newTable.schema.link
|
|
159
|
-
const controller = createLinkController(newTable, null, table1)
|
|
160
|
-
await
|
|
161
|
-
|
|
162
|
-
|
|
173
|
+
const controller = await createLinkController(newTable, null, table1)
|
|
174
|
+
await context.doInAppContext(appId, async () => {
|
|
175
|
+
await controller.tableUpdated()
|
|
176
|
+
const links = await controller.getTableLinkDocs()
|
|
177
|
+
expect(links.length).toEqual(0)
|
|
178
|
+
})
|
|
163
179
|
})
|
|
164
180
|
|
|
165
181
|
it("shouldn't allow one to many having many relationships against it", async () => {
|
|
@@ -1,30 +1,34 @@
|
|
|
1
1
|
const TestConfig = require("../../tests/utilities/TestConfiguration")
|
|
2
2
|
const { basicTable } = require("../../tests/utilities/structures")
|
|
3
3
|
const linkUtils = require("../linkedRows/linkUtils")
|
|
4
|
-
const {
|
|
5
|
-
const { doWithDB } = require("@budibase/backend-core/db")
|
|
4
|
+
const { context } = require("@budibase/backend-core")
|
|
6
5
|
|
|
7
6
|
describe("test link functionality", () => {
|
|
8
7
|
const config = new TestConfig(false)
|
|
8
|
+
let appId
|
|
9
9
|
|
|
10
10
|
describe("getLinkedTable", () => {
|
|
11
|
-
let
|
|
11
|
+
let table
|
|
12
12
|
beforeEach(async () => {
|
|
13
|
-
await config.init()
|
|
14
|
-
|
|
13
|
+
const app = await config.init()
|
|
14
|
+
appId = app.appId
|
|
15
15
|
table = await config.createTable()
|
|
16
16
|
})
|
|
17
17
|
|
|
18
18
|
it("should be able to retrieve a linked table from a list", async () => {
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
await context.doInAppContext(appId, async () => {
|
|
20
|
+
const retrieved = await linkUtils.getLinkedTable(table._id, [table])
|
|
21
|
+
expect(retrieved._id).toBe(table._id)
|
|
22
|
+
})
|
|
21
23
|
})
|
|
22
24
|
|
|
23
25
|
it("should be able to retrieve a table from DB and update list", async () => {
|
|
24
26
|
const tables = []
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
await context.doInAppContext(appId, async () => {
|
|
28
|
+
const retrieved = await linkUtils.getLinkedTable(table._id, tables)
|
|
29
|
+
expect(retrieved._id).toBe(table._id)
|
|
30
|
+
expect(tables[0]).toBeDefined()
|
|
31
|
+
})
|
|
28
32
|
})
|
|
29
33
|
})
|
|
30
34
|
|
|
@@ -48,15 +52,14 @@ describe("test link functionality", () => {
|
|
|
48
52
|
describe("getLinkDocuments", () => {
|
|
49
53
|
it("should create the link view when it doesn't exist", async () => {
|
|
50
54
|
// create the DB and a very basic app design DB
|
|
51
|
-
|
|
52
|
-
await
|
|
53
|
-
return await linkUtils.getLinkDocuments({
|
|
55
|
+
await context.doInAppContext(appId, async () => {
|
|
56
|
+
const output = await linkUtils.getLinkDocuments({
|
|
54
57
|
tableId: "test",
|
|
55
58
|
rowId: "test",
|
|
56
59
|
includeDocs: false,
|
|
57
60
|
})
|
|
61
|
+
expect(Array.isArray(output)).toBe(true)
|
|
58
62
|
})
|
|
59
|
-
expect(Array.isArray(output)).toBe(true)
|
|
60
63
|
})
|
|
61
64
|
})
|
|
62
65
|
})
|
|
@@ -1,82 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
APP_DEV_PREFIX,
|
|
8
|
-
APP_PREFIX,
|
|
9
|
-
SEPARATOR,
|
|
10
|
-
StaticDatabases,
|
|
11
|
-
isDevAppID,
|
|
12
|
-
isProdAppID,
|
|
13
|
-
getDevelopmentAppID,
|
|
14
|
-
generateAppID,
|
|
15
|
-
getQueryIndex,
|
|
16
|
-
ViewName,
|
|
17
|
-
getDocParams,
|
|
18
|
-
getRowParams,
|
|
19
|
-
generateRowID,
|
|
20
|
-
getUserMetadataParams,
|
|
21
|
-
generateUserMetadataID,
|
|
22
|
-
getGlobalIDFromUserMetadataID,
|
|
23
|
-
} = require("@budibase/backend-core/db")
|
|
24
|
-
|
|
25
|
-
const UNICODE_MAX = "\ufff0"
|
|
26
|
-
|
|
27
|
-
const AppStatus = {
|
|
1
|
+
import newid from "./newid"
|
|
2
|
+
import { db as dbCore } from "@budibase/backend-core"
|
|
3
|
+
|
|
4
|
+
type Optional = string | null
|
|
5
|
+
|
|
6
|
+
export const AppStatus = {
|
|
28
7
|
DEV: "development",
|
|
29
8
|
ALL: "all",
|
|
30
9
|
DEPLOYED: "published",
|
|
31
10
|
}
|
|
32
11
|
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
const SearchIndexes = {
|
|
12
|
+
export const SearchIndexes = {
|
|
36
13
|
ROWS: "rows",
|
|
37
14
|
}
|
|
38
15
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const BudibaseInternalDB = {
|
|
16
|
+
export const BudibaseInternalDB = {
|
|
42
17
|
_id: "bb_internal",
|
|
43
|
-
type:
|
|
18
|
+
type: dbCore.BUDIBASE_DATASOURCE_TYPE,
|
|
44
19
|
name: "Budibase DB",
|
|
45
20
|
source: "BUDIBASE",
|
|
46
21
|
config: {},
|
|
47
22
|
}
|
|
48
23
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
exports.getGlobalIDFromUserMetadataID = getGlobalIDFromUserMetadataID
|
|
24
|
+
export const SEPARATOR = dbCore.SEPARATOR
|
|
25
|
+
export const StaticDatabases = dbCore.StaticDatabases
|
|
26
|
+
export const DocumentType = dbCore.DocumentType
|
|
27
|
+
export const APP_PREFIX = dbCore.APP_PREFIX
|
|
28
|
+
export const APP_DEV_PREFIX = dbCore.APP_DEV_PREFIX
|
|
29
|
+
export const isDevAppID = dbCore.isDevAppID
|
|
30
|
+
export const isProdAppID = dbCore.isProdAppID
|
|
31
|
+
export const USER_METDATA_PREFIX = `${DocumentType.ROW}${SEPARATOR}${dbCore.InternalTable.USER_METADATA}${SEPARATOR}`
|
|
32
|
+
export const LINK_USER_METADATA_PREFIX = `${DocumentType.LINK}${SEPARATOR}${dbCore.InternalTable.USER_METADATA}${SEPARATOR}`
|
|
33
|
+
export const TABLE_ROW_PREFIX = `${DocumentType.ROW}${SEPARATOR}${DocumentType.TABLE}`
|
|
34
|
+
export const ViewName = dbCore.ViewName
|
|
35
|
+
export const InternalTables = dbCore.InternalTable
|
|
36
|
+
export const UNICODE_MAX = dbCore.UNICODE_MAX
|
|
37
|
+
export const generateAppID = dbCore.generateAppID
|
|
38
|
+
export const generateDevAppID = dbCore.getDevelopmentAppID
|
|
39
|
+
export const generateRoleID = dbCore.generateRoleID
|
|
40
|
+
export const getRoleParams = dbCore.getRoleParams
|
|
41
|
+
export const getQueryIndex = dbCore.getQueryIndex
|
|
42
|
+
export const getDocParams = dbCore.getDocParams
|
|
43
|
+
export const getRowParams = dbCore.getRowParams
|
|
44
|
+
export const generateRowID = dbCore.generateRowID
|
|
45
|
+
export const getUserMetadataParams = dbCore.getUserMetadataParams
|
|
46
|
+
export const generateUserMetadataID = dbCore.generateUserMetadataID
|
|
47
|
+
export const getGlobalIDFromUserMetadataID =
|
|
48
|
+
dbCore.getGlobalIDFromUserMetadataID
|
|
75
49
|
|
|
76
50
|
/**
|
|
77
51
|
* Gets parameters for retrieving tables, this is a utility function for the getDocParams function.
|
|
78
52
|
*/
|
|
79
|
-
|
|
53
|
+
export function getTableParams(tableId?: Optional, otherProps = {}) {
|
|
80
54
|
return getDocParams(DocumentType.TABLE, tableId, otherProps)
|
|
81
55
|
}
|
|
82
56
|
|
|
@@ -84,7 +58,7 @@ exports.getTableParams = (tableId = null, otherProps = {}) => {
|
|
|
84
58
|
* Generates a new table ID.
|
|
85
59
|
* @returns {string} The new table ID which the table doc can be stored under.
|
|
86
60
|
*/
|
|
87
|
-
|
|
61
|
+
export function generateTableID() {
|
|
88
62
|
return `${DocumentType.TABLE}${SEPARATOR}${newid()}`
|
|
89
63
|
}
|
|
90
64
|
|
|
@@ -93,7 +67,7 @@ exports.generateTableID = () => {
|
|
|
93
67
|
* @param {string} rowId The ID of the row.
|
|
94
68
|
* @returns {string} The table ID.
|
|
95
69
|
*/
|
|
96
|
-
|
|
70
|
+
export function getTableIDFromRowID(rowId: string) {
|
|
97
71
|
const components = rowId
|
|
98
72
|
.split(DocumentType.TABLE + SEPARATOR)[1]
|
|
99
73
|
.split(SEPARATOR)
|
|
@@ -103,7 +77,10 @@ exports.getTableIDFromRowID = rowId => {
|
|
|
103
77
|
/**
|
|
104
78
|
* Gets parameters for retrieving automations, this is a utility function for the getDocParams function.
|
|
105
79
|
*/
|
|
106
|
-
|
|
80
|
+
export function getAutomationParams(
|
|
81
|
+
automationId?: Optional,
|
|
82
|
+
otherProps: any = {}
|
|
83
|
+
) {
|
|
107
84
|
return getDocParams(DocumentType.AUTOMATION, automationId, otherProps)
|
|
108
85
|
}
|
|
109
86
|
|
|
@@ -111,7 +88,7 @@ exports.getAutomationParams = (automationId = null, otherProps = {}) => {
|
|
|
111
88
|
* Generates a new automation ID.
|
|
112
89
|
* @returns {string} The new automation ID which the automation doc can be stored under.
|
|
113
90
|
*/
|
|
114
|
-
|
|
91
|
+
export function generateAutomationID() {
|
|
115
92
|
return `${DocumentType.AUTOMATION}${SEPARATOR}${newid()}`
|
|
116
93
|
}
|
|
117
94
|
|
|
@@ -126,14 +103,14 @@ exports.generateAutomationID = () => {
|
|
|
126
103
|
* @param {string} fieldName2 the name of the field in the linked row.
|
|
127
104
|
* @returns {string} The new link doc ID which the automation doc can be stored under.
|
|
128
105
|
*/
|
|
129
|
-
|
|
130
|
-
tableId1,
|
|
131
|
-
tableId2,
|
|
132
|
-
rowId1,
|
|
133
|
-
rowId2,
|
|
134
|
-
fieldName1,
|
|
135
|
-
fieldName2
|
|
136
|
-
)
|
|
106
|
+
export function generateLinkID(
|
|
107
|
+
tableId1: string,
|
|
108
|
+
tableId2: string,
|
|
109
|
+
rowId1: string,
|
|
110
|
+
rowId2: string,
|
|
111
|
+
fieldName1: string,
|
|
112
|
+
fieldName2: string
|
|
113
|
+
) {
|
|
137
114
|
const tables = `${SEPARATOR}${tableId1}${SEPARATOR}${tableId2}`
|
|
138
115
|
const rows = `${SEPARATOR}${rowId1}${SEPARATOR}${rowId2}`
|
|
139
116
|
const fields = `${SEPARATOR}${fieldName1}${SEPARATOR}${fieldName2}`
|
|
@@ -143,7 +120,7 @@ exports.generateLinkID = (
|
|
|
143
120
|
/**
|
|
144
121
|
* Gets parameters for retrieving link docs, this is a utility function for the getDocParams function.
|
|
145
122
|
*/
|
|
146
|
-
|
|
123
|
+
export function getLinkParams(otherProps: any = {}) {
|
|
147
124
|
return getDocParams(DocumentType.LINK, null, otherProps)
|
|
148
125
|
}
|
|
149
126
|
|
|
@@ -151,14 +128,14 @@ exports.getLinkParams = (otherProps = {}) => {
|
|
|
151
128
|
* Generates a new layout ID.
|
|
152
129
|
* @returns {string} The new layout ID which the layout doc can be stored under.
|
|
153
130
|
*/
|
|
154
|
-
|
|
131
|
+
export function generateLayoutID(id?: string) {
|
|
155
132
|
return `${DocumentType.LAYOUT}${SEPARATOR}${id || newid()}`
|
|
156
133
|
}
|
|
157
134
|
|
|
158
135
|
/**
|
|
159
136
|
* Gets parameters for retrieving layout, this is a utility function for the getDocParams function.
|
|
160
137
|
*/
|
|
161
|
-
|
|
138
|
+
export function getLayoutParams(layoutId?: Optional, otherProps: any = {}) {
|
|
162
139
|
return getDocParams(DocumentType.LAYOUT, layoutId, otherProps)
|
|
163
140
|
}
|
|
164
141
|
|
|
@@ -166,14 +143,14 @@ exports.getLayoutParams = (layoutId = null, otherProps = {}) => {
|
|
|
166
143
|
* Generates a new screen ID.
|
|
167
144
|
* @returns {string} The new screen ID which the screen doc can be stored under.
|
|
168
145
|
*/
|
|
169
|
-
|
|
146
|
+
export function generateScreenID() {
|
|
170
147
|
return `${DocumentType.SCREEN}${SEPARATOR}${newid()}`
|
|
171
148
|
}
|
|
172
149
|
|
|
173
150
|
/**
|
|
174
151
|
* Gets parameters for retrieving screens, this is a utility function for the getDocParams function.
|
|
175
152
|
*/
|
|
176
|
-
|
|
153
|
+
export function getScreenParams(screenId?: Optional, otherProps: any = {}) {
|
|
177
154
|
return getDocParams(DocumentType.SCREEN, screenId, otherProps)
|
|
178
155
|
}
|
|
179
156
|
|
|
@@ -181,14 +158,14 @@ exports.getScreenParams = (screenId = null, otherProps = {}) => {
|
|
|
181
158
|
* Generates a new webhook ID.
|
|
182
159
|
* @returns {string} The new webhook ID which the webhook doc can be stored under.
|
|
183
160
|
*/
|
|
184
|
-
|
|
161
|
+
export function generateWebhookID() {
|
|
185
162
|
return `${DocumentType.WEBHOOK}${SEPARATOR}${newid()}`
|
|
186
163
|
}
|
|
187
164
|
|
|
188
165
|
/**
|
|
189
166
|
* Gets parameters for retrieving a webhook, this is a utility function for the getDocParams function.
|
|
190
167
|
*/
|
|
191
|
-
|
|
168
|
+
export function getWebhookParams(webhookId?: Optional, otherProps: any = {}) {
|
|
192
169
|
return getDocParams(DocumentType.WEBHOOK, webhookId, otherProps)
|
|
193
170
|
}
|
|
194
171
|
|
|
@@ -196,7 +173,7 @@ exports.getWebhookParams = (webhookId = null, otherProps = {}) => {
|
|
|
196
173
|
* Generates a new datasource ID.
|
|
197
174
|
* @returns {string} The new datasource ID which the webhook doc can be stored under.
|
|
198
175
|
*/
|
|
199
|
-
|
|
176
|
+
export function generateDatasourceID({ plus = false } = {}) {
|
|
200
177
|
return `${
|
|
201
178
|
plus ? DocumentType.DATASOURCE_PLUS : DocumentType.DATASOURCE
|
|
202
179
|
}${SEPARATOR}${newid()}`
|
|
@@ -205,7 +182,10 @@ exports.generateDatasourceID = ({ plus = false } = {}) => {
|
|
|
205
182
|
/**
|
|
206
183
|
* Gets parameters for retrieving a datasource, this is a utility function for the getDocParams function.
|
|
207
184
|
*/
|
|
208
|
-
|
|
185
|
+
export function getDatasourceParams(
|
|
186
|
+
datasourceId?: Optional,
|
|
187
|
+
otherProps: any = {}
|
|
188
|
+
) {
|
|
209
189
|
return getDocParams(DocumentType.DATASOURCE, datasourceId, otherProps)
|
|
210
190
|
}
|
|
211
191
|
|
|
@@ -213,7 +193,7 @@ exports.getDatasourceParams = (datasourceId = null, otherProps = {}) => {
|
|
|
213
193
|
* Generates a new query ID.
|
|
214
194
|
* @returns {string} The new query ID which the query doc can be stored under.
|
|
215
195
|
*/
|
|
216
|
-
|
|
196
|
+
export function generateQueryID(datasourceId: string) {
|
|
217
197
|
return `${
|
|
218
198
|
DocumentType.QUERY
|
|
219
199
|
}${SEPARATOR}${datasourceId}${SEPARATOR}${newid()}`
|
|
@@ -223,21 +203,21 @@ exports.generateQueryID = datasourceId => {
|
|
|
223
203
|
* Generates a metadata ID for automations, used to track errors in recurring
|
|
224
204
|
* automations etc.
|
|
225
205
|
*/
|
|
226
|
-
|
|
206
|
+
export function generateAutomationMetadataID(automationId: string) {
|
|
227
207
|
return `${DocumentType.AUTOMATION_METADATA}${SEPARATOR}${automationId}`
|
|
228
208
|
}
|
|
229
209
|
|
|
230
210
|
/**
|
|
231
211
|
* Retrieve all automation metadata in an app database.
|
|
232
212
|
*/
|
|
233
|
-
|
|
213
|
+
export function getAutomationMetadataParams(otherProps: any = {}) {
|
|
234
214
|
return getDocParams(DocumentType.AUTOMATION_METADATA, null, otherProps)
|
|
235
215
|
}
|
|
236
216
|
|
|
237
217
|
/**
|
|
238
218
|
* Gets parameters for retrieving a query, this is a utility function for the getDocParams function.
|
|
239
219
|
*/
|
|
240
|
-
|
|
220
|
+
export function getQueryParams(datasourceId?: Optional, otherProps: any = {}) {
|
|
241
221
|
if (datasourceId == null) {
|
|
242
222
|
return getDocParams(DocumentType.QUERY, null, otherProps)
|
|
243
223
|
}
|
|
@@ -253,15 +233,19 @@ exports.getQueryParams = (datasourceId = null, otherProps = {}) => {
|
|
|
253
233
|
* Generates a new flag document ID.
|
|
254
234
|
* @returns {string} The ID of the flag document that was generated.
|
|
255
235
|
*/
|
|
256
|
-
|
|
236
|
+
export function generateUserFlagID(userId: string) {
|
|
257
237
|
return `${DocumentType.USER_FLAG}${SEPARATOR}${userId}`
|
|
258
238
|
}
|
|
259
239
|
|
|
260
|
-
|
|
240
|
+
export function generateMetadataID(type: string, entityId: string) {
|
|
261
241
|
return `${DocumentType.METADATA}${SEPARATOR}${type}${SEPARATOR}${entityId}`
|
|
262
242
|
}
|
|
263
243
|
|
|
264
|
-
|
|
244
|
+
export function getMetadataParams(
|
|
245
|
+
type: string,
|
|
246
|
+
entityId?: Optional,
|
|
247
|
+
otherProps: any = {}
|
|
248
|
+
) {
|
|
265
249
|
let docId = `${type}${SEPARATOR}`
|
|
266
250
|
if (entityId != null) {
|
|
267
251
|
docId += entityId
|
|
@@ -269,22 +253,22 @@ exports.getMetadataParams = (type, entityId = null, otherProps = {}) => {
|
|
|
269
253
|
return getDocParams(DocumentType.METADATA, docId, otherProps)
|
|
270
254
|
}
|
|
271
255
|
|
|
272
|
-
|
|
256
|
+
export function generateMemoryViewID(viewName: string) {
|
|
273
257
|
return `${DocumentType.MEM_VIEW}${SEPARATOR}${viewName}`
|
|
274
258
|
}
|
|
275
259
|
|
|
276
|
-
|
|
260
|
+
export function getMemoryViewParams(otherProps: any = {}) {
|
|
277
261
|
return getDocParams(DocumentType.MEM_VIEW, null, otherProps)
|
|
278
262
|
}
|
|
279
263
|
|
|
280
|
-
|
|
264
|
+
export function generatePluginID(name: string) {
|
|
281
265
|
return `${DocumentType.PLUGIN}${SEPARATOR}${name}`
|
|
282
266
|
}
|
|
283
267
|
|
|
284
268
|
/**
|
|
285
269
|
* This can be used with the db.allDocs to get a list of IDs
|
|
286
270
|
*/
|
|
287
|
-
|
|
271
|
+
export function getMultiIDParams(ids: string[]) {
|
|
288
272
|
return {
|
|
289
273
|
keys: ids,
|
|
290
274
|
include_docs: true,
|