@budibase/server 2.1.32-alpha.8 → 2.1.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/aws-sdk.ts +0 -14
- package/__mocks__/node-fetch.ts +1 -5
- package/builder/assets/{index.7176fd99.css → index.534f6c29.css} +1 -1
- package/builder/assets/{index.3efa93e2.js → index.968304ca.js} +316 -316
- package/builder/index.html +2 -2
- package/coverage/clover.xml +3681 -10588
- package/coverage/coverage-final.json +77 -225
- package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +26 -26
- package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +75 -75
- package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +47 -47
- package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +87 -246
- package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +71 -53
- package/coverage/lcov-report/api/controllers/index.html +326 -0
- package/coverage/lcov-report/{src/api → api}/controllers/integration.js.html +10 -10
- package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +26 -26
- package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +23 -26
- package/coverage/lcov-report/{src/api → api}/controllers/migrations.js.html +10 -10
- package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +71 -80
- package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
- package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +17 -17
- package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +56 -44
- package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +56 -65
- package/coverage/lcov-report/{src/api → api}/controllers/row/external.js.html +13 -13
- package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +46 -76
- package/coverage/lcov-report/{src/api → api}/controllers/row/internal.js.html +29 -26
- package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +110 -182
- package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +54 -69
- package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +43 -64
- package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +14 -17
- package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +54 -96
- package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +100 -196
- package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
- package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +35 -35
- package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +25 -34
- package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +85 -79
- package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +14 -20
- package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +30 -30
- package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +48 -75
- package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +43 -61
- package/coverage/lcov-report/{src/api → api}/controllers/view/viewBuilder.js.html +10 -10
- package/coverage/lcov-report/{src/api → api}/index.html +23 -23
- package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +56 -35
- package/coverage/lcov-report/{src/api/routes/analytics.ts.html → api/routes/analytics.js.html} +14 -14
- package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/routes/apikeys.js.html} +27 -27
- package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +42 -48
- package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +21 -21
- package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +17 -17
- package/coverage/lcov-report/{src/api/routes/datasource.ts.html → api/routes/datasource.js.html} +33 -60
- package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
- package/coverage/lcov-report/{src/api/routes/webhook.ts.html → api/routes/dev.js.html} +43 -46
- package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
- package/coverage/lcov-report/{src/api/routes/apikeys.ts.html → api/routes/integration.js.html} +18 -18
- package/coverage/lcov-report/{src/api/routes/layout.ts.html → api/routes/layout.js.html} +18 -18
- package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +24 -24
- package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
- package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/permission.js.html} +37 -40
- package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
- package/coverage/lcov-report/api/routes/role.js.html +130 -0
- package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +17 -17
- package/coverage/lcov-report/api/routes/screen.js.html +139 -0
- package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
- package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +33 -24
- package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +18 -18
- package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +35 -29
- package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
- package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +58 -46
- package/coverage/lcov-report/{src/definitions/automations.ts.html → api/routes/view.js.html} +41 -44
- package/coverage/lcov-report/{src/automations → automations}/actions.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/automationUtils.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/bullboard.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/index.html +24 -39
- package/coverage/lcov-report/{src/automations → automations}/index.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/bash.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/delay.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/discord.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/executeQuery.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/executeScript.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/filter.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/index.html +26 -56
- package/coverage/lcov-report/{src/automations → automations}/steps/integromat.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/loop.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/outgoingWebhook.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/sendSmtpEmail.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/serverLog.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/slack.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/updateRow.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/utils.js.html +19 -19
- package/coverage/lcov-report/{src/automations → automations}/steps/zapier.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/app.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/cron.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowDeleted.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowSaved.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowUpdated.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/webhook.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggers.js.html +23 -20
- package/coverage/lcov-report/{src/constants → constants}/index.html +14 -14
- package/coverage/lcov-report/{src/constants → constants}/index.js.html +22 -16
- package/coverage/lcov-report/{src/constants → constants}/layouts.js.html +10 -10
- package/coverage/lcov-report/{src/constants → constants}/screens.js.html +12 -12
- package/coverage/lcov-report/{src/db → db}/inMemoryView.js.html +13 -13
- package/coverage/lcov-report/{src/db → db}/index.html +27 -42
- package/coverage/lcov-report/{src/db → db}/index.js.html +18 -18
- package/coverage/lcov-report/{src/db → db}/linkedRows/LinkController.js.html +160 -22
- package/coverage/lcov-report/{src/db → db}/linkedRows/index.html +22 -37
- package/coverage/lcov-report/{src/db → db}/linkedRows/index.js.html +12 -12
- package/coverage/lcov-report/{src/db → db}/linkedRows/linkUtils.js.html +13 -13
- package/coverage/lcov-report/{src/db → db}/newid.js.html +10 -10
- package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
- package/coverage/lcov-report/{src/events → events}/AutomationEmitter.js.html +10 -10
- package/coverage/lcov-report/{src/events → events}/index.html +10 -10
- package/coverage/lcov-report/{src/events → events}/index.js.html +10 -10
- package/coverage/lcov-report/{src/events → events}/utils.js.html +10 -10
- package/coverage/lcov-report/index.html +161 -671
- package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
- package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
- package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +28 -31
- package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +37 -43
- package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +68 -77
- package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
- package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
- package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +24 -24
- package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +25 -40
- package/coverage/lcov-report/{src/tests/utilities/index.js.html → middleware/selfhost.js.html} +30 -33
- package/coverage/lcov-report/{src/middleware/utils.ts.html → middleware/utils.js.html} +13 -19
- package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +12 -12
- package/coverage/lcov-report/{src/utilities → utilities}/centralPath.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/csvParser.js.html +10 -10
- package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
- package/coverage/lcov-report/{src/utilities → utilities}/index.html +61 -76
- package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +53 -77
- package/coverage/lcov-report/{src/utilities → utilities}/plugins.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/queue/inMemoryQueue.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/queue/index.html +10 -10
- package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
- package/coverage/lcov-report/{src/api/routes/role.ts.html → utilities/routing/index.js.html} +42 -39
- package/coverage/lcov-report/{src/migrations → utilities/rowProcessor}/index.html +37 -22
- package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +344 -113
- package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
- package/coverage/lcov-report/{src/utilities → utilities}/scriptRunner.js.html +10 -10
- package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
- package/coverage/lcov-report/{src/utilities → utilities}/statusCodes.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +27 -27
- package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +46 -34
- package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/usageQuoteReset.js.html +10 -10
- package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +35 -29
- package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +61 -76
- package/coverage/lcov.info +6772 -19273
- package/dist/api/controllers/apikeys.js +9 -12
- package/dist/api/controllers/application.js +45 -48
- package/dist/api/controllers/automation.js +84 -104
- package/dist/api/controllers/cloud.js +71 -84
- package/dist/api/controllers/component.js +2 -4
- package/dist/api/controllers/datasource.js +92 -144
- package/dist/api/controllers/deploy/Deployment.js +6 -10
- package/dist/api/controllers/deploy/index.js +16 -13
- package/dist/api/controllers/dev.js +81 -96
- package/dist/api/controllers/layout.js +15 -18
- package/dist/api/controllers/metadata.js +37 -51
- package/dist/api/controllers/permission.js +43 -52
- package/dist/api/controllers/plugin/index.js +7 -6
- package/dist/api/controllers/public/applications.js +9 -17
- package/dist/api/controllers/public/tables.js +9 -29
- package/dist/api/controllers/query/import/index.js +2 -1
- package/dist/api/controllers/query/index.js +13 -10
- package/dist/api/controllers/query/validation.js +33 -41
- package/dist/api/controllers/role.js +27 -29
- package/dist/api/controllers/routing.js +58 -71
- package/dist/api/controllers/row/ExternalRequest.js +8 -12
- package/dist/api/controllers/row/external.js +3 -3
- package/dist/api/controllers/row/index.js +7 -16
- package/dist/api/controllers/row/internal.js +12 -11
- package/dist/api/controllers/row/internalSearch.js +80 -95
- package/dist/api/controllers/row/staticFormula.js +75 -85
- package/dist/api/controllers/row/utils.js +84 -118
- package/dist/api/controllers/screen.js +66 -81
- package/dist/api/controllers/script.js +6 -13
- package/dist/api/controllers/static/index.js +11 -9
- package/dist/api/controllers/table/bulkFormula.js +35 -47
- package/dist/api/controllers/table/external.js +57 -67
- package/dist/api/controllers/table/index.js +33 -66
- package/dist/api/controllers/table/internal.js +6 -5
- package/dist/api/controllers/table/utils.js +35 -39
- package/dist/api/controllers/templates.js +10 -17
- package/dist/api/controllers/user.js +70 -82
- package/dist/api/controllers/view/exporters.js +4 -8
- package/dist/api/controllers/view/index.js +153 -201
- package/dist/api/controllers/view/utils.js +121 -151
- package/dist/api/index.js +34 -38
- package/dist/api/routes/analytics.js +3 -29
- package/dist/api/routes/apikeys.js +7 -33
- package/dist/api/routes/application.js +9 -8
- package/dist/api/routes/auth.js +2 -1
- package/dist/api/routes/automation.js +20 -46
- package/dist/api/routes/backup.js +4 -3
- package/dist/api/routes/cloud.js +6 -32
- package/dist/api/routes/component.js +6 -32
- package/dist/api/routes/datasource.js +13 -39
- package/dist/api/routes/deploy.js +8 -34
- package/dist/api/routes/dev.js +10 -36
- package/dist/api/routes/integration.js +7 -10
- package/dist/api/routes/layout.js +7 -33
- package/dist/api/routes/metadata.js +10 -36
- package/dist/api/routes/migrations.js +6 -32
- package/dist/api/routes/permission.js +12 -38
- package/dist/api/routes/plugin.js +5 -5
- package/dist/api/routes/public/index.js +9 -9
- package/dist/api/routes/query.js +15 -42
- package/dist/api/routes/role.js +10 -36
- package/dist/api/routes/routing.js +6 -32
- package/dist/api/routes/row.js +11 -12
- package/dist/api/routes/screen.js +9 -35
- package/dist/api/routes/script.js +6 -32
- package/dist/api/routes/static.js +9 -9
- package/dist/api/routes/table.js +13 -40
- package/dist/api/routes/templates.js +7 -33
- package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
- package/dist/api/routes/user.js +13 -40
- package/dist/api/routes/utils/validators.js +126 -142
- package/dist/api/routes/view.js +12 -38
- package/dist/api/routes/webhook.js +2 -1
- package/dist/app.js +4 -3
- package/dist/automations/tests/utilities/index.js +12 -21
- package/dist/automations/triggers.js +6 -5
- package/dist/automations/utils.js +8 -9
- package/dist/constants/index.js +5 -3
- package/dist/constants/screens.js +2 -2
- package/dist/db/inMemoryView.js +3 -3
- package/dist/db/linkedRows/LinkController.js +31 -4
- package/dist/db/linkedRows/index.js +2 -2
- package/dist/db/linkedRows/linkUtils.js +3 -3
- package/dist/db/utils.js +119 -146
- package/dist/db/views/staticViews.js +4 -4
- package/dist/integrations/elasticsearch.js +2 -26
- package/dist/integrations/googlesheets.js +6 -4
- package/dist/integrations/index.js +6 -15
- package/dist/integrations/s3.js +1 -157
- package/dist/middleware/appInfo.js +9 -14
- package/dist/middleware/authorized.js +21 -22
- package/dist/middleware/builder.js +40 -41
- package/dist/middleware/currentapp.js +37 -39
- package/dist/middleware/joi-validator.js +10 -17
- package/dist/middleware/publicApi.js +6 -5
- package/dist/middleware/resourceId.js +9 -16
- package/dist/middleware/selfhost.js +4 -5
- package/dist/middleware/utils.js +2 -5
- package/dist/migrations/functions/appUrls.js +2 -2
- package/dist/migrations/functions/backfill/global.js +1 -1
- package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
- package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
- package/dist/migrations/functions/userEmailViewCasing.js +3 -3
- package/dist/package.json +44 -10
- package/dist/sdk/app/backups/exports.js +2 -1
- package/dist/sdk/app/backups/imports.js +3 -2
- package/dist/sdk/app/tables/index.js +5 -5
- package/dist/startup.js +4 -4
- package/dist/tests/utilities/TestConfiguration.js +36 -30
- package/dist/tests/utilities/structures.js +4 -3
- package/dist/threads/automation.js +16 -15
- package/dist/threads/query.js +19 -17
- package/dist/threads/utils.js +9 -11
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +2 -4
- package/dist/utilities/fileSystem/clientLibrary.js +12 -12
- package/dist/utilities/fileSystem/index.js +3 -3
- package/dist/utilities/fileSystem/utilities.js +22 -0
- package/dist/utilities/global.js +66 -87
- package/dist/utilities/index.js +75 -102
- package/dist/utilities/redis.js +65 -100
- package/dist/utilities/routing/index.js +23 -27
- package/dist/utilities/rowProcessor/index.js +191 -124
- package/dist/utilities/rowProcessor/utils.js +26 -35
- package/dist/utilities/security.js +35 -39
- package/dist/utilities/usageQuota/rows.js +49 -56
- package/dist/utilities/users.js +28 -31
- package/dist/utilities/workerRequests.js +82 -115
- package/dist/watch.js +2 -1
- package/package.json +45 -11
- package/scripts/exportAppTemplate.js +2 -2
- package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
- package/scripts/localdomain.js +6 -34
- package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
- package/src/api/controllers/application.ts +42 -56
- package/src/api/controllers/auth.ts +3 -4
- package/src/api/controllers/{automation.ts → automation.js} +48 -48
- package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
- package/src/api/controllers/component.ts +1 -2
- package/src/api/controllers/{datasource.ts → datasource.js} +47 -100
- package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
- package/src/api/controllers/deploy/index.ts +25 -13
- package/src/api/controllers/{dev.ts → dev.js} +37 -31
- package/src/api/controllers/{layout.ts → layout.js} +8 -8
- package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
- package/src/api/controllers/{permission.ts → permission.js} +46 -49
- package/src/api/controllers/plugin/index.ts +5 -4
- package/src/api/controllers/public/applications.ts +9 -15
- package/src/api/controllers/public/tables.ts +2 -2
- package/src/api/controllers/query/import/index.ts +3 -2
- package/src/api/controllers/query/index.ts +14 -11
- package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
- package/src/api/controllers/{role.ts → role.js} +25 -21
- package/src/api/controllers/{routing.ts → routing.js} +34 -37
- package/src/api/controllers/row/ExternalRequest.ts +11 -9
- package/src/api/controllers/row/external.js +3 -3
- package/src/api/controllers/row/index.ts +9 -17
- package/src/api/controllers/row/internal.js +12 -11
- package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
- package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +23 -28
- package/src/api/controllers/row/{utils.ts → utils.js} +18 -25
- package/src/api/controllers/screen.ts +6 -10
- package/src/api/controllers/script.js +11 -0
- package/src/api/controllers/static/index.ts +13 -9
- package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
- package/src/api/controllers/table/{external.ts → external.js} +54 -86
- package/src/api/controllers/table/{index.ts → index.js} +17 -17
- package/src/api/controllers/table/internal.ts +6 -5
- package/src/api/controllers/table/utils.ts +21 -26
- package/src/api/controllers/{templates.ts → templates.js} +7 -10
- package/src/api/controllers/{user.ts → user.js} +49 -47
- package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
- package/src/api/controllers/view/{index.ts → index.js} +27 -36
- package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
- package/src/api/{index.ts → index.js} +22 -15
- package/src/api/routes/analytics.js +9 -0
- package/src/api/routes/apikeys.js +12 -0
- package/src/api/routes/application.ts +9 -17
- package/src/api/routes/auth.ts +2 -2
- package/src/api/routes/automation.js +85 -0
- package/src/api/routes/backup.ts +4 -8
- package/src/api/routes/cloud.js +14 -0
- package/src/api/routes/component.js +14 -0
- package/src/api/routes/datasource.js +51 -0
- package/src/api/routes/deploy.js +17 -0
- package/src/api/routes/dev.js +26 -0
- package/src/api/routes/integration.js +12 -0
- package/src/api/routes/layout.js +16 -0
- package/src/api/routes/{metadata.ts → metadata.js} +13 -13
- package/src/api/routes/migrations.js +14 -0
- package/src/api/routes/permission.js +33 -0
- package/src/api/routes/plugin.ts +6 -14
- package/src/api/routes/public/index.ts +10 -10
- package/src/api/routes/public/tests/compare.spec.js +1 -1
- package/src/api/routes/{query.ts → query.js} +22 -19
- package/src/api/routes/role.js +15 -0
- package/src/api/routes/routing.js +14 -0
- package/src/api/routes/row.ts +15 -13
- package/src/api/routes/screen.js +18 -0
- package/src/api/routes/script.js +10 -0
- package/src/api/routes/static.ts +10 -7
- package/src/api/routes/{table.ts → table.js} +13 -10
- package/src/api/routes/templates.js +16 -0
- package/src/api/routes/tests/analytics.spec.js +1 -1
- package/src/api/routes/tests/backup.spec.js +1 -9
- package/src/api/routes/tests/permissions.spec.js +1 -2
- package/src/api/routes/tests/query.spec.js +10 -15
- package/src/api/routes/tests/role.spec.js +9 -7
- package/src/api/routes/tests/routing.spec.js +1 -2
- package/src/api/routes/tests/row.spec.js +4 -3
- package/src/api/routes/tests/static.spec.js +2 -2
- package/src/api/routes/tests/table.spec.js +35 -38
- package/src/api/routes/tests/user.spec.js +1 -2
- package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
- package/src/api/routes/user.js +53 -0
- package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
- package/src/api/routes/view.js +31 -0
- package/src/api/routes/webhook.ts +2 -2
- package/src/app.ts +4 -3
- package/src/automations/tests/updateRow.spec.js +1 -0
- package/src/automations/tests/utilities/index.js +4 -10
- package/src/automations/triggers.js +6 -5
- package/src/automations/utils.ts +12 -9
- package/src/constants/index.js +5 -3
- package/src/constants/screens.js +2 -2
- package/src/db/inMemoryView.js +3 -3
- package/src/db/linkedRows/LinkController.js +50 -4
- package/src/db/linkedRows/index.js +2 -2
- package/src/db/linkedRows/linkUtils.js +3 -3
- package/src/db/tests/linkController.spec.js +57 -73
- package/src/db/tests/linkTests.spec.js +14 -17
- package/src/db/{utils.ts → utils.js} +93 -77
- package/src/db/views/staticViews.js +4 -4
- package/src/integrations/base/sql.ts +1 -1
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/elasticsearch.ts +2 -32
- package/src/integrations/googlesheets.ts +7 -4
- package/src/integrations/index.ts +41 -45
- package/src/integrations/s3.ts +3 -179
- package/src/integrations/tests/s3.spec.ts +1 -85
- package/src/middleware/appInfo.js +19 -0
- package/src/middleware/authorized.ts +28 -21
- package/src/middleware/{builder.ts → builder.js} +15 -17
- package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
- package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
- package/src/middleware/publicApi.js +21 -0
- package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
- package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
- package/src/middleware/tests/authorized.spec.js +6 -5
- package/src/middleware/tests/currentapp.spec.js +63 -118
- package/src/middleware/{utils.ts → utils.js} +1 -3
- package/src/migrations/functions/appUrls.ts +2 -2
- package/src/migrations/functions/backfill/app/tables.ts +5 -2
- package/src/migrations/functions/backfill/global.ts +1 -1
- package/src/migrations/functions/tests/appUrls.spec.js +4 -4
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
- package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
- package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
- package/src/migrations/functions/userEmailViewCasing.ts +3 -3
- package/src/module.d.ts +14 -0
- package/src/sdk/app/backups/exports.ts +3 -5
- package/src/sdk/app/backups/imports.ts +14 -7
- package/src/sdk/app/backups/statistics.ts +18 -9
- package/src/sdk/app/tables/index.ts +8 -7
- package/src/startup.ts +2 -2
- package/src/tests/utilities/TestConfiguration.js +36 -42
- package/src/tests/utilities/structures.js +4 -3
- package/src/threads/automation.ts +16 -15
- package/src/threads/query.ts +16 -11
- package/src/threads/utils.ts +5 -4
- package/src/utilities/budibaseDir.js +3 -0
- package/src/utilities/fileSystem/clientLibrary.js +12 -12
- package/src/utilities/fileSystem/index.js +8 -8
- package/src/utilities/fileSystem/utilities.js +36 -0
- package/src/utilities/global.js +127 -0
- package/src/utilities/{index.ts → index.js} +32 -40
- package/src/utilities/{redis.ts → redis.js} +20 -21
- package/src/utilities/routing/index.js +25 -0
- package/src/utilities/rowProcessor/{index.ts → index.js} +142 -65
- package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
- package/src/utilities/security.js +71 -0
- package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
- package/src/utilities/{users.ts → users.js} +13 -11
- package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
- package/src/watch.ts +3 -2
- package/tsconfig.json +1 -3
- package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
- package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
- package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
- package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
- package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
- package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
- package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
- package/coverage/lcov-report/src/api/controllers/index.html +0 -431
- package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
- package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
- package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
- package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
- package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
- package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
- package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
- package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -142
- package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
- package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
- package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
- package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
- package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
- package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +0 -163
- package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
- package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
- package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
- package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
- package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
- package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
- package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
- package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
- package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
- package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
- package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
- package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2320
- package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
- package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
- package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
- package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -688
- package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
- package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
- package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
- package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
- package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
- package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
- package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
- package/coverage/lcov-report/src/api/routes/dev.ts.html +0 -199
- package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
- package/coverage/lcov-report/src/api/routes/integration.ts.html +0 -133
- package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
- package/coverage/lcov-report/src/api/routes/permission.ts.html +0 -208
- package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
- package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
- package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
- package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -502
- package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
- package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
- package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
- package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
- package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
- package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
- package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
- package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
- package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
- package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
- package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
- package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +0 -367
- package/coverage/lcov-report/src/app.ts.html +0 -400
- package/coverage/lcov-report/src/automations/logging/index.html +0 -116
- package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
- package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -367
- package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -334
- package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
- package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +0 -256
- package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
- package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +0 -2023
- package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +0 -541
- package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +0 -427
- package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +0 -403
- package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +0 -559
- package/coverage/lcov-report/src/db/dynamoClient.js.html +0 -466
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +0 -226
- package/coverage/lcov-report/src/definitions/datasource.ts.html +0 -235
- package/coverage/lcov-report/src/definitions/index.html +0 -131
- package/coverage/lcov-report/src/environment.js.html +0 -445
- package/coverage/lcov-report/src/index.html +0 -191
- package/coverage/lcov-report/src/index.ts.html +0 -133
- package/coverage/lcov-report/src/integrations/airtable.ts.html +0 -529
- package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
- package/coverage/lcov-report/src/integrations/base/index.html +0 -161
- package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
- package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
- package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
- package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
- package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
- package/coverage/lcov-report/src/integrations/dynamodb.ts.html +0 -745
- package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
- package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
- package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1312
- package/coverage/lcov-report/src/integrations/index.html +0 -371
- package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
- package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
- package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
- package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -952
- package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
- package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
- package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
- package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
- package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
- package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
- package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
- package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
- package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1006
- package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
- package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
- package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
- package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
- package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
- package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
- package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
- package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
- package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
- package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
- package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
- package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
- package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
- package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
- package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
- package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
- package/coverage/lcov-report/src/migrations/functions/index.html +0 -146
- package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
- package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
- package/coverage/lcov-report/src/migrations/index.ts.html +0 -403
- package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
- package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
- package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
- package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
- package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
- package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
- package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
- package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
- package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
- package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
- package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
- package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
- package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
- package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
- package/coverage/lcov-report/src/startup.ts.html +0 -499
- package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +0 -1885
- package/coverage/lcov-report/src/tests/utilities/controllers.js.html +0 -133
- package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
- package/coverage/lcov-report/src/tests/utilities/structures.js.html +0 -649
- package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
- package/coverage/lcov-report/src/threads/index.html +0 -161
- package/coverage/lcov-report/src/threads/index.ts.html +0 -418
- package/coverage/lcov-report/src/threads/query.ts.html +0 -961
- package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
- package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +0 -547
- package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +0 -1141
- package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +0 -148
- package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
- package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
- package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
- package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +0 -370
- package/coverage/lcov-report/src/watch.ts.html +0 -196
- package/coverage/lcov-report/src/websocket.ts.html +0 -163
- package/dist/db/defaultData/datasource_bb_default.js +0 -565
- package/dist/db/defaultData/employeeImport.js +0 -153
- package/dist/db/defaultData/expensesImport.js +0 -115
- package/dist/db/defaultData/inventoryImport.js +0 -107
- package/dist/db/defaultData/jobsImport.js +0 -150
- package/dist/db/linkedRows/LinkDocument.js +0 -32
- package/dist/utilities/rowProcessor/map.js +0 -96
- package/jest.config.ts +0 -33
- package/src/api/controllers/script.ts +0 -12
- package/src/api/routes/analytics.ts +0 -9
- package/src/api/routes/apikeys.ts +0 -12
- package/src/api/routes/automation.ts +0 -87
- package/src/api/routes/cloud.ts +0 -18
- package/src/api/routes/component.ts +0 -14
- package/src/api/routes/datasource.ts +0 -60
- package/src/api/routes/deploy.ts +0 -21
- package/src/api/routes/dev.ts +0 -38
- package/src/api/routes/integration.ts +0 -16
- package/src/api/routes/layout.ts +0 -16
- package/src/api/routes/migrations.ts +0 -14
- package/src/api/routes/permission.ts +0 -41
- package/src/api/routes/role.ts +0 -24
- package/src/api/routes/routing.ts +0 -14
- package/src/api/routes/screen.ts +0 -23
- package/src/api/routes/script.ts +0 -10
- package/src/api/routes/templates.ts +0 -16
- package/src/api/routes/user.ts +0 -51
- package/src/api/routes/view.ts +0 -34
- package/src/db/defaultData/datasource_bb_default.js +0 -646
- package/src/db/defaultData/employeeImport.js +0 -152
- package/src/db/defaultData/expensesImport.js +0 -114
- package/src/db/defaultData/inventoryImport.js +0 -106
- package/src/db/defaultData/jobsImport.js +0 -158
- package/src/db/linkedRows/LinkDocument.js +0 -47
- package/src/middleware/appInfo.ts +0 -20
- package/src/middleware/publicApi.ts +0 -21
- package/src/utilities/budibaseDir.ts +0 -3
- package/src/utilities/global.ts +0 -138
- package/src/utilities/routing/index.ts +0 -32
- package/src/utilities/rowProcessor/map.js +0 -95
- package/src/utilities/security.ts +0 -65
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for
|
|
6
|
+
<title>Code coverage report for api/controllers/row/staticFormula.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,34 +19,34 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">api/controllers/row</a> staticFormula.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">35.38% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>23/65</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">16.12% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>5/31</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">33.33% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">35.
|
|
47
|
+
<span class="strong">35.93% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>23/
|
|
49
|
+
<span class='fraction'>23/64</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -219,20 +219,14 @@
|
|
|
219
219
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
220
|
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
221
|
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
|
|
228
|
-
<span class="cline-any cline-yes">45x</span>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
|
|
229
223
|
<span class="cline-any cline-neutral"> </span>
|
|
230
224
|
<span class="cline-any cline-neutral"> </span>
|
|
231
225
|
<span class="cline-any cline-neutral"> </span>
|
|
232
226
|
<span class="cline-any cline-neutral"> </span>
|
|
233
227
|
<span class="cline-any cline-yes">45x</span>
|
|
234
228
|
<span class="cline-any cline-yes">45x</span>
|
|
235
|
-
<span class="cline-any cline-
|
|
229
|
+
<span class="cline-any cline-yes">45x</span>
|
|
236
230
|
<span class="cline-any cline-yes">45x</span>
|
|
237
231
|
<span class="cline-any cline-yes">45x</span>
|
|
238
232
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -242,7 +236,7 @@
|
|
|
242
236
|
<span class="cline-any cline-neutral"> </span>
|
|
243
237
|
<span class="cline-any cline-neutral"> </span>
|
|
244
238
|
<span class="cline-any cline-neutral"> </span>
|
|
245
|
-
<span class="cline-any cline-yes">
|
|
239
|
+
<span class="cline-any cline-yes">45x</span>
|
|
246
240
|
<span class="cline-any cline-yes">86x</span>
|
|
247
241
|
<span class="cline-any cline-neutral"> </span>
|
|
248
242
|
<span class="cline-any cline-yes">86x</span>
|
|
@@ -317,8 +311,6 @@
|
|
|
317
311
|
<span class="cline-any cline-neutral"> </span>
|
|
318
312
|
<span class="cline-any cline-no"> </span>
|
|
319
313
|
<span class="cline-any cline-no"> </span>
|
|
320
|
-
<span class="cline-any cline-neutral"> </span>
|
|
321
|
-
<span class="cline-any cline-no"> </span>
|
|
322
314
|
<span class="cline-any cline-no"> </span>
|
|
323
315
|
<span class="cline-any cline-neutral"> </span>
|
|
324
316
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -343,8 +335,6 @@
|
|
|
343
335
|
<span class="cline-any cline-neutral"> </span>
|
|
344
336
|
<span class="cline-any cline-neutral"> </span>
|
|
345
337
|
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
348
338
|
<span class="cline-any cline-yes">81x</span>
|
|
349
339
|
<span class="cline-any cline-yes">81x</span>
|
|
350
340
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -385,17 +375,16 @@
|
|
|
385
375
|
<span class="cline-any cline-neutral"> </span>
|
|
386
376
|
<span class="cline-any cline-yes">81x</span>
|
|
387
377
|
<span class="cline-any cline-neutral"> </span>
|
|
388
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
389
|
-
|
|
378
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { getRowParams } = require("../../../db/utils")
|
|
379
|
+
const {
|
|
390
380
|
outputProcessing,
|
|
391
381
|
processAutoColumn,
|
|
392
382
|
processFormulas,
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
import { context } from "@budibase/backend-core"
|
|
396
|
-
import { Table, Row } from "@budibase/types"
|
|
383
|
+
} = require("../../../utilities/rowProcessor")
|
|
384
|
+
const { FieldTypes, FormulaTypes } = require("../../../constants")
|
|
397
385
|
const { isEqual } = require("lodash")
|
|
398
386
|
const { cloneDeep } = require("lodash/fp")
|
|
387
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
399
388
|
|
|
400
389
|
/**
|
|
401
390
|
* This function runs through a list of enriched rows, looks at the rows which
|
|
@@ -403,49 +392,49 @@ const { cloneDeep } = require("lodash/fp")
|
|
|
403
392
|
* updated.
|
|
404
393
|
* NOTE: this will only for affect static formulas.
|
|
405
394
|
*/
|
|
406
|
-
exports.updateRelatedFormula = async (table
|
|
407
|
-
const db =
|
|
395
|
+
exports.updateRelatedFormula = async (table, enrichedRows) => {
|
|
396
|
+
const db = getAppDB()
|
|
408
397
|
// no formula to update, we're done
|
|
409
|
-
if (!table.relatedFormula) {
|
|
398
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!table.relatedFormula) {
|
|
410
399
|
return
|
|
411
400
|
}
|
|
412
|
-
let promises
|
|
401
|
+
let promises = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
413
402
|
<span class="cstat-no" title="statement not covered" > for (let enrichedRow of Array.isArray(enrichedRows)</span>
|
|
414
403
|
? enrichedRows
|
|
415
404
|
: [enrichedRows]) {
|
|
416
405
|
// the related rows by tableId
|
|
417
|
-
let relatedRows
|
|
406
|
+
let relatedRows = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
418
407
|
<span class="cstat-no" title="statement not covered" > for (let [key, field] of Object.entries(enrichedRow)) {</span>
|
|
419
408
|
const columnDefinition = <span class="cstat-no" title="statement not covered" >table.schema[key]</span>
|
|
420
|
-
<span class="cstat-no" title="statement not covered" >
|
|
421
|
-
const relatedTableId = <span class="cstat-no" title="statement not covered" >columnDefinition.tableId
|
|
422
|
-
<span class="cstat-no" title="statement not covered" >
|
|
409
|
+
<span class="cstat-no" title="statement not covered" > if (columnDefinition && columnDefinition.type === FieldTypes.LINK) {</span>
|
|
410
|
+
const relatedTableId = <span class="cstat-no" title="statement not covered" >columnDefinition.tableId</span>
|
|
411
|
+
<span class="cstat-no" title="statement not covered" > if (!relatedRows[relatedTableId]) {</span>
|
|
423
412
|
<span class="cstat-no" title="statement not covered" > relatedRows[relatedTableId] = []</span>
|
|
424
413
|
}
|
|
425
414
|
<span class="cstat-no" title="statement not covered" > relatedRows[relatedTableId] = relatedRows[relatedTableId].concat(field)</span>
|
|
426
415
|
}
|
|
427
416
|
}
|
|
428
417
|
<span class="cstat-no" title="statement not covered" > for (let tableId of table.relatedFormula) {</span>
|
|
429
|
-
let relatedTable
|
|
418
|
+
let relatedTable
|
|
430
419
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
431
420
|
// no rows to update, skip
|
|
432
|
-
<span class="cstat-no" title="statement not covered" >
|
|
421
|
+
<span class="cstat-no" title="statement not covered" > if (!relatedRows[tableId] || relatedRows[tableId].length === 0) {</span>
|
|
433
422
|
<span class="cstat-no" title="statement not covered" > continue</span>
|
|
434
423
|
}
|
|
435
424
|
<span class="cstat-no" title="statement not covered" > relatedTable = await db.get(tableId)</span>
|
|
436
425
|
} catch (err) {
|
|
437
426
|
// no error scenario, table doesn't seem to exist anymore, ignore
|
|
438
427
|
}
|
|
439
|
-
<span class="cstat-no" title="statement not covered" > for (let column of Object.values(relatedTable
|
|
428
|
+
<span class="cstat-no" title="statement not covered" > for (let column of Object.values(relatedTable.schema)) {</span>
|
|
440
429
|
// needs updated in related rows
|
|
441
|
-
<span class="cstat-no" title="statement not covered" >
|
|
430
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
442
431
|
column.type === FieldTypes.FORMULA &&
|
|
443
432
|
column.formulaType === FormulaTypes.STATIC
|
|
444
433
|
) {
|
|
445
434
|
// re-enrich rows for all the related, don't update the related formula for them
|
|
446
435
|
<span class="cstat-no" title="statement not covered" > promises = promises.concat(</span>
|
|
447
|
-
relatedRows[tableId].map(<span class="fstat-no" title="function not covered" >
|
|
448
|
-
<span class="cstat-no" title="statement not covered" > finaliseRow(relatedTable, related, {</span>
|
|
436
|
+
relatedRows[tableId].map(<span class="fstat-no" title="function not covered" >re</span>lated =>
|
|
437
|
+
<span class="cstat-no" title="statement not covered" > exports.finaliseRow(relatedTable, related, {</span>
|
|
449
438
|
updateFormula: false,
|
|
450
439
|
})
|
|
451
440
|
)
|
|
@@ -458,8 +447,8 @@ exports.updateRelatedFormula = async (table: Table, enrichedRows: Row[]) => {
|
|
|
458
447
|
<span class="cstat-no" title="statement not covered" > await Promise.all(promises)</span>
|
|
459
448
|
}
|
|
460
449
|
|
|
461
|
-
|
|
462
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
450
|
+
exports.updateAllFormulasInTable = <span class="fstat-no" title="function not covered" >as</span>ync table => {
|
|
451
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
463
452
|
// start by getting the raw rows (which will be written back to DB after update)
|
|
464
453
|
let rows = <span class="cstat-no" title="statement not covered" >(</span>
|
|
465
454
|
await db.allDocs(
|
|
@@ -467,7 +456,7 @@ export async function <span class="fstat-no" title="function not covered" >updat
|
|
|
467
456
|
include_docs: true,
|
|
468
457
|
})
|
|
469
458
|
)
|
|
470
|
-
).rows.map(<span class="fstat-no" title="function not covered" >
|
|
459
|
+
).rows.map(<span class="fstat-no" title="function not covered" >ro</span>w => <span class="cstat-no" title="statement not covered" >row.doc)</span>
|
|
471
460
|
// now enrich the rows, note the clone so that we have the base state of the
|
|
472
461
|
// rows so that we don't write any of the enriched information back
|
|
473
462
|
let enrichedRows = <span class="cstat-no" title="statement not covered" >await outputProcessing(table, cloneDeep(rows), {</span>
|
|
@@ -476,16 +465,14 @@ export async function <span class="fstat-no" title="function not covered" >updat
|
|
|
476
465
|
const updatedRows = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
477
466
|
<span class="cstat-no" title="statement not covered" > for (let row of rows) {</span>
|
|
478
467
|
// find the enriched row, if found process the formulas
|
|
479
|
-
const enrichedRow = <span class="cstat-no" title="statement not covered" >enrichedRows.find(</span>
|
|
480
|
-
<span class="
|
|
481
|
-
)
|
|
482
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (enrichedRow) {</span>
|
|
468
|
+
const enrichedRow = <span class="cstat-no" title="statement not covered" >enrichedRows.find(<span class="fstat-no" title="function not covered" >en</span>riched => <span class="cstat-no" title="statement not covered" >enriched._id === row._id)</span></span>
|
|
469
|
+
<span class="cstat-no" title="statement not covered" > if (enrichedRow) {</span>
|
|
483
470
|
const processed = <span class="cstat-no" title="statement not covered" >processFormulas(table, cloneDeep(row), {</span>
|
|
484
471
|
dynamic: false,
|
|
485
472
|
contextRows: enrichedRow,
|
|
486
473
|
})
|
|
487
474
|
// values have changed, need to add to bulk docs to update
|
|
488
|
-
<span class="cstat-no" title="statement not covered" >
|
|
475
|
+
<span class="cstat-no" title="statement not covered" > if (!isEqual(processed, row)) {</span>
|
|
489
476
|
<span class="cstat-no" title="statement not covered" > updatedRows.push(processed)</span>
|
|
490
477
|
}
|
|
491
478
|
}
|
|
@@ -499,14 +486,12 @@ export async function <span class="fstat-no" title="function not covered" >updat
|
|
|
499
486
|
* row. The reason we need to return the enriched row is that the automation row created trigger
|
|
500
487
|
* expects the row to be totally enriched/contain all relationships.
|
|
501
488
|
*/
|
|
502
|
-
|
|
503
|
-
table
|
|
504
|
-
row
|
|
505
|
-
{ oldTable, updateFormula }
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
) {
|
|
509
|
-
const db = context.getAppDB()
|
|
489
|
+
exports.finaliseRow = async (
|
|
490
|
+
table,
|
|
491
|
+
row,
|
|
492
|
+
{ oldTable, updateFormula } = <span class="branch-0 cbranch-no" title="branch not covered" >{ updateFormula: true }</span>
|
|
493
|
+
) => {
|
|
494
|
+
const db = getAppDB()
|
|
510
495
|
row.type = "row"
|
|
511
496
|
// process the row before return, to include relationships
|
|
512
497
|
let enrichedRow = await outputProcessing(table, cloneDeep(row), {
|
|
@@ -523,7 +508,7 @@ export async function finaliseRow(
|
|
|
523
508
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (oldTable && !isEqual(oldTable, table)) {
|
|
524
509
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
525
510
|
<span class="cstat-no" title="statement not covered" > await db.put(table)</span>
|
|
526
|
-
} catch (err
|
|
511
|
+
} catch (err) {
|
|
527
512
|
<span class="cstat-no" title="statement not covered" > if (err.status === 409) {</span>
|
|
528
513
|
const updatedTable = <span class="cstat-no" title="statement not covered" >await db.get(table._id)</span>
|
|
529
514
|
let response = <span class="cstat-no" title="statement not covered" >processAutoColumn(null, updatedTable, row, {</span>
|
|
@@ -541,7 +526,7 @@ export async function finaliseRow(
|
|
|
541
526
|
enrichedRow._rev = response.rev
|
|
542
527
|
enrichedRow = await processFormulas(table, enrichedRow, { dynamic: false })
|
|
543
528
|
// this updates the related formulas in other rows based on the relations to this row
|
|
544
|
-
if (updateFormula) {
|
|
529
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (updateFormula) {
|
|
545
530
|
await exports.updateRelatedFormula(table, enrichedRow)
|
|
546
531
|
}
|
|
547
532
|
return { row: enrichedRow, table }
|
|
@@ -553,16 +538,16 @@ export async function finaliseRow(
|
|
|
553
538
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
554
539
|
Code coverage generated by
|
|
555
540
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
556
|
-
at
|
|
541
|
+
at Thu Nov 24 2022 12:17:01 GMT+0000 (Coordinated Universal Time)
|
|
557
542
|
</div>
|
|
558
|
-
<script src="
|
|
543
|
+
<script src="../../../prettify.js"></script>
|
|
559
544
|
<script>
|
|
560
545
|
window.onload = function () {
|
|
561
546
|
prettyPrint();
|
|
562
547
|
};
|
|
563
548
|
</script>
|
|
564
|
-
<script src="
|
|
565
|
-
<script src="
|
|
549
|
+
<script src="../../../sorter.js"></script>
|
|
550
|
+
<script src="../../../block-navigation.js"></script>
|
|
566
551
|
</body>
|
|
567
552
|
</html>
|
|
568
553
|
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for
|
|
6
|
+
<title>Code coverage report for api/controllers/row/utils.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,7 +19,7 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">api/controllers/row</a> utils.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -30,23 +30,23 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">38.46% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>15/39</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">66.66% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>4/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">62.
|
|
47
|
+
<span class="strong">62.71% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>37/59</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -171,20 +171,12 @@
|
|
|
171
171
|
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
172
|
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
173
|
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
|
|
175
|
+
<span class="cline-any cline-yes">46x</span>
|
|
182
176
|
<span class="cline-any cline-yes">46x</span>
|
|
183
177
|
<span class="cline-any cline-yes">46x</span>
|
|
184
178
|
<span class="cline-any cline-yes">46x</span>
|
|
185
179
|
<span class="cline-any cline-yes">46x</span>
|
|
186
|
-
<span class="cline-any cline-neutral"> </span>
|
|
187
|
-
<span class="cline-any cline-yes">119x</span>
|
|
188
180
|
<span class="cline-any cline-yes">46x</span>
|
|
189
181
|
<span class="cline-any cline-yes">46x</span>
|
|
190
182
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -199,6 +191,8 @@
|
|
|
199
191
|
<span class="cline-any cline-neutral"> </span>
|
|
200
192
|
<span class="cline-any cline-neutral"> </span>
|
|
201
193
|
<span class="cline-any cline-yes">46x</span>
|
|
194
|
+
<span class="cline-any cline-neutral"> </span>
|
|
195
|
+
<span class="cline-any cline-yes">46x</span>
|
|
202
196
|
<span class="cline-any cline-yes">1x</span>
|
|
203
197
|
<span class="cline-any cline-yes">1x</span>
|
|
204
198
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -225,14 +219,6 @@
|
|
|
225
219
|
<span class="cline-any cline-neutral"> </span>
|
|
226
220
|
<span class="cline-any cline-neutral"> </span>
|
|
227
221
|
<span class="cline-any cline-yes">46x</span>
|
|
228
|
-
<span class="cline-any cline-neutral"> </span>
|
|
229
|
-
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-neutral"> </span>
|
|
231
|
-
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-neutral"> </span>
|
|
233
|
-
<span class="cline-any cline-neutral"> </span>
|
|
234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
235
|
-
<span class="cline-any cline-neutral"> </span>
|
|
236
222
|
<span class="cline-any cline-yes">85x</span>
|
|
237
223
|
<span class="cline-any cline-yes">2x</span>
|
|
238
224
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -293,35 +279,36 @@
|
|
|
293
279
|
<span class="cline-any cline-neutral"> </span>
|
|
294
280
|
<span class="cline-any cline-yes">85x</span>
|
|
295
281
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
297
|
-
import * as userController from "../user"
|
|
298
|
-
import { FieldTypes } from "../../../constants"
|
|
299
|
-
import { context } from "@budibase/backend-core"
|
|
300
|
-
import { makeExternalQuery } from "../../../integrations/base/query"
|
|
301
|
-
import { BBContext, Row, Table } from "@budibase/types"
|
|
302
|
-
export { removeKeyNumbering } from "../../../integrations/base/utils"
|
|
303
|
-
const validateJs = require("validate.js")
|
|
282
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const validateJs = require("validate.js")
|
|
304
283
|
const { cloneDeep } = require("lodash/fp")
|
|
284
|
+
const { InternalTables } = require("../../../db/utils")
|
|
285
|
+
const userController = require("../user")
|
|
286
|
+
const { FieldTypes } = require("../../../constants")
|
|
287
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
288
|
+
const { makeExternalQuery } = require("../../../integrations/base/query")
|
|
289
|
+
const { removeKeyNumbering } = require("../../../integrations/base/utils")
|
|
305
290
|
|
|
306
291
|
validateJs.extend(validateJs.validators.datetime, {
|
|
307
|
-
parse: function (value
|
|
292
|
+
parse: function (value) {
|
|
308
293
|
return new Date(value).getTime()
|
|
309
294
|
},
|
|
310
295
|
// Input is a unix timestamp
|
|
311
|
-
format: <span class="fstat-no" title="function not covered" >
|
|
296
|
+
format: <span class="fstat-no" title="function not covered" >fu</span>nction (value) {
|
|
312
297
|
<span class="cstat-no" title="statement not covered" > return new Date(value).toISOString()</span>
|
|
313
298
|
},
|
|
314
299
|
})
|
|
315
300
|
|
|
316
|
-
|
|
301
|
+
exports.removeKeyNumbering = removeKeyNumbering
|
|
302
|
+
|
|
303
|
+
exports.getDatasourceAndQuery = async json => {
|
|
317
304
|
const datasourceId = json.endpoint.datasourceId
|
|
318
|
-
const db =
|
|
305
|
+
const db = getAppDB()
|
|
319
306
|
const datasource = await db.get(datasourceId)
|
|
320
307
|
return makeExternalQuery(datasource, json)
|
|
321
308
|
}
|
|
322
309
|
|
|
323
|
-
|
|
324
|
-
const db =
|
|
310
|
+
exports.findRow = async (ctx, tableId, rowId) => {
|
|
311
|
+
const db = getAppDB()
|
|
325
312
|
let row
|
|
326
313
|
// TODO remove special user case in future
|
|
327
314
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
@@ -339,20 +326,12 @@ export async function findRow(ctx: BBContext, tableId: string, rowId: string) {
|
|
|
339
326
|
return row
|
|
340
327
|
}
|
|
341
328
|
|
|
342
|
-
|
|
343
|
-
tableId,
|
|
344
|
-
row,
|
|
345
|
-
table,
|
|
346
|
-
}: {
|
|
347
|
-
tableId?: string
|
|
348
|
-
row: Row
|
|
349
|
-
table: Table
|
|
350
|
-
}) {
|
|
329
|
+
exports.validate = async ({ tableId, row, table }) => {
|
|
351
330
|
if (!table) {
|
|
352
|
-
const db =
|
|
331
|
+
const db = getAppDB()
|
|
353
332
|
table = await db.get(tableId)
|
|
354
333
|
}
|
|
355
|
-
const errors
|
|
334
|
+
const errors = {}
|
|
356
335
|
for (let fieldName of Object.keys(table.schema)) {
|
|
357
336
|
const constraints = cloneDeep(table.schema[fieldName].constraints)
|
|
358
337
|
const type = table.schema[fieldName].type
|
|
@@ -369,18 +348,18 @@ export async function validate({
|
|
|
369
348
|
// Validate.js doesn't seem to handle array
|
|
370
349
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (type === FieldTypes.ARRAY && <span class="branch-1 cbranch-no" title="branch not covered" >row[fieldName])</span> {
|
|
371
350
|
<span class="cstat-no" title="statement not covered" > if (row[fieldName].length) {</span>
|
|
372
|
-
<span class="cstat-no" title="statement not covered" >
|
|
351
|
+
<span class="cstat-no" title="statement not covered" > if (!Array.isArray(row[fieldName])) {</span>
|
|
373
352
|
<span class="cstat-no" title="statement not covered" > row[fieldName] = row[fieldName].split(",")</span>
|
|
374
353
|
}
|
|
375
|
-
<span class="cstat-no" title="statement not covered" > row[fieldName].map(<span class="fstat-no" title="function not covered" >
|
|
376
|
-
<span class="cstat-no" title="statement not covered" >
|
|
354
|
+
<span class="cstat-no" title="statement not covered" > row[fieldName].map(<span class="fstat-no" title="function not covered" >va</span>l => {</span>
|
|
355
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
377
356
|
!constraints.inclusion.includes(val) &&
|
|
378
357
|
constraints.inclusion.length !== 0
|
|
379
358
|
) {
|
|
380
359
|
<span class="cstat-no" title="statement not covered" > errors[fieldName] = "Field not in list"</span>
|
|
381
360
|
}
|
|
382
361
|
})
|
|
383
|
-
} else <span class="cstat-no" title="statement not covered"
|
|
362
|
+
} else <span class="cstat-no" title="statement not covered" >if (constraints.presence && row[fieldName].length === 0) {</span>
|
|
384
363
|
// non required MultiSelect creates an empty array, which should not throw errors
|
|
385
364
|
<span class="cstat-no" title="statement not covered" > errors[fieldName] = [`${fieldName} is required`]</span>
|
|
386
365
|
}
|
|
@@ -391,7 +370,7 @@ export async function validate({
|
|
|
391
370
|
// this should only happen if there is an error
|
|
392
371
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
393
372
|
const json = <span class="cstat-no" title="statement not covered" >JSON.parse(row[fieldName])</span>
|
|
394
|
-
<span class="cstat-no" title="statement not covered" >
|
|
373
|
+
<span class="cstat-no" title="statement not covered" > if (type === FieldTypes.ATTACHMENT) {</span>
|
|
395
374
|
<span class="cstat-no" title="statement not covered" > if (Array.isArray(json)) {</span>
|
|
396
375
|
<span class="cstat-no" title="statement not covered" > row[fieldName] = json</span>
|
|
397
376
|
} else {
|
|
@@ -415,16 +394,16 @@ export async function validate({
|
|
|
415
394
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
416
395
|
Code coverage generated by
|
|
417
396
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
418
|
-
at
|
|
397
|
+
at Thu Nov 24 2022 12:17:01 GMT+0000 (Coordinated Universal Time)
|
|
419
398
|
</div>
|
|
420
|
-
<script src="
|
|
399
|
+
<script src="../../../prettify.js"></script>
|
|
421
400
|
<script>
|
|
422
401
|
window.onload = function () {
|
|
423
402
|
prettyPrint();
|
|
424
403
|
};
|
|
425
404
|
</script>
|
|
426
|
-
<script src="
|
|
427
|
-
<script src="
|
|
405
|
+
<script src="../../../sorter.js"></script>
|
|
406
|
+
<script src="../../../block-navigation.js"></script>
|
|
428
407
|
</body>
|
|
429
408
|
</html>
|
|
430
409
|
|
package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html}
RENAMED
|
@@ -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/script.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,7 +19,7 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">api/controllers</a> script.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -74,9 +74,7 @@
|
|
|
74
74
|
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
75
|
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
76
|
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
|
|
79
|
-
<span class="cline-any cline-neutral"> </span>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
|
|
80
78
|
<span class="cline-any cline-neutral"> </span>
|
|
81
79
|
<span class="cline-any cline-yes">45x</span>
|
|
82
80
|
<span class="cline-any cline-no"> </span>
|
|
@@ -87,16 +85,15 @@
|
|
|
87
85
|
<span class="cline-any cline-yes">45x</span>
|
|
88
86
|
<span class="cline-any cline-no"> </span>
|
|
89
87
|
<span class="cline-any cline-neutral"> </span>
|
|
90
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
91
|
-
import { BBContext } from "@budibase/types"
|
|
88
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const ScriptRunner = require("../../utilities/scriptRunner")
|
|
92
89
|
|
|
93
|
-
|
|
90
|
+
exports.execute = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
94
91
|
const { script, context } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
95
92
|
const runner = <span class="cstat-no" title="statement not covered" >new ScriptRunner(script, context)</span>
|
|
96
93
|
<span class="cstat-no" title="statement not covered" > ctx.body = runner.execute()</span>
|
|
97
94
|
}
|
|
98
95
|
|
|
99
|
-
|
|
96
|
+
exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
100
97
|
<span class="cstat-no" title="statement not covered" > ctx.throw(501, "Not currently implemented")</span>
|
|
101
98
|
}
|
|
102
99
|
</pre></td></tr></table></pre>
|
|
@@ -106,16 +103,16 @@ export async function <span class="fstat-no" title="function not covered" >save(
|
|
|
106
103
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
107
104
|
Code coverage generated by
|
|
108
105
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
109
|
-
at
|
|
106
|
+
at Thu Nov 24 2022 12:17:01 GMT+0000 (Coordinated Universal Time)
|
|
110
107
|
</div>
|
|
111
|
-
<script src="
|
|
108
|
+
<script src="../../prettify.js"></script>
|
|
112
109
|
<script>
|
|
113
110
|
window.onload = function () {
|
|
114
111
|
prettyPrint();
|
|
115
112
|
};
|
|
116
113
|
</script>
|
|
117
|
-
<script src="
|
|
118
|
-
<script src="
|
|
114
|
+
<script src="../../sorter.js"></script>
|
|
115
|
+
<script src="../../block-navigation.js"></script>
|
|
119
116
|
</body>
|
|
120
117
|
</html>
|
|
121
118
|
|