@budibase/server 2.1.32-alpha.8 → 2.1.33
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.7176fd99.css → index.534f6c29.css} +1 -1
- package/builder/assets/{index.3efa93e2.js → index.d2995f56.js} +316 -316
- package/builder/index.html +2 -2
- package/coverage/clover.xml +3681 -10588
- package/coverage/coverage-final.json +77 -225
- 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} +87 -246
- 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 → api}/controllers/integration.js.html +10 -10
- 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 → api}/controllers/migrations.js.html +10 -10
- 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 → api}/controllers/row/external.js.html +13 -13
- package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +46 -76
- package/coverage/lcov-report/{src/api → api}/controllers/row/internal.js.html +29 -26
- 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} +54 -69
- package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +43 -64
- 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} +100 -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} +35 -35
- 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 +30 -30
- 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 → api}/controllers/view/viewBuilder.js.html +10 -10
- 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/api/routes/datasource.ts.html → api/routes/datasource.js.html} +33 -60
- package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
- package/coverage/lcov-report/{src/api/routes/webhook.ts.html → api/routes/dev.js.html} +43 -46
- 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/view.ts.html → api/routes/permission.js.html} +37 -40
- package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
- package/coverage/lcov-report/api/routes/role.js.html +130 -0
- 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/definitions/automations.ts.html → api/routes/view.js.html} +41 -44
- package/coverage/lcov-report/{src/automations → automations}/actions.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/automationUtils.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/bullboard.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/index.html +24 -39
- package/coverage/lcov-report/{src/automations → automations}/index.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/bash.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/delay.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/discord.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/executeQuery.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/executeScript.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/filter.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/index.html +26 -56
- package/coverage/lcov-report/{src/automations → automations}/steps/integromat.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/loop.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/outgoingWebhook.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/sendSmtpEmail.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/serverLog.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/slack.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/updateRow.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/utils.js.html +19 -19
- package/coverage/lcov-report/{src/automations → automations}/steps/zapier.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/app.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/cron.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowDeleted.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowSaved.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowUpdated.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/webhook.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggers.js.html +23 -20
- package/coverage/lcov-report/{src/constants → constants}/index.html +14 -14
- package/coverage/lcov-report/{src/constants → constants}/index.js.html +22 -16
- package/coverage/lcov-report/{src/constants → constants}/layouts.js.html +10 -10
- package/coverage/lcov-report/{src/constants → constants}/screens.js.html +12 -12
- package/coverage/lcov-report/{src/db → db}/inMemoryView.js.html +13 -13
- package/coverage/lcov-report/{src/db → db}/index.html +27 -42
- package/coverage/lcov-report/{src/db → db}/index.js.html +18 -18
- package/coverage/lcov-report/{src/db → db}/linkedRows/LinkController.js.html +160 -22
- package/coverage/lcov-report/{src/db → db}/linkedRows/index.html +22 -37
- package/coverage/lcov-report/{src/db → db}/linkedRows/index.js.html +12 -12
- package/coverage/lcov-report/{src/db → db}/linkedRows/linkUtils.js.html +13 -13
- package/coverage/lcov-report/{src/db → db}/newid.js.html +10 -10
- package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
- package/coverage/lcov-report/{src/events → events}/AutomationEmitter.js.html +10 -10
- package/coverage/lcov-report/{src/events → events}/index.html +10 -10
- package/coverage/lcov-report/{src/events → events}/index.js.html +10 -10
- package/coverage/lcov-report/{src/events → events}/utils.js.html +10 -10
- package/coverage/lcov-report/index.html +161 -671
- 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.js.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 → utilities}/centralPath.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/csvParser.js.html +10 -10
- package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
- package/coverage/lcov-report/{src/utilities → utilities}/index.html +61 -76
- package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +53 -77
- package/coverage/lcov-report/{src/utilities → utilities}/plugins.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/queue/inMemoryQueue.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/queue/index.html +10 -10
- 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/migrations → utilities/rowProcessor}/index.html +37 -22
- package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +344 -113
- package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
- package/coverage/lcov-report/{src/utilities → utilities}/scriptRunner.js.html +10 -10
- package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
- package/coverage/lcov-report/{src/utilities → utilities}/statusCodes.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +27 -27
- package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +46 -34
- package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/usageQuoteReset.js.html +10 -10
- 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} +61 -76
- package/coverage/lcov.info +6772 -19273
- package/dist/api/controllers/apikeys.js +9 -12
- package/dist/api/controllers/application.js +45 -48
- package/dist/api/controllers/automation.js +84 -104
- package/dist/api/controllers/cloud.js +71 -84
- package/dist/api/controllers/component.js +2 -4
- package/dist/api/controllers/datasource.js +92 -144
- 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/layout.js +15 -18
- package/dist/api/controllers/metadata.js +37 -51
- package/dist/api/controllers/permission.js +43 -52
- package/dist/api/controllers/plugin/index.js +7 -6
- package/dist/api/controllers/public/applications.js +9 -17
- package/dist/api/controllers/public/tables.js +9 -29
- 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 +8 -12
- package/dist/api/controllers/row/external.js +3 -3
- package/dist/api/controllers/row/index.js +7 -16
- package/dist/api/controllers/row/internal.js +12 -11
- package/dist/api/controllers/row/internalSearch.js +80 -95
- package/dist/api/controllers/row/staticFormula.js +75 -85
- package/dist/api/controllers/row/utils.js +84 -118
- package/dist/api/controllers/screen.js +66 -81
- package/dist/api/controllers/script.js +6 -13
- package/dist/api/controllers/static/index.js +11 -9
- package/dist/api/controllers/table/bulkFormula.js +35 -47
- package/dist/api/controllers/table/external.js +57 -67
- package/dist/api/controllers/table/index.js +33 -66
- 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/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 -10
- 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 +9 -9
- 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/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 +4 -3
- package/dist/automations/tests/utilities/index.js +12 -21
- package/dist/automations/triggers.js +6 -5
- package/dist/automations/utils.js +8 -9
- package/dist/constants/index.js +5 -3
- package/dist/constants/screens.js +2 -2
- package/dist/db/inMemoryView.js +3 -3
- package/dist/db/linkedRows/LinkController.js +31 -4
- package/dist/db/linkedRows/index.js +2 -2
- package/dist/db/linkedRows/linkUtils.js +3 -3
- package/dist/db/utils.js +119 -146
- package/dist/db/views/staticViews.js +4 -4
- package/dist/integrations/elasticsearch.js +2 -26
- package/dist/integrations/googlesheets.js +6 -4
- package/dist/integrations/index.js +6 -15
- package/dist/integrations/s3.js +1 -157
- 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 +44 -10
- 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 +4 -4
- package/dist/tests/utilities/TestConfiguration.js +36 -30
- package/dist/tests/utilities/structures.js +4 -3
- package/dist/threads/automation.js +16 -15
- package/dist/threads/query.js +20 -17
- package/dist/threads/utils.js +9 -11
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +2 -4
- package/dist/utilities/fileSystem/clientLibrary.js +12 -12
- package/dist/utilities/fileSystem/index.js +3 -3
- 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/redis.js +65 -100
- package/dist/utilities/routing/index.js +23 -27
- package/dist/utilities/rowProcessor/index.js +191 -124
- package/dist/utilities/rowProcessor/utils.js +26 -35
- 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 +45 -11
- 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} +47 -100
- 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/{layout.ts → layout.js} +8 -8
- package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
- package/src/api/controllers/{permission.ts → permission.js} +46 -49
- package/src/api/controllers/plugin/index.ts +5 -4
- package/src/api/controllers/public/applications.ts +9 -15
- package/src/api/controllers/public/tables.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 +11 -9
- package/src/api/controllers/row/external.js +3 -3
- package/src/api/controllers/row/index.ts +9 -17
- package/src/api/controllers/row/internal.js +12 -11
- package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
- package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +23 -28
- package/src/api/controllers/row/{utils.ts → utils.js} +18 -25
- package/src/api/controllers/screen.ts +6 -10
- package/src/api/controllers/script.js +11 -0
- package/src/api/controllers/static/index.ts +13 -9
- package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
- package/src/api/controllers/table/{external.ts → external.js} +54 -86
- package/src/api/controllers/table/{index.ts → index.js} +17 -17
- 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/{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 +10 -10
- 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/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 +35 -38
- package/src/api/routes/tests/user.spec.js +1 -2
- package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
- 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 +4 -3
- package/src/automations/tests/updateRow.spec.js +1 -0
- package/src/automations/tests/utilities/index.js +4 -10
- package/src/automations/triggers.js +6 -5
- package/src/automations/utils.ts +12 -9
- package/src/constants/index.js +5 -3
- package/src/constants/screens.js +2 -2
- package/src/db/inMemoryView.js +3 -3
- package/src/db/linkedRows/LinkController.js +50 -4
- package/src/db/linkedRows/index.js +2 -2
- package/src/db/linkedRows/linkUtils.js +3 -3
- 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.js +4 -4
- 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 -4
- 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/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/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 +2 -2
- package/src/tests/utilities/TestConfiguration.js +36 -42
- package/src/tests/utilities/structures.js +4 -3
- package/src/threads/automation.ts +16 -15
- package/src/threads/query.ts +17 -12
- package/src/threads/utils.ts +5 -4
- package/src/utilities/budibaseDir.js +3 -0
- package/src/utilities/fileSystem/clientLibrary.js +12 -12
- package/src/utilities/fileSystem/index.js +8 -8
- 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/{redis.ts → redis.js} +20 -21
- package/src/utilities/routing/index.js +25 -0
- package/src/utilities/rowProcessor/{index.ts → index.js} +142 -65
- package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
- package/src/utilities/security.js +71 -0
- package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
- 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.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 -142
- 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 -2320
- 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 -688
- 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/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/integration.ts.html +0 -133
- package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
- package/coverage/lcov-report/src/api/routes/permission.ts.html +0 -208
- 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 -502
- 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.js.html +0 -367
- package/coverage/lcov-report/src/app.ts.html +0 -400
- 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 -367
- package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -334
- package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
- package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +0 -256
- package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
- package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +0 -2023
- package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +0 -541
- package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +0 -427
- package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +0 -403
- package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +0 -559
- package/coverage/lcov-report/src/db/dynamoClient.js.html +0 -466
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +0 -226
- package/coverage/lcov-report/src/definitions/datasource.ts.html +0 -235
- package/coverage/lcov-report/src/definitions/index.html +0 -131
- package/coverage/lcov-report/src/environment.js.html +0 -445
- 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/airtable.ts.html +0 -529
- 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 -1312
- 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 -952
- 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 -1006
- 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.js.html +0 -1885
- package/coverage/lcov-report/src/tests/utilities/controllers.js.html +0 -133
- package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
- package/coverage/lcov-report/src/tests/utilities/structures.js.html +0 -649
- 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.js.html +0 -547
- package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +0 -1141
- package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +0 -148
- 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.js.html +0 -370
- package/coverage/lcov-report/src/watch.ts.html +0 -196
- package/coverage/lcov-report/src/websocket.ts.html +0 -163
- package/dist/db/defaultData/datasource_bb_default.js +0 -565
- package/dist/db/defaultData/employeeImport.js +0 -153
- package/dist/db/defaultData/expensesImport.js +0 -115
- package/dist/db/defaultData/inventoryImport.js +0 -107
- package/dist/db/defaultData/jobsImport.js +0 -150
- package/dist/db/linkedRows/LinkDocument.js +0 -32
- package/dist/utilities/rowProcessor/map.js +0 -96
- package/jest.config.ts +0 -33
- 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/db/defaultData/datasource_bb_default.js +0 -646
- package/src/db/defaultData/employeeImport.js +0 -152
- package/src/db/defaultData/expensesImport.js +0 -114
- package/src/db/defaultData/inventoryImport.js +0 -106
- package/src/db/defaultData/jobsImport.js +0 -158
- package/src/db/linkedRows/LinkDocument.js +0 -47
- package/src/middleware/appInfo.ts +0 -20
- package/src/middleware/publicApi.ts +0 -21
- 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.js +0 -95
- 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/table/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,20 +19,20 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">api/controllers/table</a> external.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">9.09% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>13/
|
|
28
|
+
<span class='fraction'>13/143</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/
|
|
35
|
+
<span class='fraction'>0/81</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">9.09% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>13/
|
|
49
|
+
<span class='fraction'>13/143</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -386,40 +386,7 @@
|
|
|
386
386
|
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
387
|
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
388
|
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
-
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
-
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
-
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
-
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
-
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
-
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
-
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
-
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
-
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
-
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
-
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
-
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
-
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
-
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
-
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
-
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
-
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
-
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
-
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
-
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
-
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
-
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
-
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
-
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
-
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
-
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
-
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
-
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
-
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
-
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
-
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
-
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
-
<a name='L356'></a><a href='#L356'>356</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
|
|
422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
389
|
+
<a name='L324'></a><a href='#L324'>324</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
423
390
|
<span class="cline-any cline-neutral"> </span>
|
|
424
391
|
<span class="cline-any cline-neutral"> </span>
|
|
425
392
|
<span class="cline-any cline-yes">45x</span>
|
|
@@ -438,15 +405,7 @@
|
|
|
438
405
|
<span class="cline-any cline-yes">45x</span>
|
|
439
406
|
<span class="cline-any cline-yes">45x</span>
|
|
440
407
|
<span class="cline-any cline-yes">45x</span>
|
|
441
|
-
<span class="cline-any cline-
|
|
442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-neutral"> </span>
|
|
447
|
-
<span class="cline-any cline-neutral"> </span>
|
|
448
|
-
<span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
408
|
+
<span class="cline-any cline-yes">45x</span>
|
|
450
409
|
<span class="cline-any cline-yes">45x</span>
|
|
451
410
|
<span class="cline-any cline-yes">45x</span>
|
|
452
411
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -479,10 +438,6 @@
|
|
|
479
438
|
<span class="cline-any cline-neutral"> </span>
|
|
480
439
|
<span class="cline-any cline-neutral"> </span>
|
|
481
440
|
<span class="cline-any cline-neutral"> </span>
|
|
482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
441
|
<span class="cline-any cline-no"> </span>
|
|
487
442
|
<span class="cline-any cline-neutral"> </span>
|
|
488
443
|
<span class="cline-any cline-no"> </span>
|
|
@@ -531,14 +486,6 @@
|
|
|
531
486
|
<span class="cline-any cline-neutral"> </span>
|
|
532
487
|
<span class="cline-any cline-neutral"> </span>
|
|
533
488
|
<span class="cline-any cline-neutral"> </span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-no"> </span>
|
|
540
|
-
<span class="cline-any cline-no"> </span>
|
|
541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
542
489
|
<span class="cline-any cline-no"> </span>
|
|
543
490
|
<span class="cline-any cline-no"> </span>
|
|
544
491
|
<span class="cline-any cline-no"> </span>
|
|
@@ -567,14 +514,6 @@
|
|
|
567
514
|
<span class="cline-any cline-neutral"> </span>
|
|
568
515
|
<span class="cline-any cline-neutral"> </span>
|
|
569
516
|
<span class="cline-any cline-neutral"> </span>
|
|
570
|
-
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-neutral"> </span>
|
|
572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-no"> </span>
|
|
576
|
-
<span class="cline-any cline-no"> </span>
|
|
577
|
-
<span class="cline-any cline-neutral"> </span>
|
|
578
517
|
<span class="cline-any cline-no"> </span>
|
|
579
518
|
<span class="cline-any cline-no"> </span>
|
|
580
519
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -587,11 +526,6 @@
|
|
|
587
526
|
<span class="cline-any cline-neutral"> </span>
|
|
588
527
|
<span class="cline-any cline-neutral"> </span>
|
|
589
528
|
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
593
|
-
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-neutral"> </span>
|
|
595
529
|
<span class="cline-any cline-no"> </span>
|
|
596
530
|
<span class="cline-any cline-neutral"> </span>
|
|
597
531
|
<span class="cline-any cline-no"> </span>
|
|
@@ -648,12 +582,12 @@
|
|
|
648
582
|
<span class="cline-any cline-no"> </span>
|
|
649
583
|
<span class="cline-any cline-neutral"> </span>
|
|
650
584
|
<span class="cline-any cline-no"> </span>
|
|
651
|
-
<span class="cline-any cline-neutral"> </span>
|
|
652
|
-
<span class="cline-any cline-neutral"> </span>
|
|
653
|
-
<span class="cline-any cline-no"> </span>
|
|
654
585
|
<span class="cline-any cline-no"> </span>
|
|
586
|
+
<span class="cline-any cline-neutral"> </span>
|
|
655
587
|
<span class="cline-any cline-no"> </span>
|
|
656
588
|
<span class="cline-any cline-neutral"> </span>
|
|
589
|
+
<span class="cline-any cline-neutral"> </span>
|
|
590
|
+
<span class="cline-any cline-no"> </span>
|
|
657
591
|
<span class="cline-any cline-no"> </span>
|
|
658
592
|
<span class="cline-any cline-no"> </span>
|
|
659
593
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -702,6 +636,8 @@
|
|
|
702
636
|
<span class="cline-any cline-no"> </span>
|
|
703
637
|
<span class="cline-any cline-neutral"> </span>
|
|
704
638
|
<span class="cline-any cline-no"> </span>
|
|
639
|
+
<span class="cline-any cline-neutral"> </span>
|
|
640
|
+
<span class="cline-any cline-neutral"> </span>
|
|
705
641
|
<span class="cline-any cline-no"> </span>
|
|
706
642
|
<span class="cline-any cline-neutral"> </span>
|
|
707
643
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -714,6 +650,8 @@
|
|
|
714
650
|
<span class="cline-any cline-no"> </span>
|
|
715
651
|
<span class="cline-any cline-no"> </span>
|
|
716
652
|
<span class="cline-any cline-no"> </span>
|
|
653
|
+
<span class="cline-any cline-neutral"> </span>
|
|
654
|
+
<span class="cline-any cline-neutral"> </span>
|
|
717
655
|
<span class="cline-any cline-no"> </span>
|
|
718
656
|
<span class="cline-any cline-neutral"> </span>
|
|
719
657
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -735,8 +673,6 @@
|
|
|
735
673
|
<span class="cline-any cline-neutral"> </span>
|
|
736
674
|
<span class="cline-any cline-yes">45x</span>
|
|
737
675
|
<span class="cline-any cline-no"> </span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-neutral"> </span>
|
|
740
676
|
<span class="cline-any cline-no"> </span>
|
|
741
677
|
<span class="cline-any cline-no"> </span>
|
|
742
678
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -773,50 +709,41 @@
|
|
|
773
709
|
<span class="cline-any cline-no"> </span>
|
|
774
710
|
<span class="cline-any cline-no"> </span>
|
|
775
711
|
<span class="cline-any cline-neutral"> </span>
|
|
776
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
712
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
777
713
|
buildExternalTableId,
|
|
778
714
|
breakExternalTableId,
|
|
779
|
-
}
|
|
780
|
-
|
|
715
|
+
} = require("../../../integrations/utils")
|
|
716
|
+
const {
|
|
781
717
|
generateForeignKey,
|
|
782
718
|
generateJunctionTableName,
|
|
783
719
|
foreignKeyStructure,
|
|
784
720
|
hasTypeChanged,
|
|
785
|
-
}
|
|
786
|
-
|
|
721
|
+
} = require("./utils")
|
|
722
|
+
const {
|
|
787
723
|
DataSourceOperation,
|
|
788
724
|
FieldTypes,
|
|
789
725
|
RelationshipTypes,
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
import csvParser from "../../../utilities/csvParser"
|
|
793
|
-
import { handleRequest } from "../row/external"
|
|
794
|
-
import { events, context } from "@budibase/backend-core"
|
|
795
|
-
import {
|
|
796
|
-
Datasource,
|
|
797
|
-
Table,
|
|
798
|
-
QueryJson,
|
|
799
|
-
Operation,
|
|
800
|
-
RenameColumn,
|
|
801
|
-
FieldSchema,
|
|
802
|
-
BBContext,
|
|
803
|
-
TableRequest,
|
|
804
|
-
} from "@budibase/types"
|
|
805
|
-
import sdk from "../../../sdk"
|
|
726
|
+
} = require("../../../constants")
|
|
727
|
+
const { makeExternalQuery } = require("../../../integrations/base/query")
|
|
806
728
|
const { cloneDeep } = require("lodash/fp")
|
|
729
|
+
const csvParser = require("../../../utilities/csvParser")
|
|
730
|
+
const { handleRequest } = require("../row/external")
|
|
731
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
732
|
+
const { events } = require("@budibase/backend-core")
|
|
733
|
+
const sdk = require("../../../sdk")
|
|
807
734
|
|
|
808
735
|
async function <span class="fstat-no" title="function not covered" >makeTableRequest(</span>
|
|
809
|
-
datasource
|
|
810
|
-
operation
|
|
811
|
-
table
|
|
812
|
-
tables
|
|
813
|
-
oldTable
|
|
814
|
-
renamed
|
|
736
|
+
datasource,
|
|
737
|
+
operation,
|
|
738
|
+
table,
|
|
739
|
+
tables,
|
|
740
|
+
oldTable = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
|
|
741
|
+
renamed = <span class="branch-0 cbranch-no" title="branch not covered" >null</span>
|
|
815
742
|
) {
|
|
816
|
-
const json
|
|
743
|
+
const json = <span class="cstat-no" title="statement not covered" >{</span>
|
|
817
744
|
endpoint: {
|
|
818
|
-
datasourceId: datasource._id
|
|
819
|
-
entityId: table._id
|
|
745
|
+
datasourceId: datasource._id,
|
|
746
|
+
entityId: table._id,
|
|
820
747
|
operation,
|
|
821
748
|
},
|
|
822
749
|
meta: {
|
|
@@ -824,38 +751,34 @@ async function <span class="fstat-no" title="function not covered" >makeTableReq
|
|
|
824
751
|
},
|
|
825
752
|
table,
|
|
826
753
|
}
|
|
827
|
-
<span class="cstat-no" title="statement not covered" >
|
|
828
|
-
<span class="cstat-no" title="statement not covered" > json.meta
|
|
754
|
+
<span class="cstat-no" title="statement not covered" > if (oldTable) {</span>
|
|
755
|
+
<span class="cstat-no" title="statement not covered" > json.meta.table = oldTable</span>
|
|
829
756
|
}
|
|
830
|
-
<span class="cstat-no" title="statement not covered" >
|
|
831
|
-
<span class="cstat-no" title="statement not covered" > json.meta
|
|
757
|
+
<span class="cstat-no" title="statement not covered" > if (renamed) {</span>
|
|
758
|
+
<span class="cstat-no" title="statement not covered" > json.meta.renamed = renamed</span>
|
|
832
759
|
}
|
|
833
760
|
<span class="cstat-no" title="statement not covered" > return makeExternalQuery(datasource, json)</span>
|
|
834
761
|
}
|
|
835
762
|
|
|
836
|
-
function <span class="fstat-no" title="function not covered" >cleanupRelationships(</span>
|
|
837
|
-
table: Table,
|
|
838
|
-
tables: Record<string, Table>,
|
|
839
|
-
oldTable?: Table
|
|
840
|
-
) {
|
|
763
|
+
function <span class="fstat-no" title="function not covered" >cleanupRelationships(</span>table, tables, oldTable = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> {
|
|
841
764
|
const tableToIterate = <span class="cstat-no" title="statement not covered" >oldTable ? oldTable : table</span>
|
|
842
765
|
// clean up relationships in couch table schemas
|
|
843
766
|
<span class="cstat-no" title="statement not covered" > for (let [key, schema] of Object.entries(tableToIterate.schema)) {</span>
|
|
844
|
-
<span class="cstat-no" title="statement not covered" >
|
|
767
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
845
768
|
schema.type === FieldTypes.LINK &&
|
|
846
769
|
(!oldTable || table.schema[key] == null)
|
|
847
770
|
) {
|
|
848
771
|
const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
|
|
849
|
-
<span class="fstat-no" title="function not covered" >
|
|
772
|
+
<span class="fstat-no" title="function not covered" > ta</span>ble => <span class="cstat-no" title="statement not covered" >table._id === schema.tableId</span>
|
|
850
773
|
)
|
|
851
774
|
const foreignKey = <span class="cstat-no" title="statement not covered" >schema.foreignKey</span>
|
|
852
|
-
<span class="cstat-no" title="statement not covered" >
|
|
775
|
+
<span class="cstat-no" title="statement not covered" > if (!relatedTable || !foreignKey) {</span>
|
|
853
776
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
854
777
|
}
|
|
855
778
|
<span class="cstat-no" title="statement not covered" > for (let [relatedKey, relatedSchema] of Object.entries(</span>
|
|
856
779
|
relatedTable.schema
|
|
857
780
|
)) {
|
|
858
|
-
<span class="cstat-no" title="statement not covered" >
|
|
781
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
859
782
|
relatedSchema.type === FieldTypes.LINK &&
|
|
860
783
|
relatedSchema.fieldName === foreignKey
|
|
861
784
|
) {
|
|
@@ -866,18 +789,18 @@ function <span class="fstat-no" title="function not covered" >cleanupRelationshi
|
|
|
866
789
|
}
|
|
867
790
|
}
|
|
868
791
|
|
|
869
|
-
function <span class="fstat-no" title="function not covered" >getDatasourceId(</span>table
|
|
870
|
-
<span class="cstat-no" title="statement not covered" >
|
|
792
|
+
function <span class="fstat-no" title="function not covered" >getDatasourceId(</span>table) {
|
|
793
|
+
<span class="cstat-no" title="statement not covered" > if (!table) {</span>
|
|
871
794
|
<span class="cstat-no" title="statement not covered" > throw "No table supplied"</span>
|
|
872
795
|
}
|
|
873
|
-
<span class="cstat-no" title="statement not covered" >
|
|
796
|
+
<span class="cstat-no" title="statement not covered" > if (table.sourceId) {</span>
|
|
874
797
|
<span class="cstat-no" title="statement not covered" > return table.sourceId</span>
|
|
875
798
|
}
|
|
876
799
|
<span class="cstat-no" title="statement not covered" > return breakExternalTableId(table._id).datasourceId</span>
|
|
877
800
|
}
|
|
878
801
|
|
|
879
|
-
function <span class="fstat-no" title="function not covered" >otherRelationshipType(</span>type
|
|
880
|
-
<span class="cstat-no" title="statement not covered" >
|
|
802
|
+
function <span class="fstat-no" title="function not covered" >otherRelationshipType(</span>type) {
|
|
803
|
+
<span class="cstat-no" title="statement not covered" > if (type === RelationshipTypes.MANY_TO_MANY) {</span>
|
|
881
804
|
<span class="cstat-no" title="statement not covered" > return RelationshipTypes.MANY_TO_MANY</span>
|
|
882
805
|
}
|
|
883
806
|
<span class="cstat-no" title="statement not covered" > return type === RelationshipTypes.ONE_TO_MANY</span>
|
|
@@ -885,21 +808,13 @@ function <span class="fstat-no" title="function not covered" >otherRelationshipT
|
|
|
885
808
|
: RelationshipTypes.ONE_TO_MANY
|
|
886
809
|
}
|
|
887
810
|
|
|
888
|
-
function <span class="fstat-no" title="function not covered" >generateManyLinkSchema(</span>
|
|
889
|
-
datasource: Datasource,
|
|
890
|
-
column: FieldSchema,
|
|
891
|
-
table: Table,
|
|
892
|
-
relatedTable: Table
|
|
893
|
-
): Table {
|
|
894
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table.primary || !relatedTable.primary) {</span>
|
|
895
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Unable to generate many link schema, no primary keys")</span>
|
|
896
|
-
}
|
|
811
|
+
function <span class="fstat-no" title="function not covered" >generateManyLinkSchema(</span>datasource, column, table, relatedTable) {
|
|
897
812
|
const primary = <span class="cstat-no" title="statement not covered" >table.name + table.primary[0]</span>
|
|
898
813
|
const relatedPrimary = <span class="cstat-no" title="statement not covered" >relatedTable.name + relatedTable.primary[0]</span>
|
|
899
814
|
const jcTblName = <span class="cstat-no" title="statement not covered" >generateJunctionTableName(column, table, relatedTable)</span>
|
|
900
815
|
// first create the new table
|
|
901
816
|
const junctionTable = <span class="cstat-no" title="statement not covered" >{</span>
|
|
902
|
-
_id: buildExternalTableId(datasource._id
|
|
817
|
+
_id: buildExternalTableId(datasource._id, jcTblName),
|
|
903
818
|
name: jcTblName,
|
|
904
819
|
primary: [primary, relatedPrimary],
|
|
905
820
|
constrained: [primary, relatedPrimary],
|
|
@@ -921,15 +836,7 @@ function <span class="fstat-no" title="function not covered" >generateManyLinkSc
|
|
|
921
836
|
<span class="cstat-no" title="statement not covered" > return junctionTable</span>
|
|
922
837
|
}
|
|
923
838
|
|
|
924
|
-
function <span class="fstat-no" title="function not covered" >generateLinkSchema(</span>
|
|
925
|
-
column: FieldSchema,
|
|
926
|
-
table: Table,
|
|
927
|
-
relatedTable: Table,
|
|
928
|
-
type: string
|
|
929
|
-
) {
|
|
930
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!table.primary || !relatedTable.primary) {</span>
|
|
931
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Unable to generate link schema, no primary keys")</span>
|
|
932
|
-
}
|
|
839
|
+
function <span class="fstat-no" title="function not covered" >generateLinkSchema(</span>column, table, relatedTable, type) {
|
|
933
840
|
const isOneSide = <span class="cstat-no" title="statement not covered" >type === RelationshipTypes.ONE_TO_MANY</span>
|
|
934
841
|
const primary = <span class="cstat-no" title="statement not covered" >isOneSide ? relatedTable.primary[0] : table.primary[0]</span>
|
|
935
842
|
// generate a foreign key
|
|
@@ -940,12 +847,7 @@ function <span class="fstat-no" title="function not covered" >generateLinkSchema
|
|
|
940
847
|
<span class="cstat-no" title="statement not covered" > return foreignKey</span>
|
|
941
848
|
}
|
|
942
849
|
|
|
943
|
-
function <span class="fstat-no" title="function not covered" >generateRelatedSchema(</span>
|
|
944
|
-
linkColumn: FieldSchema,
|
|
945
|
-
table: Table,
|
|
946
|
-
relatedTable: Table,
|
|
947
|
-
columnName: string
|
|
948
|
-
) {
|
|
850
|
+
function <span class="fstat-no" title="function not covered" >generateRelatedSchema(</span>linkColumn, table, relatedTable, columnName) {
|
|
949
851
|
// generate column for other table
|
|
950
852
|
const relatedSchema = <span class="cstat-no" title="statement not covered" >cloneDeep(linkColumn)</span>
|
|
951
853
|
// swap them from the main link
|
|
@@ -968,55 +870,55 @@ function <span class="fstat-no" title="function not covered" >generateRelatedSch
|
|
|
968
870
|
<span class="cstat-no" title="statement not covered" > table.schema[columnName] = relatedSchema</span>
|
|
969
871
|
}
|
|
970
872
|
|
|
971
|
-
function <span class="fstat-no" title="function not covered" >isRelationshipSetup(</span>column
|
|
873
|
+
function <span class="fstat-no" title="function not covered" >isRelationshipSetup(</span>column) {
|
|
972
874
|
<span class="cstat-no" title="statement not covered" > return column.foreignKey || column.through</span>
|
|
973
875
|
}
|
|
974
876
|
|
|
975
|
-
|
|
976
|
-
const table
|
|
977
|
-
const renamed = <span class="cstat-no" title="statement not covered" >table
|
|
877
|
+
exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
878
|
+
const table = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
879
|
+
const { _rename: renamed } = <span class="cstat-no" title="statement not covered" >table</span>
|
|
978
880
|
// can't do this right now
|
|
979
881
|
<span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
|
|
980
|
-
const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)
|
|
882
|
+
const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)</span>
|
|
981
883
|
// table doesn't exist already, note that it is created
|
|
982
|
-
<span class="cstat-no" title="statement not covered" >
|
|
884
|
+
<span class="cstat-no" title="statement not covered" > if (!table._id) {</span>
|
|
983
885
|
<span class="cstat-no" title="statement not covered" > table.created = true</span>
|
|
984
886
|
}
|
|
985
|
-
let tableToSave<span class="cstat-no" title="statement not covered"
|
|
887
|
+
let tableToSave = <span class="cstat-no" title="statement not covered" >{</span>
|
|
986
888
|
type: "table",
|
|
987
889
|
_id: buildExternalTableId(datasourceId, table.name),
|
|
988
890
|
...table,
|
|
989
891
|
}
|
|
990
892
|
|
|
991
893
|
let oldTable
|
|
992
|
-
<span class="cstat-no" title="statement not covered" >
|
|
894
|
+
<span class="cstat-no" title="statement not covered" > if (ctx.request.body && ctx.request.body._id) {</span>
|
|
993
895
|
<span class="cstat-no" title="statement not covered" > oldTable = await sdk.tables.getTable(ctx.request.body._id)</span>
|
|
994
896
|
}
|
|
995
897
|
|
|
996
|
-
<span class="cstat-no" title="statement not covered" >
|
|
898
|
+
<span class="cstat-no" title="statement not covered" > if (hasTypeChanged(tableToSave, oldTable)) {</span>
|
|
997
899
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "A column type has changed.")</span>
|
|
998
900
|
}
|
|
999
901
|
|
|
1000
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
902
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
1001
903
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
904
|
+
<span class="cstat-no" title="statement not covered" > if (!datasource.entities) {</span>
|
|
905
|
+
<span class="cstat-no" title="statement not covered" > datasource.entities = {}</span>
|
|
906
|
+
}
|
|
1002
907
|
const oldTables = <span class="cstat-no" title="statement not covered" >cloneDeep(datasource.entities)</span>
|
|
1003
|
-
const tables
|
|
908
|
+
const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
|
|
1004
909
|
|
|
1005
910
|
const extraTablesToUpdate = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
1006
911
|
|
|
1007
912
|
// check if relations need setup
|
|
1008
913
|
<span class="cstat-no" title="statement not covered" > for (let schema of Object.values(tableToSave.schema)) {</span>
|
|
1009
|
-
<span class="cstat-no" title="statement not covered" >
|
|
914
|
+
<span class="cstat-no" title="statement not covered" > if (schema.type !== FieldTypes.LINK || isRelationshipSetup(schema)) {</span>
|
|
1010
915
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
1011
916
|
}
|
|
1012
917
|
const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
|
|
1013
|
-
<span class="fstat-no" title="function not covered" >
|
|
918
|
+
<span class="fstat-no" title="function not covered" > ta</span>ble => <span class="cstat-no" title="statement not covered" >table._id === schema.tableId</span>
|
|
1014
919
|
)
|
|
1015
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1016
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1017
|
-
}
|
|
1018
|
-
const relatedColumnName = <span class="cstat-no" title="statement not covered" >schema.fieldName!</span>
|
|
1019
|
-
const relationType = <span class="cstat-no" title="statement not covered" >schema.relationshipType!</span>
|
|
920
|
+
const relatedColumnName = <span class="cstat-no" title="statement not covered" >schema.fieldName</span>
|
|
921
|
+
const relationType = <span class="cstat-no" title="statement not covered" >schema.relationshipType</span>
|
|
1020
922
|
<span class="cstat-no" title="statement not covered" > if (relationType === RelationshipTypes.MANY_TO_MANY) {</span>
|
|
1021
923
|
const junctionTable = <span class="cstat-no" title="statement not covered" >generateManyLinkSchema(</span>
|
|
1022
924
|
datasource,
|
|
@@ -1024,7 +926,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1024
926
|
table,
|
|
1025
927
|
relatedTable
|
|
1026
928
|
)
|
|
1027
|
-
<span class="cstat-no" title="statement not covered" >
|
|
929
|
+
<span class="cstat-no" title="statement not covered" > if (tables[junctionTable.name]) {</span>
|
|
1028
930
|
<span class="cstat-no" title="statement not covered" > throw "Junction table already exists, cannot create another relationship."</span>
|
|
1029
931
|
}
|
|
1030
932
|
<span class="cstat-no" title="statement not covered" > tables[junctionTable.name] = junctionTable</span>
|
|
@@ -1039,14 +941,14 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1039
941
|
relationType
|
|
1040
942
|
)
|
|
1041
943
|
<span class="cstat-no" title="statement not covered" > fkTable.schema[foreignKey] = foreignKeyStructure(foreignKey)</span>
|
|
1042
|
-
<span class="cstat-no" title="statement not covered" >
|
|
944
|
+
<span class="cstat-no" title="statement not covered" > if (fkTable.constrained == null) {</span>
|
|
1043
945
|
<span class="cstat-no" title="statement not covered" > fkTable.constrained = []</span>
|
|
1044
946
|
}
|
|
1045
|
-
<span class="cstat-no" title="statement not covered" >
|
|
947
|
+
<span class="cstat-no" title="statement not covered" > if (fkTable.constrained.indexOf(foreignKey) === -1) {</span>
|
|
1046
948
|
<span class="cstat-no" title="statement not covered" > fkTable.constrained.push(foreignKey)</span>
|
|
1047
949
|
}
|
|
1048
950
|
// foreign key is in other table, need to save it to external
|
|
1049
|
-
<span class="cstat-no" title="statement not covered" >
|
|
951
|
+
<span class="cstat-no" title="statement not covered" > if (fkTable._id !== table._id) {</span>
|
|
1050
952
|
<span class="cstat-no" title="statement not covered" > extraTablesToUpdate.push(fkTable)</span>
|
|
1051
953
|
}
|
|
1052
954
|
}
|
|
@@ -1056,7 +958,9 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1056
958
|
|
|
1057
959
|
<span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToSave, tables, oldTable)</span>
|
|
1058
960
|
|
|
1059
|
-
const operation = <span class="cstat-no" title="statement not covered" >oldTable
|
|
961
|
+
const operation = <span class="cstat-no" title="statement not covered" >oldTable</span>
|
|
962
|
+
? DataSourceOperation.UPDATE_TABLE
|
|
963
|
+
: DataSourceOperation.CREATE_TABLE
|
|
1060
964
|
<span class="cstat-no" title="statement not covered" > await makeTableRequest(</span>
|
|
1061
965
|
datasource,
|
|
1062
966
|
operation,
|
|
@@ -1068,13 +972,15 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1068
972
|
// update any extra tables (like foreign keys in other tables)
|
|
1069
973
|
<span class="cstat-no" title="statement not covered" > for (let extraTable of extraTablesToUpdate) {</span>
|
|
1070
974
|
const oldExtraTable = <span class="cstat-no" title="statement not covered" >oldTables[extraTable.name]</span>
|
|
1071
|
-
let op = <span class="cstat-no" title="statement not covered" >oldExtraTable
|
|
975
|
+
let op = <span class="cstat-no" title="statement not covered" >oldExtraTable</span>
|
|
976
|
+
? DataSourceOperation.UPDATE_TABLE
|
|
977
|
+
: DataSourceOperation.CREATE_TABLE
|
|
1072
978
|
<span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, op, extraTable, tables, oldExtraTable)</span>
|
|
1073
979
|
}
|
|
1074
980
|
|
|
1075
981
|
// make sure the constrained list, all still exist
|
|
1076
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1077
|
-
<span class="cstat-no" title="statement not covered" > tableToSave.constrained = tableToSave.constrained.filter(<span class="fstat-no" title="function not covered" >
|
|
982
|
+
<span class="cstat-no" title="statement not covered" > if (Array.isArray(tableToSave.constrained)) {</span>
|
|
983
|
+
<span class="cstat-no" title="statement not covered" > tableToSave.constrained = tableToSave.constrained.filter(<span class="fstat-no" title="function not covered" >co</span>nstraint =></span>
|
|
1078
984
|
<span class="cstat-no" title="statement not covered" > Object.keys(tableToSave.schema).includes(constraint)</span>
|
|
1079
985
|
)
|
|
1080
986
|
}
|
|
@@ -1088,20 +994,18 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1088
994
|
<span class="cstat-no" title="statement not covered" > return tableToSave</span>
|
|
1089
995
|
}
|
|
1090
996
|
|
|
1091
|
-
|
|
1092
|
-
const tableToDelete
|
|
1093
|
-
|
|
1094
|
-
)
|
|
1095
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!tableToDelete || !tableToDelete.created) {</span>
|
|
997
|
+
exports.destroy = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
998
|
+
const tableToDelete = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(ctx.params.tableId)</span>
|
|
999
|
+
<span class="cstat-no" title="statement not covered" > if (!tableToDelete || !tableToDelete.created) {</span>
|
|
1096
1000
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete tables which weren't created in Budibase.")</span>
|
|
1097
1001
|
}
|
|
1098
1002
|
const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(tableToDelete)</span>
|
|
1099
1003
|
|
|
1100
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
1004
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
1101
1005
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
1102
1006
|
const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
|
|
1103
1007
|
|
|
1104
|
-
const operation = <span class="cstat-no" title="statement not covered" >
|
|
1008
|
+
const operation = <span class="cstat-no" title="statement not covered" >DataSourceOperation.DELETE_TABLE</span>
|
|
1105
1009
|
<span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, operation, tableToDelete, tables)</span>
|
|
1106
1010
|
|
|
1107
1011
|
<span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToDelete, tables)</span>
|
|
@@ -1112,10 +1016,10 @@ export async function <span class="fstat-no" title="function not covered" >destr
|
|
|
1112
1016
|
<span class="cstat-no" title="statement not covered" > return tableToDelete</span>
|
|
1113
1017
|
}
|
|
1114
1018
|
|
|
1115
|
-
|
|
1019
|
+
exports.bulkImport = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
1116
1020
|
const table = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(ctx.params.tableId)</span>
|
|
1117
1021
|
const { dataImport } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
1118
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1022
|
+
<span class="cstat-no" title="statement not covered" > if (!dataImport || !dataImport.schema || !dataImport.csvString) {</span>
|
|
1119
1023
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Provided data import information is invalid.")</span>
|
|
1120
1024
|
}
|
|
1121
1025
|
const rows = <span class="cstat-no" title="statement not covered" >await csvParser.transform({</span>
|
|
@@ -1135,16 +1039,16 @@ export async function <span class="fstat-no" title="function not covered" >bulkI
|
|
|
1135
1039
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1136
1040
|
Code coverage generated by
|
|
1137
1041
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1138
|
-
at
|
|
1042
|
+
at Thu Nov 24 2022 13:54:57 GMT+0000 (Coordinated Universal Time)
|
|
1139
1043
|
</div>
|
|
1140
|
-
<script src="
|
|
1044
|
+
<script src="../../../prettify.js"></script>
|
|
1141
1045
|
<script>
|
|
1142
1046
|
window.onload = function () {
|
|
1143
1047
|
prettyPrint();
|
|
1144
1048
|
};
|
|
1145
1049
|
</script>
|
|
1146
|
-
<script src="
|
|
1147
|
-
<script src="
|
|
1050
|
+
<script src="../../../sorter.js"></script>
|
|
1051
|
+
<script src="../../../block-navigation.js"></script>
|
|
1148
1052
|
</body>
|
|
1149
1053
|
</html>
|
|
1150
1054
|
|