@budibase/server 2.1.43-alpha.1 → 2.1.43
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.534f6c29.css +6 -0
- package/builder/assets/index.fb99ddaf.js +1021 -0
- package/builder/index.html +2 -2
- package/coverage/clover.xml +3875 -10924
- package/coverage/coverage-final.json +118 -267
- package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +30 -30
- package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +99 -99
- package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +58 -58
- package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +107 -287
- package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +87 -69
- package/coverage/lcov-report/api/controllers/index.html +326 -0
- package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/controllers/integration.js.html} +28 -22
- package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +31 -31
- package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +30 -33
- package/coverage/lcov-report/{src/api/controllers/migrations.ts.html → api/controllers/migrations.js.html} +17 -20
- package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +79 -88
- 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} +25 -25
- package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +60 -48
- package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +58 -67
- package/coverage/lcov-report/{src/api/controllers/row/external.ts.html → api/controllers/row/external.js.html} +111 -162
- 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} +121 -163
- package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +117 -189
- package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +58 -73
- package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +58 -88
- package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +16 -19
- package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +62 -104
- package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +111 -204
- 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} +49 -58
- package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +29 -38
- package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +99 -93
- package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +16 -22
- 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} +64 -91
- package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +54 -72
- package/coverage/lcov-report/{src/api/controllers/view/viewBuilder.ts.html → api/controllers/view/viewBuilder.js.html} +36 -78
- package/coverage/lcov-report/{src/api → api}/index.html +23 -23
- package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +76 -55
- package/coverage/lcov-report/{src/middleware/utils.ts.html → api/routes/analytics.js.html} +19 -19
- package/coverage/lcov-report/api/routes/apikeys.js.html +121 -0
- package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +47 -53
- package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +28 -28
- package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +24 -24
- package/coverage/lcov-report/{src/definitions/datasource.ts.html → api/routes/datasource.js.html} +64 -61
- package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +28 -31
- package/coverage/lcov-report/{src/automations/index.ts.html → api/routes/dev.js.html} +46 -46
- package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
- package/coverage/lcov-report/api/routes/integration.js.html +121 -0
- package/coverage/lcov-report/{src/db/index.ts.html → api/routes/layout.js.html} +28 -28
- package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +31 -31
- 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} +31 -55
- package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +50 -41
- 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} +24 -24
- 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} +41 -32
- package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +25 -25
- package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +41 -35
- 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} +98 -86
- package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/view.js.html} +36 -45
- package/coverage/lcov-report/{src/automations/actions.ts.html → automations/actions.js.html} +60 -69
- package/coverage/lcov-report/{src/automations/automationUtils.ts.html → automations/automationUtils.js.html} +33 -36
- package/coverage/lcov-report/{src/automations/bullboard.ts.html → automations/bullboard.js.html} +42 -39
- 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} +30 -45
- package/coverage/lcov-report/{src/automations/steps/delay.ts.html → automations/steps/delay.js.html} +19 -34
- package/coverage/lcov-report/{src/automations/steps/discord.ts.html → automations/steps/discord.js.html} +28 -43
- package/coverage/lcov-report/{src/automations/steps/executeQuery.ts.html → automations/steps/executeQuery.js.html} +30 -45
- package/coverage/lcov-report/{src/automations/steps/executeScript.ts.html → automations/steps/executeScript.js.html} +28 -58
- package/coverage/lcov-report/{src/automations/steps/filter.ts.html → automations/steps/filter.js.html} +30 -39
- 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} +23 -38
- 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} +39 -54
- package/coverage/lcov-report/{src/automations/steps/queryRows.ts.html → automations/steps/queryRows.js.html} +66 -102
- package/coverage/lcov-report/{src/automations/steps/sendSmtpEmail.ts.html → automations/steps/sendSmtpEmail.js.html} +25 -40
- package/coverage/lcov-report/{src/automations/steps/serverLog.ts.html → automations/steps/serverLog.js.html} +22 -40
- package/coverage/lcov-report/{src/automations/steps/slack.ts.html → automations/steps/slack.js.html} +23 -38
- package/coverage/lcov-report/{src/automations/steps/updateRow.ts.html → automations/steps/updateRow.js.html} +25 -40
- package/coverage/lcov-report/{src/automations/steps/utils.ts.html → automations/steps/utils.js.html} +27 -45
- package/coverage/lcov-report/{src/automations/steps/zapier.ts.html → automations/steps/zapier.js.html} +23 -41
- 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/api/routes/layout.ts.html → automations/triggerInfo/index.js.html} +26 -29
- 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} +66 -78
- package/coverage/lcov-report/{src/constants → constants}/index.html +26 -26
- package/coverage/lcov-report/{src/integrations/dynamodb.ts.html → constants/index.js.html} +227 -263
- package/coverage/lcov-report/{src/constants/layouts.ts.html → constants/layouts.js.html} +36 -18
- package/coverage/lcov-report/{src/constants/screens.ts.html → constants/screens.js.html} +58 -64
- package/coverage/lcov-report/{src/db/inMemoryView.ts.html → db/inMemoryView.js.html} +29 -47
- 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} +33 -33
- package/coverage/lcov-report/{src/db/linkedRows/LinkController.ts.html → db/linkedRows/LinkController.js.html} +160 -97
- 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} +78 -93
- package/coverage/lcov-report/{src/db/linkedRows/linkUtils.ts.html → db/linkedRows/linkUtils.js.html} +56 -83
- package/coverage/lcov-report/{src/db/newid.ts.html → db/newid.js.html} +14 -14
- package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +211 -163
- package/coverage/lcov-report/{src/events/AutomationEmitter.ts.html → events/AutomationEmitter.js.html} +25 -40
- package/coverage/lcov-report/{src/events → events}/index.html +33 -48
- package/coverage/lcov-report/{src/events/BudibaseEmitter.ts.html → events/index.js.html} +29 -26
- package/coverage/lcov-report/{src/api/routes/dev.ts.html → events/utils.js.html} +69 -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} +30 -33
- package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +40 -46
- package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +72 -81
- 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} +27 -27
- package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +45 -60
- package/coverage/lcov-report/{src/tests/utilities/index.ts.html → middleware/selfhost.js.html} +30 -33
- package/coverage/lcov-report/{src/events/index.ts.html → middleware/utils.js.html} +24 -18
- package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +14 -14
- package/coverage/lcov-report/{src/utilities/centralPath.ts.html → utilities/centralPath.js.html} +16 -16
- package/coverage/lcov-report/{src/utilities/csvParser.ts.html → utilities/csvParser.js.html} +59 -107
- package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +82 -115
- package/coverage/lcov-report/{src/utilities → utilities}/index.html +77 -92
- package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +74 -98
- package/coverage/lcov-report/{src/utilities/plugins.ts.html → utilities/plugins.js.html} +22 -25
- 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/controllers/public/mapping/tables.ts.html → utilities/routing/index.js.html} +43 -46
- 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} +359 -128
- package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +42 -54
- package/coverage/lcov-report/{src/utilities/scriptRunner.ts.html → utilities/scriptRunner.js.html} +19 -31
- package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +78 -60
- 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} +48 -36
- 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} +40 -34
- package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +112 -127
- package/coverage/lcov.info +7069 -19741
- 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/migrations/index.js +0 -5
- 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/index.ts +0 -9
- 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/builder/assets/index.0c44dac3.css +0 -6
- package/builder/assets/index.8935424b.js +0 -1021
- 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/integration.ts.html +0 -124
- 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/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/analytics.ts.html +0 -112
- package/coverage/lcov-report/src/api/routes/apikeys.ts.html +0 -121
- 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/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/role.ts.html +0 -157
- 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/triggerInfo/app.ts.html +0 -196
- package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +0 -130
- package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
- package/coverage/lcov-report/src/constants/index.ts.html +0 -697
- 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/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/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 -161
- package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
- package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +0 -520
- 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 -430
- 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/migrations/functions/tableSettings.js +0 -130
- 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/migrations/functions/tableSettings.ts +0 -145
- package/src/migrations/functions/tests/tableSettings.spec.ts +0 -144
- 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/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,64 +386,28 @@
|
|
|
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
|
|
389
|
+
<a name='L324'></a><a href='#L324'>324</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
421
390
|
<span class="cline-any cline-neutral"> </span>
|
|
422
391
|
<span class="cline-any cline-neutral"> </span>
|
|
392
|
+
<span class="cline-any cline-yes">45x</span>
|
|
423
393
|
<span class="cline-any cline-neutral"> </span>
|
|
424
|
-
<span class="cline-any cline-yes">46x</span>
|
|
425
394
|
<span class="cline-any cline-neutral"> </span>
|
|
426
395
|
<span class="cline-any cline-neutral"> </span>
|
|
427
396
|
<span class="cline-any cline-neutral"> </span>
|
|
428
397
|
<span class="cline-any cline-neutral"> </span>
|
|
398
|
+
<span class="cline-any cline-yes">45x</span>
|
|
429
399
|
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-yes">46x</span>
|
|
431
|
-
<span class="cline-any cline-yes">46x</span>
|
|
432
|
-
<span class="cline-any cline-yes">46x</span>
|
|
433
|
-
<span class="cline-any cline-yes">46x</span>
|
|
434
|
-
<span class="cline-any cline-yes">46x</span>
|
|
435
|
-
<span class="cline-any cline-yes">46x</span>
|
|
436
400
|
<span class="cline-any cline-neutral"> </span>
|
|
437
401
|
<span class="cline-any cline-neutral"> </span>
|
|
438
402
|
<span class="cline-any cline-neutral"> </span>
|
|
439
|
-
<span class="cline-any cline-
|
|
440
|
-
<span class="cline-any cline-
|
|
441
|
-
<span class="cline-any cline-
|
|
442
|
-
<span class="cline-any cline-
|
|
443
|
-
<span class="cline-any cline-
|
|
444
|
-
<span class="cline-any cline-
|
|
445
|
-
<span class="cline-any cline-yes">
|
|
446
|
-
<span class="cline-any cline-yes">
|
|
403
|
+
<span class="cline-any cline-yes">45x</span>
|
|
404
|
+
<span class="cline-any cline-yes">45x</span>
|
|
405
|
+
<span class="cline-any cline-yes">45x</span>
|
|
406
|
+
<span class="cline-any cline-yes">45x</span>
|
|
407
|
+
<span class="cline-any cline-yes">45x</span>
|
|
408
|
+
<span class="cline-any cline-yes">45x</span>
|
|
409
|
+
<span class="cline-any cline-yes">45x</span>
|
|
410
|
+
<span class="cline-any cline-yes">45x</span>
|
|
447
411
|
<span class="cline-any cline-neutral"> </span>
|
|
448
412
|
<span class="cline-any cline-neutral"> </span>
|
|
449
413
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -474,10 +438,6 @@
|
|
|
474
438
|
<span class="cline-any cline-neutral"> </span>
|
|
475
439
|
<span class="cline-any cline-neutral"> </span>
|
|
476
440
|
<span class="cline-any cline-neutral"> </span>
|
|
477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-neutral"> </span>
|
|
481
441
|
<span class="cline-any cline-no"> </span>
|
|
482
442
|
<span class="cline-any cline-neutral"> </span>
|
|
483
443
|
<span class="cline-any cline-no"> </span>
|
|
@@ -526,14 +486,6 @@
|
|
|
526
486
|
<span class="cline-any cline-neutral"> </span>
|
|
527
487
|
<span class="cline-any cline-neutral"> </span>
|
|
528
488
|
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
534
|
-
<span class="cline-any cline-no"> </span>
|
|
535
|
-
<span class="cline-any cline-no"> </span>
|
|
536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
537
489
|
<span class="cline-any cline-no"> </span>
|
|
538
490
|
<span class="cline-any cline-no"> </span>
|
|
539
491
|
<span class="cline-any cline-no"> </span>
|
|
@@ -562,27 +514,14 @@
|
|
|
562
514
|
<span class="cline-any cline-neutral"> </span>
|
|
563
515
|
<span class="cline-any cline-neutral"> </span>
|
|
564
516
|
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-neutral"> </span>
|
|
566
|
-
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-neutral"> </span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-neutral"> </span>
|
|
570
517
|
<span class="cline-any cline-no"> </span>
|
|
571
518
|
<span class="cline-any cline-no"> </span>
|
|
572
519
|
<span class="cline-any cline-neutral"> </span>
|
|
573
520
|
<span class="cline-any cline-no"> </span>
|
|
574
521
|
<span class="cline-any cline-no"> </span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-no"> </span>
|
|
577
522
|
<span class="cline-any cline-no"> </span>
|
|
578
523
|
<span class="cline-any cline-no"> </span>
|
|
579
524
|
<span class="cline-any cline-no"> </span>
|
|
580
|
-
<span class="cline-any cline-no"> </span>
|
|
581
|
-
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-neutral"> </span>
|
|
584
|
-
<span class="cline-any cline-neutral"> </span>
|
|
585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
586
525
|
<span class="cline-any cline-neutral"> </span>
|
|
587
526
|
<span class="cline-any cline-neutral"> </span>
|
|
588
527
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -612,7 +551,7 @@
|
|
|
612
551
|
<span class="cline-any cline-no"> </span>
|
|
613
552
|
<span class="cline-any cline-neutral"> </span>
|
|
614
553
|
<span class="cline-any cline-neutral"> </span>
|
|
615
|
-
<span class="cline-any cline-yes">
|
|
554
|
+
<span class="cline-any cline-yes">45x</span>
|
|
616
555
|
<span class="cline-any cline-no"> </span>
|
|
617
556
|
<span class="cline-any cline-no"> </span>
|
|
618
557
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -657,9 +596,6 @@
|
|
|
657
596
|
<span class="cline-any cline-neutral"> </span>
|
|
658
597
|
<span class="cline-any cline-no"> </span>
|
|
659
598
|
<span class="cline-any cline-no"> </span>
|
|
660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-no"> </span>
|
|
662
|
-
<span class="cline-any cline-no"> </span>
|
|
663
599
|
<span class="cline-any cline-no"> </span>
|
|
664
600
|
<span class="cline-any cline-no"> </span>
|
|
665
601
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -700,6 +636,8 @@
|
|
|
700
636
|
<span class="cline-any cline-no"> </span>
|
|
701
637
|
<span class="cline-any cline-neutral"> </span>
|
|
702
638
|
<span class="cline-any cline-no"> </span>
|
|
639
|
+
<span class="cline-any cline-neutral"> </span>
|
|
640
|
+
<span class="cline-any cline-neutral"> </span>
|
|
703
641
|
<span class="cline-any cline-no"> </span>
|
|
704
642
|
<span class="cline-any cline-neutral"> </span>
|
|
705
643
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -712,6 +650,8 @@
|
|
|
712
650
|
<span class="cline-any cline-no"> </span>
|
|
713
651
|
<span class="cline-any cline-no"> </span>
|
|
714
652
|
<span class="cline-any cline-no"> </span>
|
|
653
|
+
<span class="cline-any cline-neutral"> </span>
|
|
654
|
+
<span class="cline-any cline-neutral"> </span>
|
|
715
655
|
<span class="cline-any cline-no"> </span>
|
|
716
656
|
<span class="cline-any cline-neutral"> </span>
|
|
717
657
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -731,10 +671,8 @@
|
|
|
731
671
|
<span class="cline-any cline-no"> </span>
|
|
732
672
|
<span class="cline-any cline-neutral"> </span>
|
|
733
673
|
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-yes">
|
|
674
|
+
<span class="cline-any cline-yes">45x</span>
|
|
735
675
|
<span class="cline-any cline-no"> </span>
|
|
736
|
-
<span class="cline-any cline-neutral"> </span>
|
|
737
|
-
<span class="cline-any cline-neutral"> </span>
|
|
738
676
|
<span class="cline-any cline-no"> </span>
|
|
739
677
|
<span class="cline-any cline-no"> </span>
|
|
740
678
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -755,7 +693,7 @@
|
|
|
755
693
|
<span class="cline-any cline-no"> </span>
|
|
756
694
|
<span class="cline-any cline-neutral"> </span>
|
|
757
695
|
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-yes">
|
|
696
|
+
<span class="cline-any cline-yes">45x</span>
|
|
759
697
|
<span class="cline-any cline-no"> </span>
|
|
760
698
|
<span class="cline-any cline-no"> </span>
|
|
761
699
|
<span class="cline-any cline-no"> </span>
|
|
@@ -771,46 +709,41 @@
|
|
|
771
709
|
<span class="cline-any cline-no"> </span>
|
|
772
710
|
<span class="cline-any cline-no"> </span>
|
|
773
711
|
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<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 {
|
|
775
713
|
buildExternalTableId,
|
|
776
714
|
breakExternalTableId,
|
|
777
|
-
}
|
|
778
|
-
|
|
715
|
+
} = require("../../../integrations/utils")
|
|
716
|
+
const {
|
|
779
717
|
generateForeignKey,
|
|
780
718
|
generateJunctionTableName,
|
|
781
719
|
foreignKeyStructure,
|
|
782
720
|
hasTypeChanged,
|
|
783
|
-
}
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
Datasource,
|
|
791
|
-
Table,
|
|
792
|
-
QueryJson,
|
|
793
|
-
Operation,
|
|
794
|
-
RenameColumn,
|
|
795
|
-
FieldSchema,
|
|
796
|
-
BBContext,
|
|
797
|
-
TableRequest,
|
|
798
|
-
} from "@budibase/types"
|
|
799
|
-
import sdk from "../../../sdk"
|
|
721
|
+
} = require("./utils")
|
|
722
|
+
const {
|
|
723
|
+
DataSourceOperation,
|
|
724
|
+
FieldTypes,
|
|
725
|
+
RelationshipTypes,
|
|
726
|
+
} = require("../../../constants")
|
|
727
|
+
const { makeExternalQuery } = require("../../../integrations/base/query")
|
|
800
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")
|
|
801
734
|
|
|
802
735
|
async function <span class="fstat-no" title="function not covered" >makeTableRequest(</span>
|
|
803
|
-
datasource
|
|
804
|
-
operation
|
|
805
|
-
table
|
|
806
|
-
tables
|
|
807
|
-
oldTable
|
|
808
|
-
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>
|
|
809
742
|
) {
|
|
810
|
-
const json
|
|
743
|
+
const json = <span class="cstat-no" title="statement not covered" >{</span>
|
|
811
744
|
endpoint: {
|
|
812
|
-
datasourceId: datasource._id
|
|
813
|
-
entityId: table._id
|
|
745
|
+
datasourceId: datasource._id,
|
|
746
|
+
entityId: table._id,
|
|
814
747
|
operation,
|
|
815
748
|
},
|
|
816
749
|
meta: {
|
|
@@ -818,38 +751,34 @@ async function <span class="fstat-no" title="function not covered" >makeTableReq
|
|
|
818
751
|
},
|
|
819
752
|
table,
|
|
820
753
|
}
|
|
821
|
-
<span class="cstat-no" title="statement not covered" >
|
|
822
|
-
<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>
|
|
823
756
|
}
|
|
824
|
-
<span class="cstat-no" title="statement not covered" >
|
|
825
|
-
<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>
|
|
826
759
|
}
|
|
827
760
|
<span class="cstat-no" title="statement not covered" > return makeExternalQuery(datasource, json)</span>
|
|
828
761
|
}
|
|
829
762
|
|
|
830
|
-
function <span class="fstat-no" title="function not covered" >cleanupRelationships(</span>
|
|
831
|
-
table: Table,
|
|
832
|
-
tables: Record<string, Table>,
|
|
833
|
-
oldTable?: Table
|
|
834
|
-
) {
|
|
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> {
|
|
835
764
|
const tableToIterate = <span class="cstat-no" title="statement not covered" >oldTable ? oldTable : table</span>
|
|
836
765
|
// clean up relationships in couch table schemas
|
|
837
766
|
<span class="cstat-no" title="statement not covered" > for (let [key, schema] of Object.entries(tableToIterate.schema)) {</span>
|
|
838
|
-
<span class="cstat-no" title="statement not covered" >
|
|
767
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
839
768
|
schema.type === FieldTypes.LINK &&
|
|
840
769
|
(!oldTable || table.schema[key] == null)
|
|
841
770
|
) {
|
|
842
771
|
const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
|
|
843
|
-
<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>
|
|
844
773
|
)
|
|
845
774
|
const foreignKey = <span class="cstat-no" title="statement not covered" >schema.foreignKey</span>
|
|
846
|
-
<span class="cstat-no" title="statement not covered" >
|
|
775
|
+
<span class="cstat-no" title="statement not covered" > if (!relatedTable || !foreignKey) {</span>
|
|
847
776
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
848
777
|
}
|
|
849
778
|
<span class="cstat-no" title="statement not covered" > for (let [relatedKey, relatedSchema] of Object.entries(</span>
|
|
850
779
|
relatedTable.schema
|
|
851
780
|
)) {
|
|
852
|
-
<span class="cstat-no" title="statement not covered" >
|
|
781
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
853
782
|
relatedSchema.type === FieldTypes.LINK &&
|
|
854
783
|
relatedSchema.fieldName === foreignKey
|
|
855
784
|
) {
|
|
@@ -860,18 +789,18 @@ function <span class="fstat-no" title="function not covered" >cleanupRelationshi
|
|
|
860
789
|
}
|
|
861
790
|
}
|
|
862
791
|
|
|
863
|
-
function <span class="fstat-no" title="function not covered" >getDatasourceId(</span>table
|
|
864
|
-
<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>
|
|
865
794
|
<span class="cstat-no" title="statement not covered" > throw "No table supplied"</span>
|
|
866
795
|
}
|
|
867
|
-
<span class="cstat-no" title="statement not covered" >
|
|
796
|
+
<span class="cstat-no" title="statement not covered" > if (table.sourceId) {</span>
|
|
868
797
|
<span class="cstat-no" title="statement not covered" > return table.sourceId</span>
|
|
869
798
|
}
|
|
870
799
|
<span class="cstat-no" title="statement not covered" > return breakExternalTableId(table._id).datasourceId</span>
|
|
871
800
|
}
|
|
872
801
|
|
|
873
|
-
function <span class="fstat-no" title="function not covered" >otherRelationshipType(</span>type
|
|
874
|
-
<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>
|
|
875
804
|
<span class="cstat-no" title="statement not covered" > return RelationshipTypes.MANY_TO_MANY</span>
|
|
876
805
|
}
|
|
877
806
|
<span class="cstat-no" title="statement not covered" > return type === RelationshipTypes.ONE_TO_MANY</span>
|
|
@@ -879,21 +808,13 @@ function <span class="fstat-no" title="function not covered" >otherRelationshipT
|
|
|
879
808
|
: RelationshipTypes.ONE_TO_MANY
|
|
880
809
|
}
|
|
881
810
|
|
|
882
|
-
function <span class="fstat-no" title="function not covered" >generateManyLinkSchema(</span>
|
|
883
|
-
datasource: Datasource,
|
|
884
|
-
column: FieldSchema,
|
|
885
|
-
table: Table,
|
|
886
|
-
relatedTable: Table
|
|
887
|
-
): Table {
|
|
888
|
-
<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>
|
|
889
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Unable to generate many link schema, no primary keys")</span>
|
|
890
|
-
}
|
|
811
|
+
function <span class="fstat-no" title="function not covered" >generateManyLinkSchema(</span>datasource, column, table, relatedTable) {
|
|
891
812
|
const primary = <span class="cstat-no" title="statement not covered" >table.name + table.primary[0]</span>
|
|
892
813
|
const relatedPrimary = <span class="cstat-no" title="statement not covered" >relatedTable.name + relatedTable.primary[0]</span>
|
|
893
814
|
const jcTblName = <span class="cstat-no" title="statement not covered" >generateJunctionTableName(column, table, relatedTable)</span>
|
|
894
815
|
// first create the new table
|
|
895
816
|
const junctionTable = <span class="cstat-no" title="statement not covered" >{</span>
|
|
896
|
-
_id: buildExternalTableId(datasource._id
|
|
817
|
+
_id: buildExternalTableId(datasource._id, jcTblName),
|
|
897
818
|
name: jcTblName,
|
|
898
819
|
primary: [primary, relatedPrimary],
|
|
899
820
|
constrained: [primary, relatedPrimary],
|
|
@@ -915,15 +836,7 @@ function <span class="fstat-no" title="function not covered" >generateManyLinkSc
|
|
|
915
836
|
<span class="cstat-no" title="statement not covered" > return junctionTable</span>
|
|
916
837
|
}
|
|
917
838
|
|
|
918
|
-
function <span class="fstat-no" title="function not covered" >generateLinkSchema(</span>
|
|
919
|
-
column: FieldSchema,
|
|
920
|
-
table: Table,
|
|
921
|
-
relatedTable: Table,
|
|
922
|
-
type: string
|
|
923
|
-
) {
|
|
924
|
-
<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>
|
|
925
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Unable to generate link schema, no primary keys")</span>
|
|
926
|
-
}
|
|
839
|
+
function <span class="fstat-no" title="function not covered" >generateLinkSchema(</span>column, table, relatedTable, type) {
|
|
927
840
|
const isOneSide = <span class="cstat-no" title="statement not covered" >type === RelationshipTypes.ONE_TO_MANY</span>
|
|
928
841
|
const primary = <span class="cstat-no" title="statement not covered" >isOneSide ? relatedTable.primary[0] : table.primary[0]</span>
|
|
929
842
|
// generate a foreign key
|
|
@@ -934,12 +847,7 @@ function <span class="fstat-no" title="function not covered" >generateLinkSchema
|
|
|
934
847
|
<span class="cstat-no" title="statement not covered" > return foreignKey</span>
|
|
935
848
|
}
|
|
936
849
|
|
|
937
|
-
function <span class="fstat-no" title="function not covered" >generateRelatedSchema(</span>
|
|
938
|
-
linkColumn: FieldSchema,
|
|
939
|
-
table: Table,
|
|
940
|
-
relatedTable: Table,
|
|
941
|
-
columnName: string
|
|
942
|
-
) {
|
|
850
|
+
function <span class="fstat-no" title="function not covered" >generateRelatedSchema(</span>linkColumn, table, relatedTable, columnName) {
|
|
943
851
|
// generate column for other table
|
|
944
852
|
const relatedSchema = <span class="cstat-no" title="statement not covered" >cloneDeep(linkColumn)</span>
|
|
945
853
|
// swap them from the main link
|
|
@@ -962,58 +870,55 @@ function <span class="fstat-no" title="function not covered" >generateRelatedSch
|
|
|
962
870
|
<span class="cstat-no" title="statement not covered" > table.schema[columnName] = relatedSchema</span>
|
|
963
871
|
}
|
|
964
872
|
|
|
965
|
-
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) {
|
|
966
874
|
<span class="cstat-no" title="statement not covered" > return column.foreignKey || column.through</span>
|
|
967
875
|
}
|
|
968
876
|
|
|
969
|
-
|
|
970
|
-
const table
|
|
971
|
-
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>
|
|
972
880
|
// can't do this right now
|
|
973
881
|
<span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
|
|
974
|
-
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>
|
|
975
883
|
// table doesn't exist already, note that it is created
|
|
976
|
-
<span class="cstat-no" title="statement not covered" >
|
|
884
|
+
<span class="cstat-no" title="statement not covered" > if (!table._id) {</span>
|
|
977
885
|
<span class="cstat-no" title="statement not covered" > table.created = true</span>
|
|
978
886
|
}
|
|
979
|
-
let tableToSave<span class="cstat-no" title="statement not covered"
|
|
887
|
+
let tableToSave = <span class="cstat-no" title="statement not covered" >{</span>
|
|
980
888
|
type: "table",
|
|
981
889
|
_id: buildExternalTableId(datasourceId, table.name),
|
|
982
890
|
...table,
|
|
983
891
|
}
|
|
984
892
|
|
|
985
893
|
let oldTable
|
|
986
|
-
<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>
|
|
987
895
|
<span class="cstat-no" title="statement not covered" > oldTable = await sdk.tables.getTable(ctx.request.body._id)</span>
|
|
988
896
|
}
|
|
989
897
|
|
|
990
|
-
<span class="cstat-no" title="statement not covered" >
|
|
898
|
+
<span class="cstat-no" title="statement not covered" > if (hasTypeChanged(tableToSave, oldTable)) {</span>
|
|
991
899
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "A column type has changed.")</span>
|
|
992
900
|
}
|
|
993
901
|
|
|
994
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
902
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
995
903
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
996
|
-
<span class="cstat-no" title="statement not covered" >
|
|
904
|
+
<span class="cstat-no" title="statement not covered" > if (!datasource.entities) {</span>
|
|
997
905
|
<span class="cstat-no" title="statement not covered" > datasource.entities = {}</span>
|
|
998
906
|
}
|
|
999
907
|
const oldTables = <span class="cstat-no" title="statement not covered" >cloneDeep(datasource.entities)</span>
|
|
1000
|
-
const tables
|
|
908
|
+
const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
|
|
1001
909
|
|
|
1002
910
|
const extraTablesToUpdate = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
1003
911
|
|
|
1004
912
|
// check if relations need setup
|
|
1005
913
|
<span class="cstat-no" title="statement not covered" > for (let schema of Object.values(tableToSave.schema)) {</span>
|
|
1006
|
-
<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>
|
|
1007
915
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
1008
916
|
}
|
|
1009
917
|
const relatedTable = <span class="cstat-no" title="statement not covered" >Object.values(tables).find(</span>
|
|
1010
|
-
<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>
|
|
1011
919
|
)
|
|
1012
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1013
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1014
|
-
}
|
|
1015
|
-
const relatedColumnName = <span class="cstat-no" title="statement not covered" >schema.fieldName!</span>
|
|
1016
|
-
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>
|
|
1017
922
|
<span class="cstat-no" title="statement not covered" > if (relationType === RelationshipTypes.MANY_TO_MANY) {</span>
|
|
1018
923
|
const junctionTable = <span class="cstat-no" title="statement not covered" >generateManyLinkSchema(</span>
|
|
1019
924
|
datasource,
|
|
@@ -1021,7 +926,7 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1021
926
|
table,
|
|
1022
927
|
relatedTable
|
|
1023
928
|
)
|
|
1024
|
-
<span class="cstat-no" title="statement not covered" >
|
|
929
|
+
<span class="cstat-no" title="statement not covered" > if (tables[junctionTable.name]) {</span>
|
|
1025
930
|
<span class="cstat-no" title="statement not covered" > throw "Junction table already exists, cannot create another relationship."</span>
|
|
1026
931
|
}
|
|
1027
932
|
<span class="cstat-no" title="statement not covered" > tables[junctionTable.name] = junctionTable</span>
|
|
@@ -1036,14 +941,14 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1036
941
|
relationType
|
|
1037
942
|
)
|
|
1038
943
|
<span class="cstat-no" title="statement not covered" > fkTable.schema[foreignKey] = foreignKeyStructure(foreignKey)</span>
|
|
1039
|
-
<span class="cstat-no" title="statement not covered" >
|
|
944
|
+
<span class="cstat-no" title="statement not covered" > if (fkTable.constrained == null) {</span>
|
|
1040
945
|
<span class="cstat-no" title="statement not covered" > fkTable.constrained = []</span>
|
|
1041
946
|
}
|
|
1042
|
-
<span class="cstat-no" title="statement not covered" >
|
|
947
|
+
<span class="cstat-no" title="statement not covered" > if (fkTable.constrained.indexOf(foreignKey) === -1) {</span>
|
|
1043
948
|
<span class="cstat-no" title="statement not covered" > fkTable.constrained.push(foreignKey)</span>
|
|
1044
949
|
}
|
|
1045
950
|
// foreign key is in other table, need to save it to external
|
|
1046
|
-
<span class="cstat-no" title="statement not covered" >
|
|
951
|
+
<span class="cstat-no" title="statement not covered" > if (fkTable._id !== table._id) {</span>
|
|
1047
952
|
<span class="cstat-no" title="statement not covered" > extraTablesToUpdate.push(fkTable)</span>
|
|
1048
953
|
}
|
|
1049
954
|
}
|
|
@@ -1053,7 +958,9 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1053
958
|
|
|
1054
959
|
<span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToSave, tables, oldTable)</span>
|
|
1055
960
|
|
|
1056
|
-
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
|
|
1057
964
|
<span class="cstat-no" title="statement not covered" > await makeTableRequest(</span>
|
|
1058
965
|
datasource,
|
|
1059
966
|
operation,
|
|
@@ -1065,13 +972,15 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1065
972
|
// update any extra tables (like foreign keys in other tables)
|
|
1066
973
|
<span class="cstat-no" title="statement not covered" > for (let extraTable of extraTablesToUpdate) {</span>
|
|
1067
974
|
const oldExtraTable = <span class="cstat-no" title="statement not covered" >oldTables[extraTable.name]</span>
|
|
1068
|
-
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
|
|
1069
978
|
<span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, op, extraTable, tables, oldExtraTable)</span>
|
|
1070
979
|
}
|
|
1071
980
|
|
|
1072
981
|
// make sure the constrained list, all still exist
|
|
1073
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1074
|
-
<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>
|
|
1075
984
|
<span class="cstat-no" title="statement not covered" > Object.keys(tableToSave.schema).includes(constraint)</span>
|
|
1076
985
|
)
|
|
1077
986
|
}
|
|
@@ -1085,20 +994,18 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
1085
994
|
<span class="cstat-no" title="statement not covered" > return tableToSave</span>
|
|
1086
995
|
}
|
|
1087
996
|
|
|
1088
|
-
|
|
1089
|
-
const tableToDelete
|
|
1090
|
-
|
|
1091
|
-
)
|
|
1092
|
-
<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>
|
|
1093
1000
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete tables which weren't created in Budibase.")</span>
|
|
1094
1001
|
}
|
|
1095
1002
|
const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(tableToDelete)</span>
|
|
1096
1003
|
|
|
1097
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
1004
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
1098
1005
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
1099
1006
|
const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
|
|
1100
1007
|
|
|
1101
|
-
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>
|
|
1102
1009
|
<span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, operation, tableToDelete, tables)</span>
|
|
1103
1010
|
|
|
1104
1011
|
<span class="cstat-no" title="statement not covered" > cleanupRelationships(tableToDelete, tables)</span>
|
|
@@ -1109,17 +1016,17 @@ export async function <span class="fstat-no" title="function not covered" >destr
|
|
|
1109
1016
|
<span class="cstat-no" title="statement not covered" > return tableToDelete</span>
|
|
1110
1017
|
}
|
|
1111
1018
|
|
|
1112
|
-
|
|
1019
|
+
exports.bulkImport = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
1113
1020
|
const table = <span class="cstat-no" title="statement not covered" >await sdk.tables.getTable(ctx.params.tableId)</span>
|
|
1114
1021
|
const { dataImport } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
1115
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1022
|
+
<span class="cstat-no" title="statement not covered" > if (!dataImport || !dataImport.schema || !dataImport.csvString) {</span>
|
|
1116
1023
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Provided data import information is invalid.")</span>
|
|
1117
1024
|
}
|
|
1118
1025
|
const rows = <span class="cstat-no" title="statement not covered" >await csvParser.transform({</span>
|
|
1119
1026
|
...dataImport,
|
|
1120
1027
|
existingTable: table,
|
|
1121
1028
|
})
|
|
1122
|
-
<span class="cstat-no" title="statement not covered" > await handleRequest(
|
|
1029
|
+
<span class="cstat-no" title="statement not covered" > await handleRequest(DataSourceOperation.BULK_CREATE, table._id, {</span>
|
|
1123
1030
|
rows,
|
|
1124
1031
|
})
|
|
1125
1032
|
<span class="cstat-no" title="statement not covered" > await events.rows.imported(table, "csv", rows.length)</span>
|
|
@@ -1132,16 +1039,16 @@ export async function <span class="fstat-no" title="function not covered" >bulkI
|
|
|
1132
1039
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1133
1040
|
Code coverage generated by
|
|
1134
1041
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1135
|
-
at
|
|
1042
|
+
at Mon Dec 05 2022 09:32:59 GMT+0000 (Coordinated Universal Time)
|
|
1136
1043
|
</div>
|
|
1137
|
-
<script src="
|
|
1044
|
+
<script src="../../../prettify.js"></script>
|
|
1138
1045
|
<script>
|
|
1139
1046
|
window.onload = function () {
|
|
1140
1047
|
prettyPrint();
|
|
1141
1048
|
};
|
|
1142
1049
|
</script>
|
|
1143
|
-
<script src="
|
|
1144
|
-
<script src="
|
|
1050
|
+
<script src="../../../sorter.js"></script>
|
|
1051
|
+
<script src="../../../block-navigation.js"></script>
|
|
1145
1052
|
</body>
|
|
1146
1053
|
</html>
|
|
1147
1054
|
|