@budibase/server 2.1.40-alpha.5 → 2.1.41
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 +0 -14
- package/__mocks__/node-fetch.ts +1 -5
- package/builder/assets/{index.8170ae19.js → index.2467ba90.js} +327 -327
- package/builder/assets/{index.144dddb2.css → index.534f6c29.css} +2 -2
- package/builder/index.html +2 -2
- package/coverage/clover.xml +3740 -10734
- package/coverage/coverage-final.json +118 -266
- package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +26 -26
- package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +75 -75
- package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +47 -47
- package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +88 -268
- package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +71 -53
- package/coverage/lcov-report/api/controllers/index.html +326 -0
- package/coverage/lcov-report/{src/api/controllers/integration.ts.html → api/controllers/integration.js.html} +22 -19
- package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +26 -26
- package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +23 -26
- package/coverage/lcov-report/{src/api/controllers/migrations.ts.html → api/controllers/migrations.js.html} +15 -18
- package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +71 -80
- package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
- package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +17 -17
- package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +56 -44
- package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +56 -65
- package/coverage/lcov-report/{src/api/controllers/row/external.ts.html → api/controllers/row/external.js.html} +94 -145
- package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +52 -82
- package/coverage/lcov-report/{src/api/controllers/row/internal.ts.html → api/controllers/row/internal.js.html} +95 -137
- package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +110 -182
- package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +51 -66
- package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +47 -77
- package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +14 -17
- package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +54 -96
- package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +103 -196
- package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
- package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +37 -46
- package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +25 -34
- package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +85 -79
- package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +14 -20
- package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +36 -36
- package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +48 -75
- package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +43 -61
- package/coverage/lcov-report/{src/api/controllers/view/viewBuilder.ts.html → api/controllers/view/viewBuilder.js.html} +32 -74
- package/coverage/lcov-report/{src/api → api}/index.html +23 -23
- package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +56 -35
- package/coverage/lcov-report/{src/api/routes/analytics.ts.html → api/routes/analytics.js.html} +14 -14
- package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/routes/apikeys.js.html} +27 -27
- package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +42 -48
- package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +21 -21
- package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +17 -17
- package/coverage/lcov-report/{src/constants/screens.ts.html → api/routes/datasource.js.html} +65 -56
- package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
- package/coverage/lcov-report/{src/automations/index.ts.html → api/routes/dev.js.html} +42 -42
- package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
- package/coverage/lcov-report/{src/api/routes/apikeys.ts.html → api/routes/integration.js.html} +18 -18
- package/coverage/lcov-report/{src/api/routes/layout.ts.html → api/routes/layout.js.html} +18 -18
- package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +24 -24
- package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
- package/coverage/lcov-report/{src/api/routes/permission.ts.html → api/routes/permission.js.html} +24 -48
- package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
- package/coverage/lcov-report/{src/db/index.ts.html → api/routes/role.js.html} +25 -28
- package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +17 -17
- package/coverage/lcov-report/api/routes/screen.js.html +139 -0
- package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
- package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +33 -24
- package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +18 -18
- package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +35 -29
- package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
- package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +58 -46
- package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/view.js.html} +31 -40
- package/coverage/lcov-report/{src/automations/actions.ts.html → automations/actions.js.html} +41 -50
- package/coverage/lcov-report/{src/automations/automationUtils.ts.html → automations/automationUtils.js.html} +27 -30
- package/coverage/lcov-report/{src/automations/bullboard.ts.html → automations/bullboard.js.html} +33 -30
- package/coverage/lcov-report/{src/automations → automations}/index.html +48 -63
- package/coverage/lcov-report/{src/websocket.ts.html → automations/index.js.html} +50 -41
- package/coverage/lcov-report/{src/automations/steps/bash.ts.html → automations/steps/bash.js.html} +25 -40
- package/coverage/lcov-report/{src/automations/steps/delay.ts.html → automations/steps/delay.js.html} +17 -32
- package/coverage/lcov-report/{src/automations/steps/discord.ts.html → automations/steps/discord.js.html} +23 -38
- package/coverage/lcov-report/{src/automations/steps/executeQuery.ts.html → automations/steps/executeQuery.js.html} +26 -41
- package/coverage/lcov-report/{src/automations/steps/executeScript.ts.html → automations/steps/executeScript.js.html} +24 -54
- package/coverage/lcov-report/{src/automations/steps/filter.ts.html → automations/steps/filter.js.html} +27 -36
- package/coverage/lcov-report/automations/steps/index.html +341 -0
- package/coverage/lcov-report/{src/automations/steps/integromat.ts.html → automations/steps/integromat.js.html} +20 -35
- package/coverage/lcov-report/{src/automations/steps/loop.ts.html → automations/steps/loop.js.html} +15 -21
- package/coverage/lcov-report/{src/automations/steps/outgoingWebhook.ts.html → automations/steps/outgoingWebhook.js.html} +33 -48
- package/coverage/lcov-report/{src/automations/steps/queryRows.ts.html → automations/steps/queryRows.js.html} +58 -94
- package/coverage/lcov-report/{src/automations/steps/sendSmtpEmail.ts.html → automations/steps/sendSmtpEmail.js.html} +22 -37
- package/coverage/lcov-report/{src/automations/steps/serverLog.ts.html → automations/steps/serverLog.js.html} +20 -38
- package/coverage/lcov-report/{src/automations/steps/slack.ts.html → automations/steps/slack.js.html} +20 -35
- package/coverage/lcov-report/{src/automations/steps/updateRow.ts.html → automations/steps/updateRow.js.html} +21 -36
- package/coverage/lcov-report/{src/automations/steps/utils.ts.html → automations/steps/utils.js.html} +26 -44
- package/coverage/lcov-report/{src/automations/steps/zapier.ts.html → automations/steps/zapier.js.html} +20 -38
- package/coverage/lcov-report/{src/definitions/automations.ts.html → automations/triggerInfo/app.js.html} +42 -42
- package/coverage/lcov-report/{src/automations/triggerInfo/cron.ts.html → automations/triggerInfo/cron.js.html} +15 -30
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +31 -31
- package/coverage/lcov-report/{src/automations/triggerInfo/index.ts.html → automations/triggerInfo/index.js.html} +17 -17
- package/coverage/lcov-report/{src/automations/triggerInfo/rowDeleted.ts.html → automations/triggerInfo/rowDeleted.js.html} +15 -30
- package/coverage/lcov-report/{src/automations/triggerInfo/rowSaved.ts.html → automations/triggerInfo/rowSaved.js.html} +15 -30
- package/coverage/lcov-report/{src/automations/triggerInfo/rowUpdated.ts.html → automations/triggerInfo/rowUpdated.js.html} +15 -30
- package/coverage/lcov-report/{src/automations/triggerInfo/webhook.ts.html → automations/triggerInfo/webhook.js.html} +15 -30
- package/coverage/lcov-report/{src/automations/triggers.ts.html → automations/triggers.js.html} +47 -59
- package/coverage/lcov-report/{src/constants → constants}/index.html +26 -26
- package/coverage/lcov-report/{src/constants/index.ts.html → constants/index.js.html} +185 -173
- package/coverage/lcov-report/{src/constants/layouts.ts.html → constants/layouts.js.html} +34 -16
- package/coverage/lcov-report/{src/definitions/datasource.ts.html → constants/screens.js.html} +60 -72
- package/coverage/lcov-report/{src/db/inMemoryView.ts.html → db/inMemoryView.js.html} +26 -44
- package/coverage/lcov-report/{src/db → db}/index.html +33 -48
- package/coverage/lcov-report/{src/api/routes/integration.ts.html → db/index.js.html} +36 -36
- package/coverage/lcov-report/{src/db/linkedRows/LinkController.ts.html → db/linkedRows/LinkController.js.html} +155 -92
- package/coverage/lcov-report/db/linkedRows/index.html +146 -0
- package/coverage/lcov-report/{src/db/linkedRows/index.ts.html → db/linkedRows/index.js.html} +68 -83
- package/coverage/lcov-report/{src/db/linkedRows/linkUtils.ts.html → db/linkedRows/linkUtils.js.html} +46 -73
- package/coverage/lcov-report/{src/db/newid.ts.html → db/newid.js.html} +11 -11
- package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
- package/coverage/lcov-report/{src/events/AutomationEmitter.ts.html → events/AutomationEmitter.js.html} +21 -36
- package/coverage/lcov-report/{src/events → events}/index.html +33 -48
- package/coverage/lcov-report/{src/events/BudibaseEmitter.ts.html → events/index.js.html} +26 -23
- package/coverage/lcov-report/{src/automations/triggerInfo/app.ts.html → events/utils.js.html} +72 -69
- package/coverage/lcov-report/index.html +184 -679
- package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
- package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
- package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +28 -31
- package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +37 -43
- package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +68 -77
- package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
- package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
- package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +24 -24
- package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +25 -40
- package/coverage/lcov-report/{src/tests/utilities/index.ts.html → middleware/selfhost.js.html} +30 -33
- package/coverage/lcov-report/{src/middleware/utils.ts.html → middleware/utils.js.html} +13 -19
- package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +12 -12
- package/coverage/lcov-report/{src/utilities/centralPath.ts.html → utilities/centralPath.js.html} +13 -13
- package/coverage/lcov-report/{src/utilities/csvParser.ts.html → utilities/csvParser.js.html} +56 -104
- package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
- package/coverage/lcov-report/{src/utilities → utilities}/index.html +77 -92
- package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +54 -78
- package/coverage/lcov-report/{src/utilities/plugins.ts.html → utilities/plugins.js.html} +19 -22
- package/coverage/lcov-report/{src/integrations/airtable.ts.html → utilities/queue/inMemoryQueue.js.html} +135 -213
- package/coverage/lcov-report/{src/migrations → utilities/queue}/index.html +23 -23
- package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
- package/coverage/lcov-report/{src/api/routes/role.ts.html → utilities/routing/index.js.html} +42 -39
- package/coverage/lcov-report/{src/definitions → utilities/rowProcessor}/index.html +34 -34
- package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +346 -115
- package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
- package/coverage/lcov-report/{src/utilities/scriptRunner.ts.html → utilities/scriptRunner.js.html} +16 -28
- package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
- package/coverage/lcov-report/{src/utilities/statusCodes.ts.html → utilities/statusCodes.js.html} +11 -11
- package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +28 -28
- package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +46 -34
- package/coverage/lcov-report/{src/utilities/usageQuota/usageQuoteReset.ts.html → utilities/usageQuota/usageQuoteReset.js.html} +13 -13
- package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +35 -29
- package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +114 -129
- package/coverage/lcov.info +6967 -19532
- package/dist/api/controllers/apikeys.js +9 -12
- package/dist/api/controllers/application.js +45 -48
- package/dist/api/controllers/automation.js +82 -122
- package/dist/api/controllers/cloud.js +71 -84
- package/dist/api/controllers/component.js +2 -4
- package/dist/api/controllers/datasource.js +94 -151
- package/dist/api/controllers/deploy/Deployment.js +6 -10
- package/dist/api/controllers/deploy/index.js +16 -13
- package/dist/api/controllers/dev.js +81 -96
- package/dist/api/controllers/integration.js +8 -11
- package/dist/api/controllers/layout.js +15 -18
- package/dist/api/controllers/metadata.js +37 -51
- package/dist/api/controllers/migrations.js +11 -19
- package/dist/api/controllers/permission.js +43 -52
- package/dist/api/controllers/plugin/index.js +7 -6
- package/dist/api/controllers/plugin/utils.js +1 -2
- package/dist/api/controllers/public/applications.js +9 -17
- package/dist/api/controllers/public/tables.js +9 -29
- package/dist/api/controllers/public/utils.js +2 -2
- package/dist/api/controllers/query/import/index.js +2 -1
- package/dist/api/controllers/query/index.js +13 -10
- package/dist/api/controllers/query/validation.js +33 -41
- package/dist/api/controllers/role.js +27 -29
- package/dist/api/controllers/routing.js +58 -71
- package/dist/api/controllers/row/ExternalRequest.js +542 -538
- package/dist/api/controllers/row/external.js +190 -258
- package/dist/api/controllers/row/index.js +14 -43
- package/dist/api/controllers/row/internal.js +295 -354
- package/dist/api/controllers/row/internalSearch.js +80 -95
- package/dist/api/controllers/row/staticFormula.js +112 -125
- package/dist/api/controllers/row/utils.js +84 -122
- package/dist/api/controllers/screen.js +66 -81
- package/dist/api/controllers/script.js +6 -13
- package/dist/api/controllers/static/index.js +14 -11
- package/dist/api/controllers/table/bulkFormula.js +35 -47
- package/dist/api/controllers/table/external.js +53 -89
- package/dist/api/controllers/table/index.js +31 -64
- package/dist/api/controllers/table/internal.js +6 -5
- package/dist/api/controllers/table/utils.js +35 -39
- package/dist/api/controllers/templates.js +10 -17
- package/dist/api/controllers/user.js +70 -82
- package/dist/api/controllers/view/exporters.js +4 -8
- package/dist/api/controllers/view/index.js +153 -201
- package/dist/api/controllers/view/utils.js +121 -151
- package/dist/api/controllers/view/viewBuilder.js +16 -4
- package/dist/api/controllers/webhook.js +2 -25
- package/dist/api/index.js +34 -38
- package/dist/api/routes/analytics.js +3 -29
- package/dist/api/routes/apikeys.js +7 -33
- package/dist/api/routes/application.js +9 -8
- package/dist/api/routes/auth.js +2 -1
- package/dist/api/routes/automation.js +20 -46
- package/dist/api/routes/backup.js +4 -3
- package/dist/api/routes/cloud.js +6 -32
- package/dist/api/routes/component.js +6 -32
- package/dist/api/routes/datasource.js +13 -39
- package/dist/api/routes/deploy.js +8 -34
- package/dist/api/routes/dev.js +10 -36
- package/dist/api/routes/integration.js +7 -33
- package/dist/api/routes/layout.js +7 -33
- package/dist/api/routes/metadata.js +10 -36
- package/dist/api/routes/migrations.js +6 -32
- package/dist/api/routes/permission.js +12 -38
- package/dist/api/routes/plugin.js +5 -5
- package/dist/api/routes/public/index.js +11 -11
- package/dist/api/routes/query.js +15 -42
- package/dist/api/routes/role.js +10 -36
- package/dist/api/routes/routing.js +6 -32
- package/dist/api/routes/row.js +11 -12
- package/dist/api/routes/screen.js +9 -35
- package/dist/api/routes/script.js +6 -32
- package/dist/api/routes/static.js +9 -9
- package/dist/api/routes/table.js +13 -40
- package/dist/api/routes/templates.js +7 -33
- package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
- package/dist/api/routes/tests/utilities/index.js +32 -69
- package/dist/api/routes/user.js +13 -40
- package/dist/api/routes/utils/validators.js +126 -142
- package/dist/api/routes/view.js +12 -38
- package/dist/api/routes/webhook.js +2 -1
- package/dist/app.js +22 -22
- package/dist/automations/actions.js +24 -53
- package/dist/automations/automationUtils.js +19 -31
- package/dist/automations/bullboard.js +29 -59
- package/dist/automations/index.js +18 -23
- package/dist/automations/steps/bash.js +10 -40
- package/dist/automations/steps/createRow.js +1 -2
- package/dist/automations/steps/delay.js +5 -9
- package/dist/automations/steps/deleteRow.js +1 -2
- package/dist/automations/steps/discord.js +7 -14
- package/dist/automations/steps/executeQuery.js +7 -34
- package/dist/automations/steps/executeScript.js +7 -34
- package/dist/automations/steps/filter.js +18 -20
- package/dist/automations/steps/integromat.js +7 -14
- package/dist/automations/steps/loop.js +1 -4
- package/dist/automations/steps/outgoingWebhook.js +14 -45
- package/dist/automations/steps/queryRows.js +38 -71
- package/dist/automations/steps/sendSmtpEmail.js +6 -33
- package/dist/automations/steps/serverLog.js +8 -12
- package/dist/automations/steps/slack.js +7 -14
- package/dist/automations/steps/updateRow.js +7 -34
- package/dist/automations/steps/utils.js +16 -22
- package/dist/automations/steps/zapier.js +7 -15
- package/dist/automations/tests/utilities/index.js +38 -62
- package/dist/automations/triggerInfo/app.js +1 -4
- package/dist/automations/triggerInfo/cron.js +1 -4
- package/dist/automations/triggerInfo/index.js +6 -31
- package/dist/automations/triggerInfo/rowDeleted.js +1 -4
- package/dist/automations/triggerInfo/rowSaved.js +1 -4
- package/dist/automations/triggerInfo/rowUpdated.js +1 -4
- package/dist/automations/triggerInfo/webhook.js +1 -4
- package/dist/automations/triggers.js +57 -90
- package/dist/automations/utils.js +8 -9
- package/dist/constants/index.js +104 -118
- package/dist/constants/layouts.js +10 -7
- package/dist/constants/screens.js +44 -49
- package/dist/db/dynamoClient.js +20 -20
- package/dist/db/inMemoryView.js +38 -47
- package/dist/db/index.js +4 -7
- package/dist/db/linkedRows/LinkController.js +70 -51
- package/dist/db/linkedRows/index.js +81 -93
- package/dist/db/linkedRows/linkUtils.js +32 -42
- package/dist/db/utils.js +119 -146
- package/dist/db/views/staticViews.js +74 -91
- package/dist/environment.js +6 -9
- package/dist/events/AutomationEmitter.js +10 -13
- package/dist/events/index.js +23 -5
- package/dist/events/utils.js +10 -18
- package/dist/integrations/elasticsearch.js +2 -26
- package/dist/integrations/googlesheets.js +6 -5
- package/dist/integrations/index.js +6 -15
- package/dist/integrations/s3.js +1 -157
- package/dist/integrations/tests/TestConfiguration.js +1 -0
- package/dist/middleware/appInfo.js +9 -14
- package/dist/middleware/authorized.js +21 -22
- package/dist/middleware/builder.js +40 -41
- package/dist/middleware/currentapp.js +37 -39
- package/dist/middleware/joi-validator.js +10 -17
- package/dist/middleware/publicApi.js +6 -5
- package/dist/middleware/resourceId.js +9 -16
- package/dist/middleware/selfhost.js +4 -5
- package/dist/middleware/utils.js +2 -5
- package/dist/migrations/functions/appUrls.js +2 -2
- package/dist/migrations/functions/backfill/global.js +1 -1
- package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
- package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
- package/dist/migrations/functions/userEmailViewCasing.js +3 -3
- package/dist/package.json +45 -11
- package/dist/sdk/app/backups/exports.js +2 -1
- package/dist/sdk/app/backups/imports.js +3 -2
- package/dist/sdk/app/tables/index.js +5 -5
- package/dist/startup.js +10 -10
- package/dist/tests/utilities/TestConfiguration.js +87 -111
- package/dist/tests/utilities/controllers.js +15 -38
- package/dist/tests/utilities/structures.js +53 -72
- package/dist/threads/automation.js +27 -49
- package/dist/threads/query.js +19 -17
- package/dist/threads/utils.js +8 -33
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +2 -4
- package/dist/utilities/centralPath.js +7 -14
- package/dist/utilities/csvParser.js +21 -27
- package/dist/utilities/fileSystem/clientLibrary.js +73 -87
- package/dist/utilities/fileSystem/index.js +175 -203
- package/dist/utilities/fileSystem/processor.js +3 -8
- package/dist/utilities/fileSystem/utilities.js +22 -0
- package/dist/utilities/global.js +66 -87
- package/dist/utilities/index.js +75 -102
- package/dist/utilities/plugins.js +9 -15
- package/dist/utilities/queue/inMemoryQueue.js +126 -0
- package/dist/utilities/redis.js +65 -100
- package/dist/utilities/routing/index.js +23 -27
- package/dist/utilities/rowProcessor/index.js +191 -133
- package/dist/utilities/rowProcessor/utils.js +26 -35
- package/dist/utilities/scriptRunner.js +5 -8
- package/dist/utilities/security.js +35 -39
- package/dist/utilities/usageQuota/rows.js +49 -56
- package/dist/utilities/users.js +28 -31
- package/dist/utilities/workerRequests.js +82 -115
- package/dist/watch.js +2 -1
- package/package.json +46 -12
- package/scripts/exportAppTemplate.js +2 -2
- package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
- package/scripts/localdomain.js +6 -34
- package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
- package/src/api/controllers/application.ts +42 -56
- package/src/api/controllers/auth.ts +3 -4
- package/src/api/controllers/{automation.ts → automation.js} +48 -48
- package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
- package/src/api/controllers/component.ts +1 -2
- package/src/api/controllers/{datasource.ts → datasource.js} +49 -109
- package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
- package/src/api/controllers/deploy/index.ts +25 -13
- package/src/api/controllers/{dev.ts → dev.js} +37 -31
- package/src/api/controllers/integration.js +14 -0
- package/src/api/controllers/{layout.ts → layout.js} +8 -8
- package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
- package/src/api/controllers/migrations.js +13 -0
- package/src/api/controllers/{permission.ts → permission.js} +46 -49
- package/src/api/controllers/plugin/index.ts +5 -4
- package/src/api/controllers/plugin/utils.ts +5 -3
- package/src/api/controllers/public/applications.ts +9 -15
- package/src/api/controllers/public/rows.ts +1 -1
- package/src/api/controllers/public/tables.ts +2 -2
- package/src/api/controllers/public/utils.ts +2 -2
- package/src/api/controllers/query/import/index.ts +3 -2
- package/src/api/controllers/query/index.ts +14 -11
- package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
- package/src/api/controllers/{role.ts → role.js} +25 -21
- package/src/api/controllers/{routing.ts → routing.js} +34 -37
- package/src/api/controllers/row/ExternalRequest.ts +624 -602
- package/src/api/controllers/row/{external.ts → external.js} +62 -79
- package/src/api/controllers/row/index.ts +11 -19
- package/src/api/controllers/row/{internal.ts → internal.js} +73 -87
- package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
- package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +25 -30
- package/src/api/controllers/row/{utils.ts → utils.js} +22 -32
- package/src/api/controllers/screen.ts +6 -10
- package/src/api/controllers/script.js +11 -0
- package/src/api/controllers/static/index.ts +16 -14
- package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
- package/src/api/controllers/table/{external.ts → external.js} +55 -86
- package/src/api/controllers/table/{index.ts → index.js} +18 -21
- package/src/api/controllers/table/internal.ts +6 -5
- package/src/api/controllers/table/utils.ts +21 -26
- package/src/api/controllers/{templates.ts → templates.js} +7 -10
- package/src/api/controllers/{user.ts → user.js} +49 -47
- package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
- package/src/api/controllers/view/{index.ts → index.js} +27 -36
- package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
- package/src/api/controllers/view/{viewBuilder.ts → viewBuilder.js} +11 -25
- package/src/api/controllers/webhook.ts +1 -1
- package/src/api/{index.ts → index.js} +22 -15
- package/src/api/routes/analytics.js +9 -0
- package/src/api/routes/apikeys.js +12 -0
- package/src/api/routes/application.ts +9 -17
- package/src/api/routes/auth.ts +2 -2
- package/src/api/routes/automation.js +85 -0
- package/src/api/routes/backup.ts +4 -8
- package/src/api/routes/cloud.js +14 -0
- package/src/api/routes/component.js +14 -0
- package/src/api/routes/datasource.js +51 -0
- package/src/api/routes/deploy.js +17 -0
- package/src/api/routes/dev.js +26 -0
- package/src/api/routes/integration.js +12 -0
- package/src/api/routes/layout.js +16 -0
- package/src/api/routes/{metadata.ts → metadata.js} +13 -13
- package/src/api/routes/migrations.js +14 -0
- package/src/api/routes/permission.js +33 -0
- package/src/api/routes/plugin.ts +6 -14
- package/src/api/routes/public/index.ts +14 -11
- package/src/api/routes/public/tests/compare.spec.js +1 -1
- package/src/api/routes/{query.ts → query.js} +22 -19
- package/src/api/routes/role.js +15 -0
- package/src/api/routes/routing.js +14 -0
- package/src/api/routes/row.ts +15 -13
- package/src/api/routes/screen.js +18 -0
- package/src/api/routes/script.js +10 -0
- package/src/api/routes/static.ts +10 -7
- package/src/api/routes/{table.ts → table.js} +13 -10
- package/src/api/routes/templates.js +16 -0
- package/src/api/routes/tests/analytics.spec.js +1 -1
- package/src/api/routes/tests/backup.spec.js +1 -9
- package/src/api/routes/tests/deployment.spec.ts +1 -1
- package/src/api/routes/tests/permissions.spec.js +1 -2
- package/src/api/routes/tests/query.spec.js +10 -15
- package/src/api/routes/tests/role.spec.js +9 -7
- package/src/api/routes/tests/routing.spec.js +1 -2
- package/src/api/routes/tests/row.spec.js +4 -3
- package/src/api/routes/tests/static.spec.js +2 -2
- package/src/api/routes/tests/table.spec.js +36 -40
- package/src/api/routes/tests/user.spec.js +1 -2
- package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
- package/src/api/routes/tests/utilities/{index.ts → index.js} +12 -12
- package/src/api/routes/tests/view.spec.js +3 -3
- package/src/api/routes/user.js +53 -0
- package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
- package/src/api/routes/view.js +31 -0
- package/src/api/routes/webhook.ts +2 -2
- package/src/app.ts +14 -15
- package/src/automations/{actions.ts → actions.js} +23 -26
- package/src/automations/{automationUtils.ts → automationUtils.js} +12 -13
- package/src/automations/bullboard.js +39 -0
- package/src/automations/index.js +29 -0
- package/src/automations/steps/{bash.ts → bash.js} +8 -13
- package/src/automations/steps/createRow.ts +3 -8
- package/src/automations/steps/{delay.ts → delay.js} +4 -9
- package/src/automations/steps/deleteRow.ts +3 -8
- package/src/automations/steps/{discord.ts → discord.js} +5 -10
- package/src/automations/steps/{executeQuery.ts → executeQuery.js} +7 -12
- package/src/automations/steps/{executeScript.ts → executeScript.js} +7 -17
- package/src/automations/steps/{filter.ts → filter.js} +9 -12
- package/src/automations/steps/{integromat.ts → integromat.js} +5 -10
- package/src/automations/steps/{loop.ts → loop.js} +2 -4
- package/src/automations/steps/{outgoingWebhook.ts → outgoingWebhook.js} +13 -18
- package/src/automations/steps/{queryRows.ts → queryRows.js} +36 -48
- package/src/automations/steps/{sendSmtpEmail.ts → sendSmtpEmail.js} +5 -10
- package/src/automations/steps/{serverLog.ts → serverLog.js} +3 -9
- package/src/automations/steps/{slack.ts → slack.js} +5 -10
- package/src/automations/steps/{updateRow.ts → updateRow.js} +7 -12
- package/src/automations/steps/{utils.ts → utils.js} +4 -10
- package/src/automations/steps/{zapier.ts → zapier.js} +5 -11
- package/src/automations/tests/updateRow.spec.js +1 -0
- package/src/automations/tests/utilities/index.js +51 -0
- package/src/automations/triggerInfo/{app.ts → app.js} +2 -7
- package/src/automations/triggerInfo/{cron.ts → cron.js} +2 -7
- package/src/automations/triggerInfo/index.js +15 -0
- package/src/automations/triggerInfo/{rowDeleted.ts → rowDeleted.js} +2 -7
- package/src/automations/triggerInfo/{rowSaved.ts → rowSaved.js} +2 -7
- package/src/automations/triggerInfo/{rowUpdated.ts → rowUpdated.js} +2 -7
- package/src/automations/triggerInfo/{webhook.ts → webhook.js} +2 -7
- package/src/automations/{triggers.ts → triggers.js} +26 -30
- package/src/automations/utils.ts +12 -9
- package/src/constants/index.js +208 -0
- package/src/constants/{layouts.ts → layouts.js} +9 -3
- package/src/constants/screens.js +46 -0
- package/src/db/{dynamoClient.ts → dynamoClient.js} +19 -39
- package/src/db/{inMemoryView.ts → inMemoryView.js} +9 -15
- package/src/db/index.js +16 -0
- package/src/db/linkedRows/{LinkController.ts → LinkController.js} +85 -64
- package/src/db/linkedRows/{index.ts → index.js} +38 -43
- package/src/db/linkedRows/{linkUtils.ts → linkUtils.js} +24 -33
- package/src/db/{newid.ts → newid.js} +1 -1
- package/src/db/tests/linkController.spec.js +57 -73
- package/src/db/tests/linkTests.spec.js +14 -17
- package/src/db/{utils.ts → utils.js} +93 -77
- package/src/db/views/{staticViews.ts → staticViews.js} +13 -20
- package/src/{environment.ts → environment.js} +7 -11
- package/src/events/{AutomationEmitter.ts → AutomationEmitter.js} +7 -12
- package/src/events/{BudibaseEmitter.ts → index.js} +8 -7
- package/src/events/utils.js +38 -0
- package/src/integrations/base/sql.ts +1 -1
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/elasticsearch.ts +2 -32
- package/src/integrations/googlesheets.ts +7 -5
- package/src/integrations/index.ts +41 -45
- package/src/integrations/s3.ts +3 -179
- package/src/integrations/tests/s3.spec.ts +1 -85
- package/src/integrations/utils.ts +2 -6
- package/src/middleware/appInfo.js +19 -0
- package/src/middleware/authorized.ts +28 -21
- package/src/middleware/{builder.ts → builder.js} +15 -17
- package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
- package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
- package/src/middleware/publicApi.js +21 -0
- package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
- package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
- package/src/middleware/tests/authorized.spec.js +6 -5
- package/src/middleware/tests/currentapp.spec.js +63 -118
- package/src/middleware/{utils.ts → utils.js} +1 -3
- package/src/migrations/functions/appUrls.ts +2 -2
- package/src/migrations/functions/backfill/app/tables.ts +5 -2
- package/src/migrations/functions/backfill/global.ts +1 -1
- package/src/migrations/functions/tests/appUrls.spec.js +4 -4
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
- package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
- package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
- package/src/migrations/functions/userEmailViewCasing.ts +3 -3
- package/src/migrations/tests/index.spec.ts +1 -1
- package/src/module.d.ts +14 -0
- package/src/sdk/app/backups/exports.ts +3 -5
- package/src/sdk/app/backups/imports.ts +14 -7
- package/src/sdk/app/backups/statistics.ts +18 -9
- package/src/sdk/app/tables/index.ts +8 -7
- package/src/startup.ts +5 -5
- package/src/tests/utilities/{TestConfiguration.ts → TestConfiguration.js} +78 -111
- package/src/tests/utilities/controllers.js +16 -0
- package/src/tests/utilities/{index.ts → index.js} +2 -2
- package/src/tests/utilities/{structures.ts → structures.js} +36 -41
- package/src/threads/automation.ts +19 -18
- package/src/threads/query.ts +16 -11
- package/src/threads/utils.ts +5 -4
- package/src/utilities/budibaseDir.js +3 -0
- package/src/utilities/{centralPath.ts → centralPath.js} +3 -3
- package/src/utilities/{csvParser.ts → csvParser.js} +26 -42
- package/src/utilities/fileSystem/{clientLibrary.ts → clientLibrary.js} +20 -20
- package/src/utilities/fileSystem/{index.ts → index.js} +65 -61
- package/src/utilities/fileSystem/{processor.ts → processor.js} +5 -3
- package/src/utilities/fileSystem/utilities.js +36 -0
- package/src/utilities/global.js +127 -0
- package/src/utilities/{index.ts → index.js} +32 -40
- package/src/utilities/{plugins.ts → plugins.js} +4 -5
- package/src/utilities/queue/inMemoryQueue.js +122 -0
- package/src/utilities/{redis.ts → redis.js} +20 -21
- package/src/utilities/routing/index.js +25 -0
- package/src/utilities/rowProcessor/{index.ts → index.js} +144 -67
- package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
- package/src/utilities/{scriptRunner.ts → scriptRunner.js} +4 -8
- package/src/utilities/security.js +71 -0
- package/src/utilities/{statusCodes.ts → statusCodes.js} +1 -1
- package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
- package/src/utilities/usageQuota/{usageQuoteReset.ts → usageQuoteReset.js} +1 -1
- package/src/utilities/{users.ts → users.js} +13 -11
- package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
- package/src/watch.ts +3 -2
- package/tsconfig.build.json +2 -1
- package/tsconfig.json +1 -3
- package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
- package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
- package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
- package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
- package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
- package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
- package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
- package/coverage/lcov-report/src/api/controllers/index.html +0 -431
- package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
- package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
- package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
- package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
- package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
- package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
- package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
- package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -136
- package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
- package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
- package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
- package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
- package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
- package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +0 -163
- package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
- package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
- package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
- package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
- package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
- package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
- package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
- package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
- package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
- package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
- package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
- package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2260
- package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
- package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
- package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
- package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -694
- package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
- package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
- package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
- package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
- package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
- package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
- package/coverage/lcov-report/src/api/routes/datasource.ts.html +0 -265
- package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
- package/coverage/lcov-report/src/api/routes/dev.ts.html +0 -199
- package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
- package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
- package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
- package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
- package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
- package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -493
- package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
- package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
- package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
- package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
- package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
- package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
- package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
- package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
- package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
- package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
- package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
- package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +0 -367
- package/coverage/lcov-report/src/api/routes/webhook.ts.html +0 -166
- package/coverage/lcov-report/src/app.ts.html +0 -406
- package/coverage/lcov-report/src/automations/logging/index.html +0 -116
- package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
- package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -382
- package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -349
- package/coverage/lcov-report/src/automations/steps/index.html +0 -371
- package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
- package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +0 -265
- package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
- package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +0 -2059
- package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +0 -541
- package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +0 -427
- package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +0 -403
- package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +0 -559
- package/coverage/lcov-report/src/db/dynamoClient.ts.html +0 -526
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +0 -265
- package/coverage/lcov-report/src/db/linkedRows/index.html +0 -161
- package/coverage/lcov-report/src/environment.ts.html +0 -457
- package/coverage/lcov-report/src/events/index.ts.html +0 -100
- package/coverage/lcov-report/src/events/utils.ts.html +0 -319
- package/coverage/lcov-report/src/index.html +0 -191
- package/coverage/lcov-report/src/index.ts.html +0 -133
- package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
- package/coverage/lcov-report/src/integrations/base/index.html +0 -161
- package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
- package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
- package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
- package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
- package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
- package/coverage/lcov-report/src/integrations/dynamodb.ts.html +0 -745
- package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
- package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
- package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1315
- package/coverage/lcov-report/src/integrations/index.html +0 -371
- package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
- package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
- package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
- package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -964
- package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
- package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
- package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
- package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
- package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
- package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
- package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
- package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
- package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1018
- package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
- package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
- package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
- package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
- package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
- package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
- package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
- package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
- package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
- package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
- package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
- package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
- package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
- package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
- package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
- package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
- package/coverage/lcov-report/src/migrations/functions/index.html +0 -146
- package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
- package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
- package/coverage/lcov-report/src/migrations/index.ts.html +0 -403
- package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
- package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
- package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
- package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
- package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
- package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
- package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
- package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
- package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
- package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
- package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
- package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
- package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
- package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
- package/coverage/lcov-report/src/startup.ts.html +0 -499
- package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +0 -1966
- package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +0 -127
- package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
- package/coverage/lcov-report/src/tests/utilities/structures.ts.html +0 -667
- package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
- package/coverage/lcov-report/src/threads/index.html +0 -161
- package/coverage/lcov-report/src/threads/index.ts.html +0 -418
- package/coverage/lcov-report/src/threads/query.ts.html +0 -961
- package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
- package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +0 -547
- package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +0 -1129
- package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +0 -142
- package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
- package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
- package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
- package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +0 -373
- package/coverage/lcov-report/src/watch.ts.html +0 -196
- package/dist/db/defaultData/datasource_bb_default.js +0 -573
- package/dist/db/defaultData/employeeImport.js +0 -155
- package/dist/db/defaultData/expensesImport.js +0 -117
- package/dist/db/defaultData/inventoryImport.js +0 -109
- package/dist/db/defaultData/jobsImport.js +0 -152
- package/dist/db/linkedRows/LinkDocument.js +0 -32
- package/dist/events/BudibaseEmitter.js +0 -24
- package/dist/utilities/rowProcessor/map.js +0 -99
- package/jest.config.ts +0 -33
- package/src/api/controllers/integration.ts +0 -13
- package/src/api/controllers/migrations.ts +0 -14
- package/src/api/controllers/script.ts +0 -12
- package/src/api/routes/analytics.ts +0 -9
- package/src/api/routes/apikeys.ts +0 -12
- package/src/api/routes/automation.ts +0 -87
- package/src/api/routes/cloud.ts +0 -18
- package/src/api/routes/component.ts +0 -14
- package/src/api/routes/datasource.ts +0 -60
- package/src/api/routes/deploy.ts +0 -21
- package/src/api/routes/dev.ts +0 -38
- package/src/api/routes/integration.ts +0 -16
- package/src/api/routes/layout.ts +0 -16
- package/src/api/routes/migrations.ts +0 -14
- package/src/api/routes/permission.ts +0 -41
- package/src/api/routes/role.ts +0 -24
- package/src/api/routes/routing.ts +0 -14
- package/src/api/routes/screen.ts +0 -23
- package/src/api/routes/script.ts +0 -10
- package/src/api/routes/templates.ts +0 -16
- package/src/api/routes/user.ts +0 -51
- package/src/api/routes/view.ts +0 -34
- package/src/automations/bullboard.ts +0 -38
- package/src/automations/index.ts +0 -26
- package/src/automations/tests/utilities/index.ts +0 -60
- package/src/automations/triggerInfo/index.ts +0 -15
- package/src/constants/index.ts +0 -204
- package/src/constants/screens.ts +0 -48
- package/src/db/defaultData/datasource_bb_default.ts +0 -658
- package/src/db/defaultData/employeeImport.ts +0 -152
- package/src/db/defaultData/expensesImport.ts +0 -114
- package/src/db/defaultData/inventoryImport.ts +0 -106
- package/src/db/defaultData/jobsImport.ts +0 -158
- package/src/db/index.ts +0 -16
- package/src/db/linkedRows/LinkDocument.ts +0 -60
- package/src/events/index.ts +0 -5
- package/src/events/utils.ts +0 -78
- package/src/middleware/appInfo.ts +0 -20
- package/src/middleware/publicApi.ts +0 -21
- package/src/tests/utilities/controllers.ts +0 -14
- package/src/utilities/budibaseDir.ts +0 -3
- package/src/utilities/global.ts +0 -138
- package/src/utilities/routing/index.ts +0 -32
- package/src/utilities/rowProcessor/map.ts +0 -96
- package/src/utilities/security.ts +0 -65
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for
|
|
6
|
+
<title>Code coverage report for api/controllers/row/external.js</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,13 +19,13 @@
|
|
|
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">api/controllers/row</a> external.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">14.
|
|
26
|
+
<span class="strong">14.63% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>18/123</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">15
|
|
47
|
+
<span class="strong">15% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>18/120</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -316,24 +316,7 @@
|
|
|
316
316
|
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
317
|
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
318
|
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
337
320
|
<span class="cline-any cline-neutral"> </span>
|
|
338
321
|
<span class="cline-any cline-neutral"> </span>
|
|
339
322
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -350,26 +333,13 @@
|
|
|
350
333
|
<span class="cline-any cline-neutral"> </span>
|
|
351
334
|
<span class="cline-any cline-neutral"> </span>
|
|
352
335
|
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-yes">45x</span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
364
336
|
<span class="cline-any cline-no"> </span>
|
|
365
337
|
<span class="cline-any cline-no"> </span>
|
|
366
338
|
<span class="cline-any cline-no"> </span>
|
|
367
339
|
<span class="cline-any cline-no"> </span>
|
|
368
340
|
<span class="cline-any cline-neutral"> </span>
|
|
369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
370
341
|
<span class="cline-any cline-no"> </span>
|
|
371
342
|
<span class="cline-any cline-no"> </span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
343
|
<span class="cline-any cline-no"> </span>
|
|
374
344
|
<span class="cline-any cline-neutral"> </span>
|
|
375
345
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -378,7 +348,7 @@
|
|
|
378
348
|
<span class="cline-any cline-no"> </span>
|
|
379
349
|
<span class="cline-any cline-neutral"> </span>
|
|
380
350
|
<span class="cline-any cline-neutral"> </span>
|
|
381
|
-
<span class="cline-any cline-
|
|
351
|
+
<span class="cline-any cline-yes">45x</span>
|
|
382
352
|
<span class="cline-any cline-neutral"> </span>
|
|
383
353
|
<span class="cline-any cline-yes">45x</span>
|
|
384
354
|
<span class="cline-any cline-no"> </span>
|
|
@@ -524,13 +494,11 @@
|
|
|
524
494
|
<span class="cline-any cline-no"> </span>
|
|
525
495
|
<span class="cline-any cline-neutral"> </span>
|
|
526
496
|
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-neutral"> </span>
|
|
528
497
|
<span class="cline-any cline-no"> </span>
|
|
529
498
|
<span class="cline-any cline-neutral"> </span>
|
|
530
499
|
<span class="cline-any cline-neutral"> </span>
|
|
531
500
|
<span class="cline-any cline-neutral"> </span>
|
|
532
501
|
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
534
502
|
<span class="cline-any cline-no"> </span>
|
|
535
503
|
<span class="cline-any cline-no"> </span>
|
|
536
504
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -547,7 +515,6 @@
|
|
|
547
515
|
<span class="cline-any cline-neutral"> </span>
|
|
548
516
|
<span class="cline-any cline-neutral"> </span>
|
|
549
517
|
<span class="cline-any cline-no"> </span>
|
|
550
|
-
<span class="cline-any cline-neutral"> </span>
|
|
551
518
|
<span class="cline-any cline-no"> </span>
|
|
552
519
|
<span class="cline-any cline-no"> </span>
|
|
553
520
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -568,9 +535,6 @@
|
|
|
568
535
|
<span class="cline-any cline-no"> </span>
|
|
569
536
|
<span class="cline-any cline-no"> </span>
|
|
570
537
|
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-no"> </span>
|
|
572
|
-
<span class="cline-any cline-no"> </span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
538
|
<span class="cline-any cline-neutral"> </span>
|
|
575
539
|
<span class="cline-any cline-neutral"> </span>
|
|
576
540
|
<span class="cline-any cline-no"> </span>
|
|
@@ -588,11 +552,13 @@
|
|
|
588
552
|
<span class="cline-any cline-no"> </span>
|
|
589
553
|
<span class="cline-any cline-no"> </span>
|
|
590
554
|
<span class="cline-any cline-no"> </span>
|
|
591
|
-
<span class="cline-any cline-no"> </span>
|
|
592
555
|
<span class="cline-any cline-neutral"> </span>
|
|
593
556
|
<span class="cline-any cline-no"> </span>
|
|
594
557
|
<span class="cline-any cline-no"> </span>
|
|
595
|
-
<span class="cline-any cline-
|
|
558
|
+
<span class="cline-any cline-neutral"> </span>
|
|
559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-neutral"> </span>
|
|
596
562
|
<span class="cline-any cline-neutral"> </span>
|
|
597
563
|
<span class="cline-any cline-neutral"> </span>
|
|
598
564
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -603,124 +569,111 @@
|
|
|
603
569
|
<span class="cline-any cline-neutral"> </span>
|
|
604
570
|
<span class="cline-any cline-no"> </span>
|
|
605
571
|
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
572
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
573
|
+
DataSourceOperation,
|
|
607
574
|
SortDirection,
|
|
608
575
|
FieldTypes,
|
|
609
576
|
NoEmptyFilterStrings,
|
|
610
|
-
}
|
|
611
|
-
|
|
577
|
+
} = require("../../../constants")
|
|
578
|
+
const {
|
|
612
579
|
breakExternalTableId,
|
|
613
580
|
breakRowIdField,
|
|
614
|
-
}
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
import {
|
|
620
|
-
Operation,
|
|
621
|
-
BBContext,
|
|
622
|
-
Row,
|
|
623
|
-
PaginationJson,
|
|
624
|
-
Table,
|
|
625
|
-
Datasource,
|
|
626
|
-
} from "@budibase/types"
|
|
581
|
+
} = require("../../../integrations/utils")
|
|
582
|
+
const ExternalRequest = require("./ExternalRequest")
|
|
583
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
584
|
+
const exporters = require("../view/exporters")
|
|
585
|
+
const { apiFileReturn } = require("../../../utilities/fileSystem")
|
|
627
586
|
|
|
628
|
-
|
|
629
|
-
operation: Operation,
|
|
630
|
-
tableId: string,
|
|
631
|
-
opts?: RunConfig
|
|
632
|
-
) {
|
|
587
|
+
async function <span class="fstat-no" title="function not covered" >handleRequest(</span>operation, tableId, opts = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
633
588
|
// make sure the filters are cleaned up, no empty strings for equals, fuzzy or string
|
|
634
|
-
<span class="cstat-no" title="statement not covered" >
|
|
589
|
+
<span class="cstat-no" title="statement not covered" > if (opts && opts.filters) {</span>
|
|
635
590
|
<span class="cstat-no" title="statement not covered" > for (let filterField of NoEmptyFilterStrings) {</span>
|
|
636
|
-
<span class="cstat-no" title="statement not covered" >
|
|
591
|
+
<span class="cstat-no" title="statement not covered" > if (!opts.filters[filterField]) {</span>
|
|
637
592
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
638
593
|
}
|
|
639
|
-
// @ts-ignore
|
|
640
594
|
<span class="cstat-no" title="statement not covered" > for (let [key, value] of Object.entries(opts.filters[filterField])) {</span>
|
|
641
|
-
<span class="cstat-no" title="statement not covered" >
|
|
642
|
-
// @ts-ignore
|
|
595
|
+
<span class="cstat-no" title="statement not covered" > if (!value || value === "") {</span>
|
|
643
596
|
<span class="cstat-no" title="statement not covered" > delete opts.filters[filterField][key]</span>
|
|
644
597
|
}
|
|
645
598
|
}
|
|
646
599
|
}
|
|
647
600
|
}
|
|
648
|
-
<span class="cstat-no" title="statement not covered" > return new ExternalRequest(operation, tableId, opts
|
|
649
|
-
opts || {}
|
|
650
|
-
)
|
|
601
|
+
<span class="cstat-no" title="statement not covered" > return new ExternalRequest(operation, tableId, opts.datasource).run(opts)</span>
|
|
651
602
|
}
|
|
652
603
|
|
|
653
|
-
|
|
604
|
+
exports.handleRequest = handleRequest
|
|
605
|
+
|
|
606
|
+
exports.patch = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
654
607
|
const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
655
608
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
656
609
|
const id = <span class="cstat-no" title="statement not covered" >inputs._id</span>
|
|
657
610
|
// don't save the ID to db
|
|
658
611
|
<span class="cstat-no" title="statement not covered" > delete inputs._id</span>
|
|
659
|
-
<span class="cstat-no" title="statement not covered" > return handleRequest(
|
|
612
|
+
<span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.UPDATE, tableId, {</span>
|
|
660
613
|
id: breakRowIdField(id),
|
|
661
614
|
row: inputs,
|
|
662
615
|
})
|
|
663
616
|
}
|
|
664
617
|
|
|
665
|
-
|
|
618
|
+
exports.save = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
666
619
|
const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
667
620
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
668
|
-
<span class="cstat-no" title="statement not covered" > return handleRequest(
|
|
621
|
+
<span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.CREATE, tableId, {</span>
|
|
669
622
|
row: inputs,
|
|
670
623
|
})
|
|
671
624
|
}
|
|
672
625
|
|
|
673
|
-
|
|
626
|
+
exports.fetchView = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
674
627
|
// there are no views in external datasources, shouldn't ever be called
|
|
675
628
|
// for now just fetch
|
|
676
629
|
const split = <span class="cstat-no" title="statement not covered" >ctx.params.viewName.split("all_")</span>
|
|
677
630
|
<span class="cstat-no" title="statement not covered" > ctx.params.tableId = split[1] ? split[1] : split[0]</span>
|
|
678
|
-
<span class="cstat-no" title="statement not covered" > return fetch(ctx)</span>
|
|
631
|
+
<span class="cstat-no" title="statement not covered" > return exports.fetch(ctx)</span>
|
|
679
632
|
}
|
|
680
633
|
|
|
681
|
-
|
|
634
|
+
exports.fetch = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
682
635
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
683
|
-
<span class="cstat-no" title="statement not covered" > return handleRequest(
|
|
636
|
+
<span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.READ, tableId)</span>
|
|
684
637
|
}
|
|
685
638
|
|
|
686
|
-
|
|
639
|
+
exports.find = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
687
640
|
const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
|
|
688
641
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
689
|
-
const response =
|
|
642
|
+
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
690
643
|
id: breakRowIdField(id),
|
|
691
|
-
})
|
|
644
|
+
})
|
|
692
645
|
<span class="cstat-no" title="statement not covered" > return response ? response[0] : response</span>
|
|
693
646
|
}
|
|
694
647
|
|
|
695
|
-
|
|
648
|
+
exports.destroy = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
696
649
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
697
650
|
const id = <span class="cstat-no" title="statement not covered" >ctx.request.body._id</span>
|
|
698
|
-
const { row } =
|
|
651
|
+
const { row } = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.DELETE, tableId, {</span>
|
|
699
652
|
id: breakRowIdField(id),
|
|
700
|
-
})
|
|
653
|
+
})
|
|
701
654
|
<span class="cstat-no" title="statement not covered" > return { response: { ok: true }, row }</span>
|
|
702
655
|
}
|
|
703
656
|
|
|
704
|
-
|
|
657
|
+
exports.bulkDestroy = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
705
658
|
const { rows } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
706
659
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
707
660
|
let promises = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
708
661
|
<span class="cstat-no" title="statement not covered" > for (let row of rows) {</span>
|
|
709
662
|
<span class="cstat-no" title="statement not covered" > promises.push(</span>
|
|
710
|
-
handleRequest(
|
|
663
|
+
handleRequest(DataSourceOperation.DELETE, tableId, {
|
|
711
664
|
id: breakRowIdField(row._id),
|
|
712
665
|
})
|
|
713
666
|
)
|
|
714
667
|
}
|
|
715
|
-
const responses =
|
|
716
|
-
<span class="cstat-no" title="statement not covered" > return { response: { ok: true }, rows: responses.map(<span class="fstat-no" title="function not covered" >
|
|
668
|
+
const responses = <span class="cstat-no" title="statement not covered" >await Promise.all(promises)</span>
|
|
669
|
+
<span class="cstat-no" title="statement not covered" > return { response: { ok: true }, rows: responses.map(<span class="fstat-no" title="function not covered" >re</span>sp => <span class="cstat-no" title="statement not covered" >resp.row)</span> }</span>
|
|
717
670
|
}
|
|
718
671
|
|
|
719
|
-
|
|
672
|
+
exports.search = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
720
673
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
721
|
-
const { paginate, query
|
|
674
|
+
const { paginate, query, ...params } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
722
675
|
let { bookmark, limit } = <span class="cstat-no" title="statement not covered" >params</span>
|
|
723
|
-
<span class="cstat-no" title="statement not covered" >
|
|
676
|
+
<span class="cstat-no" title="statement not covered" > if (!bookmark && paginate) {</span>
|
|
724
677
|
<span class="cstat-no" title="statement not covered" > bookmark = 1</span>
|
|
725
678
|
}
|
|
726
679
|
let paginateObj = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
@@ -731,13 +684,13 @@ export async function <span class="fstat-no" title="function not covered" >searc
|
|
|
731
684
|
limit: limit,
|
|
732
685
|
page: bookmark,
|
|
733
686
|
}
|
|
734
|
-
} else <span class="cstat-no" title="statement not covered"
|
|
687
|
+
} else <span class="cstat-no" title="statement not covered" >if (params && limit) {</span>
|
|
735
688
|
<span class="cstat-no" title="statement not covered" > paginateObj = {</span>
|
|
736
689
|
limit: limit,
|
|
737
690
|
}
|
|
738
691
|
}
|
|
739
692
|
let sort
|
|
740
|
-
<span class="cstat-no" title="statement not covered" >
|
|
693
|
+
<span class="cstat-no" title="statement not covered" > if (params.sort) {</span>
|
|
741
694
|
const direction =
|
|
742
695
|
<span class="cstat-no" title="statement not covered" > params.sortOrder === "descending"</span>
|
|
743
696
|
? SortDirection.DESCENDING
|
|
@@ -747,26 +700,26 @@ export async function <span class="fstat-no" title="function not covered" >searc
|
|
|
747
700
|
}
|
|
748
701
|
}
|
|
749
702
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
750
|
-
const rows =
|
|
703
|
+
const rows = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
751
704
|
filters: query,
|
|
752
705
|
sort,
|
|
753
|
-
paginate: paginateObj
|
|
754
|
-
})
|
|
706
|
+
paginate: paginateObj,
|
|
707
|
+
})
|
|
755
708
|
let hasNextPage = <span class="cstat-no" title="statement not covered" >false</span>
|
|
756
|
-
<span class="cstat-no" title="statement not covered" >
|
|
757
|
-
const nextRows =
|
|
709
|
+
<span class="cstat-no" title="statement not covered" > if (paginate && rows.length === limit) {</span>
|
|
710
|
+
const nextRows = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
758
711
|
filters: query,
|
|
759
712
|
sort,
|
|
760
713
|
paginate: {
|
|
761
714
|
limit: 1,
|
|
762
715
|
page: bookmark * limit + 1,
|
|
763
716
|
},
|
|
764
|
-
})
|
|
717
|
+
})
|
|
765
718
|
<span class="cstat-no" title="statement not covered" > hasNextPage = nextRows.length > 0</span>
|
|
766
719
|
}
|
|
767
720
|
// need wrapper object for bookmarks etc when paginating
|
|
768
721
|
<span class="cstat-no" title="statement not covered" > return { rows, hasNextPage, bookmark: bookmark + 1 }</span>
|
|
769
|
-
} catch (err
|
|
722
|
+
} catch (err) {
|
|
770
723
|
<span class="cstat-no" title="statement not covered" > if (err.message && err.message.includes("does not exist")) {</span>
|
|
771
724
|
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
772
725
|
`Table updated externally, please re-fetch - ${err.message}`
|
|
@@ -777,32 +730,30 @@ export async function <span class="fstat-no" title="function not covered" >searc
|
|
|
777
730
|
}
|
|
778
731
|
}
|
|
779
732
|
|
|
780
|
-
|
|
733
|
+
exports.validate = <span class="fstat-no" title="function not covered" >as</span>ync () => {
|
|
781
734
|
// can't validate external right now - maybe in future
|
|
782
735
|
<span class="cstat-no" title="statement not covered" > return { valid: true }</span>
|
|
783
736
|
}
|
|
784
737
|
|
|
785
|
-
|
|
738
|
+
exports.exportRows = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
786
739
|
const { datasourceId } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(ctx.params.tableId)</span>
|
|
787
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
740
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
788
741
|
const format = <span class="cstat-no" title="statement not covered" >ctx.query.format</span>
|
|
789
742
|
const { columns } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
790
743
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
791
|
-
<span class="cstat-no" title="statement not covered" >
|
|
744
|
+
<span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
|
|
792
745
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Datasource has not been configured for plus API.")</span>
|
|
793
746
|
}
|
|
794
747
|
<span class="cstat-no" title="statement not covered" > ctx.request.body = {</span>
|
|
795
748
|
query: {
|
|
796
749
|
oneOf: {
|
|
797
|
-
_id: ctx.request.body.rows.map(
|
|
798
|
-
<span class="fstat-no" title="function not covered" > (r</span>ow: string) => <span class="cstat-no" title="statement not covered" >JSON.parse(decodeURI(row))[0]</span>
|
|
799
|
-
),
|
|
750
|
+
_id: ctx.request.body.rows.map(<span class="fstat-no" title="function not covered" >ro</span>w => <span class="cstat-no" title="statement not covered" >JSON.parse(decodeURI(row))[0])</span>,
|
|
800
751
|
},
|
|
801
752
|
},
|
|
802
753
|
}
|
|
803
754
|
|
|
804
|
-
let result = <span class="cstat-no" title="statement not covered" >await search(ctx)</span>
|
|
805
|
-
let rows
|
|
755
|
+
let result = <span class="cstat-no" title="statement not covered" >await exports.search(ctx)</span>
|
|
756
|
+
let rows = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
806
757
|
|
|
807
758
|
// Filter data to only specified columns if required
|
|
808
759
|
<span class="cstat-no" title="statement not covered" > if (columns && columns.length) {</span>
|
|
@@ -817,7 +768,6 @@ export async function <span class="fstat-no" title="function not covered" >expor
|
|
|
817
768
|
}
|
|
818
769
|
|
|
819
770
|
let headers = <span class="cstat-no" title="statement not covered" >Object.keys(rows[0])</span>
|
|
820
|
-
// @ts-ignore
|
|
821
771
|
const exporter = <span class="cstat-no" title="statement not covered" >exporters[format]</span>
|
|
822
772
|
const filename = <span class="cstat-no" title="statement not covered" >`export.${format}`</span>
|
|
823
773
|
|
|
@@ -826,29 +776,26 @@ export async function <span class="fstat-no" title="function not covered" >expor
|
|
|
826
776
|
<span class="cstat-no" title="statement not covered" > return apiFileReturn(exporter(headers, rows))</span>
|
|
827
777
|
}
|
|
828
778
|
|
|
829
|
-
|
|
779
|
+
exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
830
780
|
const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
|
|
831
781
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
832
782
|
const { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
833
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
834
|
-
const datasource
|
|
835
|
-
<span class="cstat-no" title="statement not covered" >
|
|
836
|
-
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Unable to find table.")</span>
|
|
837
|
-
}
|
|
838
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!datasource || !datasource.entities) {</span>
|
|
783
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
784
|
+
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
785
|
+
<span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
|
|
839
786
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Datasource has not been configured for plus API.")</span>
|
|
840
787
|
}
|
|
841
788
|
const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
|
|
842
|
-
const response =
|
|
789
|
+
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
843
790
|
id,
|
|
844
791
|
datasource,
|
|
845
|
-
})
|
|
846
|
-
const table
|
|
792
|
+
})
|
|
793
|
+
const table = <span class="cstat-no" title="statement not covered" >tables[tableName]</span>
|
|
847
794
|
const row = <span class="cstat-no" title="statement not covered" >response[0]</span>
|
|
848
795
|
// this seems like a lot of work, but basically we need to dig deeper for the enrich
|
|
849
796
|
// for a single row, there is probably a better way to do this with some smart multi-layer joins
|
|
850
797
|
<span class="cstat-no" title="statement not covered" > for (let [fieldName, field] of Object.entries(table.schema)) {</span>
|
|
851
|
-
<span class="cstat-no" title="statement not covered" >
|
|
798
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
852
799
|
field.type !== FieldTypes.LINK ||
|
|
853
800
|
!row[fieldName] ||
|
|
854
801
|
row[fieldName].length === 0
|
|
@@ -857,19 +804,21 @@ export async function <span class="fstat-no" title="function not covered" >fetch
|
|
|
857
804
|
}
|
|
858
805
|
const links = <span class="cstat-no" title="statement not covered" >row[fieldName]</span>
|
|
859
806
|
const linkedTableId = <span class="cstat-no" title="statement not covered" >field.tableId</span>
|
|
860
|
-
const
|
|
861
|
-
const linkedTable = <span class="cstat-no" title="statement not covered" >tables[linkedTableName]</span>
|
|
807
|
+
const linkedTable = <span class="cstat-no" title="statement not covered" >tables[breakExternalTableId(linkedTableId).tableName]</span>
|
|
862
808
|
// don't support composite keys right now
|
|
863
|
-
const linkedIds = <span class="cstat-no" title="statement not covered" >links.map(<span class="fstat-no" title="function not covered" >
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
809
|
+
const linkedIds = <span class="cstat-no" title="statement not covered" >links.map(<span class="fstat-no" title="function not covered" >li</span>nk => <span class="cstat-no" title="statement not covered" >breakRowIdField(link._id)[0])</span></span>
|
|
810
|
+
<span class="cstat-no" title="statement not covered" > row[fieldName] = await handleRequest(</span>
|
|
811
|
+
DataSourceOperation.READ,
|
|
812
|
+
linkedTableId,
|
|
813
|
+
{
|
|
814
|
+
tables,
|
|
815
|
+
filters: {
|
|
816
|
+
oneOf: {
|
|
817
|
+
[linkedTable.primary]: linkedIds,
|
|
818
|
+
},
|
|
870
819
|
},
|
|
871
|
-
}
|
|
872
|
-
|
|
820
|
+
}
|
|
821
|
+
)
|
|
873
822
|
}
|
|
874
823
|
<span class="cstat-no" title="statement not covered" > return row</span>
|
|
875
824
|
}
|
|
@@ -880,16 +829,16 @@ export async function <span class="fstat-no" title="function not covered" >fetch
|
|
|
880
829
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
881
830
|
Code coverage generated by
|
|
882
831
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
883
|
-
at Wed Nov 30 2022 09:
|
|
832
|
+
at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
|
|
884
833
|
</div>
|
|
885
|
-
<script src="
|
|
834
|
+
<script src="../../../prettify.js"></script>
|
|
886
835
|
<script>
|
|
887
836
|
window.onload = function () {
|
|
888
837
|
prettyPrint();
|
|
889
838
|
};
|
|
890
839
|
</script>
|
|
891
|
-
<script src="
|
|
892
|
-
<script src="
|
|
840
|
+
<script src="../../../sorter.js"></script>
|
|
841
|
+
<script src="../../../block-navigation.js"></script>
|
|
893
842
|
</body>
|
|
894
843
|
</html>
|
|
895
844
|
|