@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/internalSearch.
|
|
6
|
+
<title>Code coverage report for src/api/controllers/row/internalSearch.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,7 +19,7 @@
|
|
|
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> internalSearch.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -30,23 +30,23 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">77.41% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>93
|
|
35
|
+
<span class='fraction'>72/93</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">69.04% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>29/42</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">78.
|
|
47
|
+
<span class="strong">78.74% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>163/207</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -570,11 +570,38 @@
|
|
|
570
570
|
<a name='L505'></a><a href='#L505'>505</a>
|
|
571
571
|
<a name='L506'></a><a href='#L506'>506</a>
|
|
572
572
|
<a name='L507'></a><a href='#L507'>507</a>
|
|
573
|
-
<a name='L508'></a><a href='#L508'>508</a
|
|
574
|
-
<
|
|
575
|
-
<
|
|
576
|
-
<
|
|
577
|
-
<
|
|
573
|
+
<a name='L508'></a><a href='#L508'>508</a>
|
|
574
|
+
<a name='L509'></a><a href='#L509'>509</a>
|
|
575
|
+
<a name='L510'></a><a href='#L510'>510</a>
|
|
576
|
+
<a name='L511'></a><a href='#L511'>511</a>
|
|
577
|
+
<a name='L512'></a><a href='#L512'>512</a>
|
|
578
|
+
<a name='L513'></a><a href='#L513'>513</a>
|
|
579
|
+
<a name='L514'></a><a href='#L514'>514</a>
|
|
580
|
+
<a name='L515'></a><a href='#L515'>515</a>
|
|
581
|
+
<a name='L516'></a><a href='#L516'>516</a>
|
|
582
|
+
<a name='L517'></a><a href='#L517'>517</a>
|
|
583
|
+
<a name='L518'></a><a href='#L518'>518</a>
|
|
584
|
+
<a name='L519'></a><a href='#L519'>519</a>
|
|
585
|
+
<a name='L520'></a><a href='#L520'>520</a>
|
|
586
|
+
<a name='L521'></a><a href='#L521'>521</a>
|
|
587
|
+
<a name='L522'></a><a href='#L522'>522</a>
|
|
588
|
+
<a name='L523'></a><a href='#L523'>523</a>
|
|
589
|
+
<a name='L524'></a><a href='#L524'>524</a>
|
|
590
|
+
<a name='L525'></a><a href='#L525'>525</a>
|
|
591
|
+
<a name='L526'></a><a href='#L526'>526</a>
|
|
592
|
+
<a name='L527'></a><a href='#L527'>527</a>
|
|
593
|
+
<a name='L528'></a><a href='#L528'>528</a>
|
|
594
|
+
<a name='L529'></a><a href='#L529'>529</a>
|
|
595
|
+
<a name='L530'></a><a href='#L530'>530</a>
|
|
596
|
+
<a name='L531'></a><a href='#L531'>531</a>
|
|
597
|
+
<a name='L532'></a><a href='#L532'>532</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">47x</span>
|
|
598
|
+
<span class="cline-any cline-yes">47x</span>
|
|
599
|
+
<span class="cline-any cline-yes">47x</span>
|
|
600
|
+
<span class="cline-any cline-yes">47x</span>
|
|
601
|
+
<span class="cline-any cline-neutral"> </span>
|
|
602
|
+
<span class="cline-any cline-neutral"> </span>
|
|
603
|
+
<span class="cline-any cline-neutral"> </span>
|
|
604
|
+
<span class="cline-any cline-neutral"> </span>
|
|
578
605
|
<span class="cline-any cline-neutral"> </span>
|
|
579
606
|
<span class="cline-any cline-neutral"> </span>
|
|
580
607
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -582,13 +609,15 @@
|
|
|
582
609
|
<span class="cline-any cline-neutral"> </span>
|
|
583
610
|
<span class="cline-any cline-neutral"> </span>
|
|
584
611
|
<span class="cline-any cline-neutral"> </span>
|
|
585
|
-
<span class="cline-any cline-yes">17x</span>
|
|
586
612
|
<span class="cline-any cline-neutral"> </span>
|
|
587
613
|
<span class="cline-any cline-neutral"> </span>
|
|
588
614
|
<span class="cline-any cline-neutral"> </span>
|
|
589
615
|
<span class="cline-any cline-neutral"> </span>
|
|
590
616
|
<span class="cline-any cline-neutral"> </span>
|
|
591
617
|
<span class="cline-any cline-neutral"> </span>
|
|
618
|
+
<span class="cline-any cline-yes">47x</span>
|
|
619
|
+
<span class="cline-any cline-neutral"> </span>
|
|
620
|
+
<span class="cline-any cline-neutral"> </span>
|
|
592
621
|
<span class="cline-any cline-neutral"> </span>
|
|
593
622
|
<span class="cline-any cline-neutral"> </span>
|
|
594
623
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -598,6 +627,20 @@
|
|
|
598
627
|
<span class="cline-any cline-neutral"> </span>
|
|
599
628
|
<span class="cline-any cline-neutral"> </span>
|
|
600
629
|
<span class="cline-any cline-yes">17x</span>
|
|
630
|
+
<span class="cline-any cline-neutral"> </span>
|
|
631
|
+
<span class="cline-any cline-neutral"> </span>
|
|
632
|
+
<span class="cline-any cline-neutral"> </span>
|
|
633
|
+
<span class="cline-any cline-neutral"> </span>
|
|
634
|
+
<span class="cline-any cline-neutral"> </span>
|
|
635
|
+
<span class="cline-any cline-neutral"> </span>
|
|
636
|
+
<span class="cline-any cline-neutral"> </span>
|
|
637
|
+
<span class="cline-any cline-neutral"> </span>
|
|
638
|
+
<span class="cline-any cline-neutral"> </span>
|
|
639
|
+
<span class="cline-any cline-neutral"> </span>
|
|
640
|
+
<span class="cline-any cline-neutral"> </span>
|
|
641
|
+
<span class="cline-any cline-neutral"> </span>
|
|
642
|
+
<span class="cline-any cline-neutral"> </span>
|
|
643
|
+
<span class="cline-any cline-neutral"> </span>
|
|
601
644
|
<span class="cline-any cline-yes">17x</span>
|
|
602
645
|
<span class="cline-any cline-yes">17x</span>
|
|
603
646
|
<span class="cline-any cline-yes">17x</span>
|
|
@@ -606,6 +649,8 @@
|
|
|
606
649
|
<span class="cline-any cline-neutral"> </span>
|
|
607
650
|
<span class="cline-any cline-neutral"> </span>
|
|
608
651
|
<span class="cline-any cline-yes">17x</span>
|
|
652
|
+
<span class="cline-any cline-yes">15x</span>
|
|
653
|
+
<span class="cline-any cline-neutral"> </span>
|
|
609
654
|
<span class="cline-any cline-yes">17x</span>
|
|
610
655
|
<span class="cline-any cline-neutral"> </span>
|
|
611
656
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -644,6 +689,8 @@
|
|
|
644
689
|
<span class="cline-any cline-neutral"> </span>
|
|
645
690
|
<span class="cline-any cline-neutral"> </span>
|
|
646
691
|
<span class="cline-any cline-yes">33x</span>
|
|
692
|
+
<span class="cline-any cline-yes">17x</span>
|
|
693
|
+
<span class="cline-any cline-neutral"> </span>
|
|
647
694
|
<span class="cline-any cline-yes">33x</span>
|
|
648
695
|
<span class="cline-any cline-neutral"> </span>
|
|
649
696
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -775,6 +822,7 @@
|
|
|
775
822
|
<span class="cline-any cline-neutral"> </span>
|
|
776
823
|
<span class="cline-any cline-neutral"> </span>
|
|
777
824
|
<span class="cline-any cline-yes">33x</span>
|
|
825
|
+
<span class="cline-any cline-neutral"> </span>
|
|
778
826
|
<span class="cline-any cline-yes">2x</span>
|
|
779
827
|
<span class="cline-any cline-yes">2x</span>
|
|
780
828
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -927,16 +975,13 @@
|
|
|
927
975
|
<span class="cline-any cline-neutral"> </span>
|
|
928
976
|
<span class="cline-any cline-neutral"> </span>
|
|
929
977
|
<span class="cline-any cline-neutral"> </span>
|
|
930
|
-
<span class="cline-any cline-yes">45x</span>
|
|
931
|
-
<span class="cline-any cline-neutral"> </span>
|
|
932
978
|
<span class="cline-any cline-neutral"> </span>
|
|
933
979
|
<span class="cline-any cline-neutral"> </span>
|
|
934
980
|
<span class="cline-any cline-neutral"> </span>
|
|
935
981
|
<span class="cline-any cline-neutral"> </span>
|
|
936
982
|
<span class="cline-any cline-neutral"> </span>
|
|
937
983
|
<span class="cline-any cline-neutral"> </span>
|
|
938
|
-
<span class="cline-any cline-
|
|
939
|
-
<span class="cline-any cline-yes">45x</span>
|
|
984
|
+
<span class="cline-any cline-yes">47x</span>
|
|
940
985
|
<span class="cline-any cline-yes">33x</span>
|
|
941
986
|
<span class="cline-any cline-neutral"> </span>
|
|
942
987
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -974,7 +1019,7 @@
|
|
|
974
1019
|
<span class="cline-any cline-neutral"> </span>
|
|
975
1020
|
<span class="cline-any cline-neutral"> </span>
|
|
976
1021
|
<span class="cline-any cline-neutral"> </span>
|
|
977
|
-
<span class="cline-any cline-
|
|
1022
|
+
<span class="cline-any cline-neutral"> </span>
|
|
978
1023
|
<span class="cline-any cline-yes">1x</span>
|
|
979
1024
|
<span class="cline-any cline-yes">1x</span>
|
|
980
1025
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -1022,7 +1067,10 @@
|
|
|
1022
1067
|
<span class="cline-any cline-neutral"> </span>
|
|
1023
1068
|
<span class="cline-any cline-neutral"> </span>
|
|
1024
1069
|
<span class="cline-any cline-neutral"> </span>
|
|
1025
|
-
<span class="cline-any cline-yes">
|
|
1070
|
+
<span class="cline-any cline-yes">47x</span>
|
|
1071
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1072
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1073
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1026
1074
|
<span class="cline-any cline-yes">16x</span>
|
|
1027
1075
|
<span class="cline-any cline-yes">16x</span>
|
|
1028
1076
|
<span class="cline-any cline-yes">15x</span>
|
|
@@ -1068,7 +1116,7 @@
|
|
|
1068
1116
|
<span class="cline-any cline-neutral"> </span>
|
|
1069
1117
|
<span class="cline-any cline-neutral"> </span>
|
|
1070
1118
|
<span class="cline-any cline-neutral"> </span>
|
|
1071
|
-
<span class="cline-any cline-yes">
|
|
1119
|
+
<span class="cline-any cline-yes">47x</span>
|
|
1072
1120
|
<span class="cline-any cline-yes">1x</span>
|
|
1073
1121
|
<span class="cline-any cline-yes">1x</span>
|
|
1074
1122
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -1077,18 +1125,38 @@
|
|
|
1077
1125
|
<span class="cline-any cline-yes">1x</span>
|
|
1078
1126
|
<span class="cline-any cline-yes">1x</span>
|
|
1079
1127
|
<span class="cline-any cline-neutral"> </span>
|
|
1080
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1128
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { SearchIndexes } from "../../../db/utils"
|
|
1129
|
+
import { removeKeyNumbering } from "./utils"
|
|
1130
|
+
import fetch from "node-fetch"
|
|
1131
|
+
import { db as dbCore, context } from "@budibase/backend-core"
|
|
1132
|
+
import { SearchFilters, Row } from "@budibase/types"
|
|
1133
|
+
|
|
1134
|
+
type SearchParams = {
|
|
1135
|
+
tableId: string
|
|
1136
|
+
sort?: string
|
|
1137
|
+
sortOrder?: string
|
|
1138
|
+
sortType?: string
|
|
1139
|
+
limit?: number
|
|
1140
|
+
bookmark?: string
|
|
1141
|
+
version?: string
|
|
1142
|
+
rows?: Row[]
|
|
1143
|
+
}
|
|
1085
1144
|
|
|
1086
1145
|
/**
|
|
1087
1146
|
* Class to build lucene query URLs.
|
|
1088
1147
|
* Optionally takes a base lucene query object.
|
|
1089
1148
|
*/
|
|
1090
|
-
class QueryBuilder {
|
|
1091
|
-
|
|
1149
|
+
export class QueryBuilder {
|
|
1150
|
+
query: SearchFilters
|
|
1151
|
+
limit: number
|
|
1152
|
+
sort?: string
|
|
1153
|
+
bookmark?: string
|
|
1154
|
+
sortOrder: string
|
|
1155
|
+
sortType: string
|
|
1156
|
+
includeDocs: boolean
|
|
1157
|
+
version?: string
|
|
1158
|
+
|
|
1159
|
+
constructor(base?: SearchFilters) {
|
|
1092
1160
|
this.query = {
|
|
1093
1161
|
allOr: false,
|
|
1094
1162
|
string: {},
|
|
@@ -1108,112 +1176,115 @@ class QueryBuilder {
|
|
|
1108
1176
|
this.sortOrder = "ascending"
|
|
1109
1177
|
this.sortType = "string"
|
|
1110
1178
|
this.includeDocs = true
|
|
1111
|
-
this.version = null
|
|
1112
1179
|
}
|
|
1113
1180
|
|
|
1114
|
-
setVersion(version) {
|
|
1115
|
-
|
|
1181
|
+
setVersion(version?: string) {
|
|
1182
|
+
if (version != null) {
|
|
1183
|
+
this.version = version
|
|
1184
|
+
}
|
|
1116
1185
|
return this
|
|
1117
1186
|
}
|
|
1118
1187
|
|
|
1119
|
-
setTable(tableId) {
|
|
1120
|
-
this.query.equal
|
|
1188
|
+
setTable(tableId: string) {
|
|
1189
|
+
this.query.equal!.tableId = tableId
|
|
1121
1190
|
return this
|
|
1122
1191
|
}
|
|
1123
1192
|
|
|
1124
|
-
setLimit(limit) {
|
|
1125
|
-
|
|
1193
|
+
setLimit(limit?: number) {
|
|
1194
|
+
if (limit != null) {
|
|
1126
1195
|
this.limit = limit
|
|
1127
1196
|
}
|
|
1128
1197
|
return this
|
|
1129
1198
|
}
|
|
1130
1199
|
|
|
1131
|
-
setSort(sort) {
|
|
1200
|
+
setSort(sort?: string) {
|
|
1132
1201
|
if (sort != null) {
|
|
1133
1202
|
this.sort = sort
|
|
1134
1203
|
}
|
|
1135
1204
|
return this
|
|
1136
1205
|
}
|
|
1137
1206
|
|
|
1138
|
-
setSortOrder(sortOrder) {
|
|
1207
|
+
setSortOrder(sortOrder?: string) {
|
|
1139
1208
|
if (sortOrder != null) {
|
|
1140
1209
|
this.sortOrder = sortOrder
|
|
1141
1210
|
}
|
|
1142
1211
|
return this
|
|
1143
1212
|
}
|
|
1144
1213
|
|
|
1145
|
-
setSortType(sortType) {
|
|
1214
|
+
setSortType(sortType?: string) {
|
|
1146
1215
|
if (sortType != null) {
|
|
1147
1216
|
this.sortType = sortType
|
|
1148
1217
|
}
|
|
1149
1218
|
return this
|
|
1150
1219
|
}
|
|
1151
1220
|
|
|
1152
|
-
setBookmark(bookmark) {
|
|
1153
|
-
|
|
1221
|
+
setBookmark(bookmark?: string) {
|
|
1222
|
+
if (bookmark != null) {
|
|
1223
|
+
this.bookmark = bookmark
|
|
1224
|
+
}
|
|
1154
1225
|
return this
|
|
1155
1226
|
}
|
|
1156
1227
|
|
|
1157
|
-
<span class="fstat-no" title="function not covered" >
|
|
1228
|
+
<span class="fstat-no" title="function not covered" > excludeDocs(</span>) {
|
|
1158
1229
|
<span class="cstat-no" title="statement not covered" > this.includeDocs = false</span>
|
|
1159
1230
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1160
1231
|
}
|
|
1161
1232
|
|
|
1162
|
-
<span class="fstat-no" title="function not covered" >
|
|
1163
|
-
<span class="cstat-no" title="statement not covered" > this.query.string[key] = partial</span>
|
|
1233
|
+
<span class="fstat-no" title="function not covered" > addString(</span>key: string, partial: string) {
|
|
1234
|
+
<span class="cstat-no" title="statement not covered" > this.query.string![key] = partial</span>
|
|
1164
1235
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1165
1236
|
}
|
|
1166
1237
|
|
|
1167
|
-
<span class="fstat-no" title="function not covered" >
|
|
1168
|
-
<span class="cstat-no" title="statement not covered" > this.query.fuzzy[key] = fuzzy</span>
|
|
1238
|
+
<span class="fstat-no" title="function not covered" > addFuzzy(</span>key: string, fuzzy: string) {
|
|
1239
|
+
<span class="cstat-no" title="statement not covered" > this.query.fuzzy![key] = fuzzy</span>
|
|
1169
1240
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1170
1241
|
}
|
|
1171
1242
|
|
|
1172
|
-
<span class="fstat-no" title="function not covered" >
|
|
1173
|
-
<span class="cstat-no" title="statement not covered" > this.query.range = {</span>
|
|
1243
|
+
<span class="fstat-no" title="function not covered" > addRange(</span>key: string, low: string | number, high: string | number) {
|
|
1244
|
+
<span class="cstat-no" title="statement not covered" > this.query.range![key] = {</span>
|
|
1174
1245
|
low,
|
|
1175
1246
|
high,
|
|
1176
1247
|
}
|
|
1177
1248
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1178
1249
|
}
|
|
1179
1250
|
|
|
1180
|
-
<span class="fstat-no" title="function not covered" >
|
|
1181
|
-
<span class="cstat-no" title="statement not covered" > this.query.equal[key] = value</span>
|
|
1251
|
+
<span class="fstat-no" title="function not covered" > addEqual(</span>key: string, value: any) {
|
|
1252
|
+
<span class="cstat-no" title="statement not covered" > this.query.equal![key] = value</span>
|
|
1182
1253
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1183
1254
|
}
|
|
1184
1255
|
|
|
1185
|
-
<span class="fstat-no" title="function not covered" >
|
|
1186
|
-
<span class="cstat-no" title="statement not covered" > this.query.notEqual[key] = value</span>
|
|
1256
|
+
<span class="fstat-no" title="function not covered" > addNotEqual(</span>key: string, value: any) {
|
|
1257
|
+
<span class="cstat-no" title="statement not covered" > this.query.notEqual![key] = value</span>
|
|
1187
1258
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1188
1259
|
}
|
|
1189
1260
|
|
|
1190
|
-
<span class="fstat-no" title="function not covered" >
|
|
1191
|
-
<span class="cstat-no" title="statement not covered" > this.query.empty[key] = value</span>
|
|
1261
|
+
<span class="fstat-no" title="function not covered" > addEmpty(</span>key: string, value: any) {
|
|
1262
|
+
<span class="cstat-no" title="statement not covered" > this.query.empty![key] = value</span>
|
|
1192
1263
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1193
1264
|
}
|
|
1194
1265
|
|
|
1195
|
-
<span class="fstat-no" title="function not covered" >
|
|
1196
|
-
<span class="cstat-no" title="statement not covered" > this.query.notEmpty[key] = value</span>
|
|
1266
|
+
<span class="fstat-no" title="function not covered" > addNotEmpty(</span>key: string, value: any) {
|
|
1267
|
+
<span class="cstat-no" title="statement not covered" > this.query.notEmpty![key] = value</span>
|
|
1197
1268
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1198
1269
|
}
|
|
1199
1270
|
|
|
1200
|
-
<span class="fstat-no" title="function not covered" >
|
|
1201
|
-
<span class="cstat-no" title="statement not covered" > this.query.oneOf[key] = value</span>
|
|
1271
|
+
<span class="fstat-no" title="function not covered" > addOneOf(</span>key: string, value: any) {
|
|
1272
|
+
<span class="cstat-no" title="statement not covered" > this.query.oneOf![key] = value</span>
|
|
1202
1273
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1203
1274
|
}
|
|
1204
1275
|
|
|
1205
|
-
<span class="fstat-no" title="function not covered" >
|
|
1206
|
-
<span class="cstat-no" title="statement not covered" > this.query.contains[key] = value</span>
|
|
1276
|
+
<span class="fstat-no" title="function not covered" > addContains(</span>key: string, value: any) {
|
|
1277
|
+
<span class="cstat-no" title="statement not covered" > this.query.contains![key] = value</span>
|
|
1207
1278
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1208
1279
|
}
|
|
1209
1280
|
|
|
1210
|
-
<span class="fstat-no" title="function not covered" >
|
|
1211
|
-
<span class="cstat-no" title="statement not covered" > this.query.notContains[key] = value</span>
|
|
1281
|
+
<span class="fstat-no" title="function not covered" > addNotContains(</span>key: string, value: any) {
|
|
1282
|
+
<span class="cstat-no" title="statement not covered" > this.query.notContains![key] = value</span>
|
|
1212
1283
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1213
1284
|
}
|
|
1214
1285
|
|
|
1215
|
-
<span class="fstat-no" title="function not covered" >
|
|
1216
|
-
<span class="cstat-no" title="statement not covered" > this.query.containsAny[key] = value</span>
|
|
1286
|
+
<span class="fstat-no" title="function not covered" > addContainsAny(</span>key: string, value: any) {
|
|
1287
|
+
<span class="cstat-no" title="statement not covered" > this.query.containsAny![key] = value</span>
|
|
1217
1288
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
1218
1289
|
}
|
|
1219
1290
|
|
|
@@ -1224,7 +1295,7 @@ class QueryBuilder {
|
|
|
1224
1295
|
* @param options The preprocess options
|
|
1225
1296
|
* @returns {string|*}
|
|
1226
1297
|
*/
|
|
1227
|
-
preprocess(value, { escape, lowercase, wrap, type } = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
1298
|
+
preprocess(value: any, { escape, lowercase, wrap, type }: any = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
1228
1299
|
const hasVersion = !!this.version
|
|
1229
1300
|
// Determine if type needs wrapped
|
|
1230
1301
|
const originalType = typeof value
|
|
@@ -1252,12 +1323,12 @@ class QueryBuilder {
|
|
|
1252
1323
|
let query = allOr ? "" : "*:*"
|
|
1253
1324
|
const allPreProcessingOpts = { escape: true, lowercase: true, wrap: true }
|
|
1254
1325
|
let tableId
|
|
1255
|
-
|
|
1256
|
-
tableId = this.query.equal
|
|
1257
|
-
delete this.query.equal
|
|
1326
|
+
if (this.query.equal!.tableId) {
|
|
1327
|
+
tableId = this.query.equal!.tableId
|
|
1328
|
+
delete this.query.equal!.tableId
|
|
1258
1329
|
}
|
|
1259
1330
|
|
|
1260
|
-
const equal = (key, value) => {
|
|
1331
|
+
const equal = (key: string, value: any) => {
|
|
1261
1332
|
// 0 evaluates to false, which means we would return all rows if we don't check it
|
|
1262
1333
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!value && <span class="branch-1 cbranch-no" title="branch not covered" >value !== 0)</span> {
|
|
1263
1334
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
@@ -1265,7 +1336,7 @@ class QueryBuilder {
|
|
|
1265
1336
|
return `${key}:${builder.preprocess(value, allPreProcessingOpts)}`
|
|
1266
1337
|
}
|
|
1267
1338
|
|
|
1268
|
-
const contains = (key, value, mode = "AND") => {
|
|
1339
|
+
const contains = (key: string, value: any, mode = "AND") => {
|
|
1269
1340
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(value) && value.length === 0) {
|
|
1270
1341
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
1271
1342
|
}
|
|
@@ -1281,16 +1352,17 @@ class QueryBuilder {
|
|
|
1281
1352
|
return `${key}:(${statement})`
|
|
1282
1353
|
}
|
|
1283
1354
|
|
|
1284
|
-
const notContains = (key, value) => {
|
|
1355
|
+
const notContains = (key: string, value: any) => {
|
|
1356
|
+
// @ts-ignore
|
|
1285
1357
|
const allPrefix = allOr === "" ? <span class="branch-0 cbranch-no" title="branch not covered" >"*:* AND" </span>: ""
|
|
1286
1358
|
return allPrefix + "NOT " + contains(key, value)
|
|
1287
1359
|
}
|
|
1288
1360
|
|
|
1289
|
-
const containsAny = (key, value) => {
|
|
1361
|
+
const containsAny = (key: string, value: any) => {
|
|
1290
1362
|
return contains(key, value, "OR")
|
|
1291
1363
|
}
|
|
1292
1364
|
|
|
1293
|
-
const oneOf = (key, value) => {
|
|
1365
|
+
const oneOf = (key: string, value: any) => {
|
|
1294
1366
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(value)) {
|
|
1295
1367
|
<span class="cstat-no" title="statement not covered" > if (typeof value === "string") {</span>
|
|
1296
1368
|
<span class="cstat-no" title="statement not covered" > value = value.split(",")</span>
|
|
@@ -1308,7 +1380,7 @@ class QueryBuilder {
|
|
|
1308
1380
|
return `${key}:(${orStatement})`
|
|
1309
1381
|
}
|
|
1310
1382
|
|
|
1311
|
-
function build(structure, queryFn) {
|
|
1383
|
+
function build(structure: any, queryFn: any) {
|
|
1312
1384
|
for (let [key, value] of Object.entries(structure)) {
|
|
1313
1385
|
// check for new format - remove numbering if needed
|
|
1314
1386
|
key = removeKeyNumbering(key)
|
|
@@ -1327,8 +1399,8 @@ class QueryBuilder {
|
|
|
1327
1399
|
}
|
|
1328
1400
|
|
|
1329
1401
|
// Construct the actual lucene search query string from JSON structure
|
|
1330
|
-
|
|
1331
|
-
build(this.query.string, (key, value) => {
|
|
1402
|
+
if (this.query.string) {
|
|
1403
|
+
build(this.query.string, (key: string, value: any) => {
|
|
1332
1404
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!value) {
|
|
1333
1405
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
1334
1406
|
}
|
|
@@ -1340,8 +1412,8 @@ class QueryBuilder {
|
|
|
1340
1412
|
return `${key}:${value}*`
|
|
1341
1413
|
})
|
|
1342
1414
|
}
|
|
1343
|
-
|
|
1344
|
-
build(this.query.range, (key, value) => {
|
|
1415
|
+
if (this.query.range) {
|
|
1416
|
+
build(this.query.range, (key: string, value: any) => {
|
|
1345
1417
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!value) {
|
|
1346
1418
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
1347
1419
|
}
|
|
@@ -1356,9 +1428,9 @@ class QueryBuilder {
|
|
|
1356
1428
|
return `${key}:[${low} TO ${high}]`
|
|
1357
1429
|
})
|
|
1358
1430
|
}
|
|
1359
|
-
|
|
1360
|
-
build(this.query.fuzzy, <span class="fstat-no" title="function not covered" >(k</span>ey, value) => {
|
|
1361
|
-
<span class="cstat-no" title="statement not covered" > if (!value) {</span>
|
|
1431
|
+
if (this.query.fuzzy) {
|
|
1432
|
+
build(this.query.fuzzy, <span class="fstat-no" title="function not covered" >(k</span>ey: string, value: any) => {
|
|
1433
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!value) {</span>
|
|
1362
1434
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
1363
1435
|
}
|
|
1364
1436
|
<span class="cstat-no" title="statement not covered" > value = builder.preprocess(value, {</span>
|
|
@@ -1369,37 +1441,37 @@ class QueryBuilder {
|
|
|
1369
1441
|
<span class="cstat-no" title="statement not covered" > return `${key}:${value}~`</span>
|
|
1370
1442
|
})
|
|
1371
1443
|
}
|
|
1372
|
-
|
|
1444
|
+
if (this.query.equal) {
|
|
1373
1445
|
build(this.query.equal, equal)
|
|
1374
1446
|
}
|
|
1375
|
-
|
|
1376
|
-
build(this.query.notEqual, (key, value) => {
|
|
1447
|
+
if (this.query.notEqual) {
|
|
1448
|
+
build(this.query.notEqual, (key: string, value: any) => {
|
|
1377
1449
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!value) {
|
|
1378
1450
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
1379
1451
|
}
|
|
1380
1452
|
return `!${key}:${builder.preprocess(value, allPreProcessingOpts)}`
|
|
1381
1453
|
})
|
|
1382
1454
|
}
|
|
1383
|
-
|
|
1384
|
-
build(this.query.empty, key => `!${key}:["" TO *]`)
|
|
1455
|
+
if (this.query.empty) {
|
|
1456
|
+
build(this.query.empty, (key: string) => `!${key}:["" TO *]`)
|
|
1385
1457
|
}
|
|
1386
|
-
|
|
1387
|
-
build(this.query.notEmpty, key => `${key}:["" TO *]`)
|
|
1458
|
+
if (this.query.notEmpty) {
|
|
1459
|
+
build(this.query.notEmpty, (key: string) => `${key}:["" TO *]`)
|
|
1388
1460
|
}
|
|
1389
|
-
|
|
1461
|
+
if (this.query.oneOf) {
|
|
1390
1462
|
build(this.query.oneOf, oneOf)
|
|
1391
1463
|
}
|
|
1392
|
-
|
|
1464
|
+
if (this.query.contains) {
|
|
1393
1465
|
build(this.query.contains, contains)
|
|
1394
1466
|
}
|
|
1395
|
-
|
|
1467
|
+
if (this.query.notContains) {
|
|
1396
1468
|
build(this.query.notContains, notContains)
|
|
1397
1469
|
}
|
|
1398
|
-
|
|
1470
|
+
if (this.query.containsAny) {
|
|
1399
1471
|
build(this.query.containsAny, containsAny)
|
|
1400
1472
|
}
|
|
1401
1473
|
// make sure table ID is always added as an AND
|
|
1402
|
-
|
|
1474
|
+
if (tableId) {
|
|
1403
1475
|
query = `(${query})`
|
|
1404
1476
|
allOr = false
|
|
1405
1477
|
build({ tableId }, equal)
|
|
@@ -1408,7 +1480,7 @@ class QueryBuilder {
|
|
|
1408
1480
|
}
|
|
1409
1481
|
|
|
1410
1482
|
buildSearchBody() {
|
|
1411
|
-
let body = {
|
|
1483
|
+
let body: any = {
|
|
1412
1484
|
q: this.buildSearchQuery(),
|
|
1413
1485
|
limit: Math.min(this.limit, 200),
|
|
1414
1486
|
include_docs: this.includeDocs,
|
|
@@ -1425,17 +1497,14 @@ class QueryBuilder {
|
|
|
1425
1497
|
}
|
|
1426
1498
|
|
|
1427
1499
|
async run() {
|
|
1428
|
-
const appId = getAppId()
|
|
1429
|
-
const { url, cookie } = getCouchInfo()
|
|
1500
|
+
const appId = context.getAppId()
|
|
1501
|
+
const { url, cookie } = dbCore.getCouchInfo()
|
|
1430
1502
|
const fullPath = `${url}/${appId}/_design/database/_search/${SearchIndexes.ROWS}`
|
|
1431
1503
|
const body = this.buildSearchBody()
|
|
1432
1504
|
return await runQuery(fullPath, body, cookie)
|
|
1433
1505
|
}
|
|
1434
1506
|
}
|
|
1435
1507
|
|
|
1436
|
-
// exported for unit testing
|
|
1437
|
-
exports.QueryBuilder = QueryBuilder
|
|
1438
|
-
|
|
1439
1508
|
/**
|
|
1440
1509
|
* Executes a lucene search query.
|
|
1441
1510
|
* @param url The query URL
|
|
@@ -1443,7 +1512,7 @@ exports.QueryBuilder = QueryBuilder
|
|
|
1443
1512
|
* @param cookie The auth cookie for CouchDB
|
|
1444
1513
|
* @returns {Promise<{rows: []}>}
|
|
1445
1514
|
*/
|
|
1446
|
-
const runQuery = async (url, body, cookie) => {
|
|
1515
|
+
const runQuery = async (url: string, body: any, cookie: string) => {
|
|
1447
1516
|
const response = await fetch(url, {
|
|
1448
1517
|
body: JSON.stringify(body),
|
|
1449
1518
|
method: "POST",
|
|
@@ -1453,13 +1522,13 @@ const runQuery = async (url, body, cookie) => {
|
|
|
1453
1522
|
})
|
|
1454
1523
|
const json = await response.json()
|
|
1455
1524
|
|
|
1456
|
-
let output = {
|
|
1525
|
+
let output: any = {
|
|
1457
1526
|
rows: [],
|
|
1458
1527
|
}
|
|
1459
|
-
|
|
1460
|
-
output.rows = json.rows.map(row => row.doc)
|
|
1528
|
+
if (json.rows != null && json.rows.length > 0) {
|
|
1529
|
+
output.rows = json.rows.map((row: any) => row.doc)
|
|
1461
1530
|
}
|
|
1462
|
-
|
|
1531
|
+
if (json.bookmark) {
|
|
1463
1532
|
output.bookmark = json.bookmark
|
|
1464
1533
|
}
|
|
1465
1534
|
return output
|
|
@@ -1481,7 +1550,7 @@ const runQuery = async (url, body, cookie) => {
|
|
|
1481
1550
|
* rows {array|null} Current results in the recursive search
|
|
1482
1551
|
* @returns {Promise<*[]|*>}
|
|
1483
1552
|
*/
|
|
1484
|
-
|
|
1553
|
+
async function recursiveSearch(query: any, params: any): Promise<any> {
|
|
1485
1554
|
const bookmark = params.bookmark
|
|
1486
1555
|
const rows = params.rows || []
|
|
1487
1556
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (rows.length >= params.limit) {
|
|
@@ -1503,10 +1572,10 @@ const recursiveSearch = async (query, params) => {
|
|
|
1503
1572
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!page.rows.length) {
|
|
1504
1573
|
<span class="cstat-no" title="statement not covered" > return rows</span>
|
|
1505
1574
|
}
|
|
1506
|
-
|
|
1575
|
+
if (page.rows.length < 200) {
|
|
1507
1576
|
return [...rows, ...page.rows]
|
|
1508
1577
|
}
|
|
1509
|
-
const newParams
|
|
1578
|
+
const newParams<span class="cstat-no" title="statement not covered" > = {</span>
|
|
1510
1579
|
...params,
|
|
1511
1580
|
bookmark: page.bookmark,
|
|
1512
1581
|
rows: [...rows, ...page.rows],
|
|
@@ -1529,7 +1598,10 @@ const recursiveSearch = async (query, params) => {
|
|
|
1529
1598
|
* bookmark {string} The bookmark to resume from
|
|
1530
1599
|
* @returns {Promise<{hasNextPage: boolean, rows: *[]}>}
|
|
1531
1600
|
*/
|
|
1532
|
-
|
|
1601
|
+
export async function paginatedSearch(
|
|
1602
|
+
query: SearchFilters,
|
|
1603
|
+
params: SearchParams
|
|
1604
|
+
) {
|
|
1533
1605
|
let limit = params.limit
|
|
1534
1606
|
if (limit == null || isNaN(limit) || limit < 0) {
|
|
1535
1607
|
limit = 50
|
|
@@ -1575,9 +1647,9 @@ exports.paginatedSearch = async (query, params) => {
|
|
|
1575
1647
|
* limit {number} The desired number of results
|
|
1576
1648
|
* @returns {Promise<{rows: *}>}
|
|
1577
1649
|
*/
|
|
1578
|
-
|
|
1650
|
+
export async function fullSearch(query: SearchFilters, params: SearchParams) {
|
|
1579
1651
|
let limit = params.limit
|
|
1580
|
-
|
|
1652
|
+
if (limit == null || <span class="branch-1 cbranch-no" title="branch not covered" >isNaN(limit) </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >limit < 0)</span> {
|
|
1581
1653
|
limit = 1000
|
|
1582
1654
|
}
|
|
1583
1655
|
params.limit = Math.min(limit, 1000)
|
|
@@ -1591,16 +1663,16 @@ exports.fullSearch = async (query, params) => {
|
|
|
1591
1663
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1592
1664
|
Code coverage generated by
|
|
1593
1665
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1594
|
-
at
|
|
1666
|
+
at Fri Dec 09 2022 14:41:04 GMT+0000 (Coordinated Universal Time)
|
|
1595
1667
|
</div>
|
|
1596
|
-
<script src="
|
|
1668
|
+
<script src="../../../../prettify.js"></script>
|
|
1597
1669
|
<script>
|
|
1598
1670
|
window.onload = function () {
|
|
1599
1671
|
prettyPrint();
|
|
1600
1672
|
};
|
|
1601
1673
|
</script>
|
|
1602
|
-
<script src="
|
|
1603
|
-
<script src="
|
|
1674
|
+
<script src="../../../../sorter.js"></script>
|
|
1675
|
+
<script src="../../../../block-navigation.js"></script>
|
|
1604
1676
|
</body>
|
|
1605
1677
|
</html>
|
|
1606
1678
|
|