@budibase/server 2.1.32-alpha.8 → 2.1.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/aws-sdk.ts +0 -14
- package/__mocks__/node-fetch.ts +1 -5
- package/builder/assets/{index.7176fd99.css → index.534f6c29.css} +1 -1
- package/builder/assets/{index.3efa93e2.js → index.d2995f56.js} +316 -316
- package/builder/index.html +2 -2
- package/coverage/clover.xml +3681 -10588
- package/coverage/coverage-final.json +77 -225
- package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +26 -26
- package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +75 -75
- package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +47 -47
- package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +87 -246
- package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +71 -53
- package/coverage/lcov-report/api/controllers/index.html +326 -0
- package/coverage/lcov-report/{src/api → api}/controllers/integration.js.html +10 -10
- package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +26 -26
- package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +23 -26
- package/coverage/lcov-report/{src/api → api}/controllers/migrations.js.html +10 -10
- package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +71 -80
- package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
- package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +17 -17
- package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +56 -44
- package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +56 -65
- package/coverage/lcov-report/{src/api → api}/controllers/row/external.js.html +13 -13
- package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +46 -76
- package/coverage/lcov-report/{src/api → api}/controllers/row/internal.js.html +29 -26
- package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +110 -182
- package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +54 -69
- package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +43 -64
- package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +14 -17
- package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +54 -96
- package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +100 -196
- package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
- package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +35 -35
- package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +25 -34
- package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +85 -79
- package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +14 -20
- package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +30 -30
- package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +48 -75
- package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +43 -61
- package/coverage/lcov-report/{src/api → api}/controllers/view/viewBuilder.js.html +10 -10
- package/coverage/lcov-report/{src/api → api}/index.html +23 -23
- package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +56 -35
- package/coverage/lcov-report/{src/api/routes/analytics.ts.html → api/routes/analytics.js.html} +14 -14
- package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/routes/apikeys.js.html} +27 -27
- package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +42 -48
- package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +21 -21
- package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +17 -17
- package/coverage/lcov-report/{src/api/routes/datasource.ts.html → api/routes/datasource.js.html} +33 -60
- package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
- package/coverage/lcov-report/{src/api/routes/webhook.ts.html → api/routes/dev.js.html} +43 -46
- package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
- package/coverage/lcov-report/{src/api/routes/apikeys.ts.html → api/routes/integration.js.html} +18 -18
- package/coverage/lcov-report/{src/api/routes/layout.ts.html → api/routes/layout.js.html} +18 -18
- package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +24 -24
- package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
- package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/permission.js.html} +37 -40
- package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
- package/coverage/lcov-report/api/routes/role.js.html +130 -0
- package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +17 -17
- package/coverage/lcov-report/api/routes/screen.js.html +139 -0
- package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
- package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +33 -24
- package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +18 -18
- package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +35 -29
- package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
- package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +58 -46
- package/coverage/lcov-report/{src/definitions/automations.ts.html → api/routes/view.js.html} +41 -44
- package/coverage/lcov-report/{src/automations → automations}/actions.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/automationUtils.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/bullboard.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/index.html +24 -39
- package/coverage/lcov-report/{src/automations → automations}/index.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/bash.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/delay.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/discord.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/executeQuery.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/executeScript.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/filter.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/index.html +26 -56
- package/coverage/lcov-report/{src/automations → automations}/steps/integromat.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/loop.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/outgoingWebhook.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/sendSmtpEmail.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/serverLog.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/slack.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/updateRow.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/steps/utils.js.html +19 -19
- package/coverage/lcov-report/{src/automations → automations}/steps/zapier.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/app.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/cron.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowDeleted.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowSaved.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/rowUpdated.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/webhook.js.html +10 -10
- package/coverage/lcov-report/{src/automations → automations}/triggers.js.html +23 -20
- package/coverage/lcov-report/{src/constants → constants}/index.html +14 -14
- package/coverage/lcov-report/{src/constants → constants}/index.js.html +22 -16
- package/coverage/lcov-report/{src/constants → constants}/layouts.js.html +10 -10
- package/coverage/lcov-report/{src/constants → constants}/screens.js.html +12 -12
- package/coverage/lcov-report/{src/db → db}/inMemoryView.js.html +13 -13
- package/coverage/lcov-report/{src/db → db}/index.html +27 -42
- package/coverage/lcov-report/{src/db → db}/index.js.html +18 -18
- package/coverage/lcov-report/{src/db → db}/linkedRows/LinkController.js.html +160 -22
- package/coverage/lcov-report/{src/db → db}/linkedRows/index.html +22 -37
- package/coverage/lcov-report/{src/db → db}/linkedRows/index.js.html +12 -12
- package/coverage/lcov-report/{src/db → db}/linkedRows/linkUtils.js.html +13 -13
- package/coverage/lcov-report/{src/db → db}/newid.js.html +10 -10
- package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
- package/coverage/lcov-report/{src/events → events}/AutomationEmitter.js.html +10 -10
- package/coverage/lcov-report/{src/events → events}/index.html +10 -10
- package/coverage/lcov-report/{src/events → events}/index.js.html +10 -10
- package/coverage/lcov-report/{src/events → events}/utils.js.html +10 -10
- package/coverage/lcov-report/index.html +161 -671
- package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
- package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
- package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +28 -31
- package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +37 -43
- package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +68 -77
- package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
- package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
- package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +24 -24
- package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +25 -40
- package/coverage/lcov-report/{src/tests/utilities/index.js.html → middleware/selfhost.js.html} +30 -33
- package/coverage/lcov-report/{src/middleware/utils.ts.html → middleware/utils.js.html} +13 -19
- package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +12 -12
- package/coverage/lcov-report/{src/utilities → utilities}/centralPath.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/csvParser.js.html +10 -10
- package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
- package/coverage/lcov-report/{src/utilities → utilities}/index.html +61 -76
- package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +53 -77
- package/coverage/lcov-report/{src/utilities → utilities}/plugins.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/queue/inMemoryQueue.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/queue/index.html +10 -10
- package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
- package/coverage/lcov-report/{src/api/routes/role.ts.html → utilities/routing/index.js.html} +42 -39
- package/coverage/lcov-report/{src/migrations → utilities/rowProcessor}/index.html +37 -22
- package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +344 -113
- package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
- package/coverage/lcov-report/{src/utilities → utilities}/scriptRunner.js.html +10 -10
- package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
- package/coverage/lcov-report/{src/utilities → utilities}/statusCodes.js.html +10 -10
- package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +27 -27
- package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +46 -34
- package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/usageQuoteReset.js.html +10 -10
- package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +35 -29
- package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +61 -76
- package/coverage/lcov.info +6772 -19273
- package/dist/api/controllers/apikeys.js +9 -12
- package/dist/api/controllers/application.js +45 -48
- package/dist/api/controllers/automation.js +84 -104
- package/dist/api/controllers/cloud.js +71 -84
- package/dist/api/controllers/component.js +2 -4
- package/dist/api/controllers/datasource.js +92 -144
- package/dist/api/controllers/deploy/Deployment.js +6 -10
- package/dist/api/controllers/deploy/index.js +16 -13
- package/dist/api/controllers/dev.js +81 -96
- package/dist/api/controllers/layout.js +15 -18
- package/dist/api/controllers/metadata.js +37 -51
- package/dist/api/controllers/permission.js +43 -52
- package/dist/api/controllers/plugin/index.js +7 -6
- package/dist/api/controllers/public/applications.js +9 -17
- package/dist/api/controllers/public/tables.js +9 -29
- package/dist/api/controllers/query/import/index.js +2 -1
- package/dist/api/controllers/query/index.js +13 -10
- package/dist/api/controllers/query/validation.js +33 -41
- package/dist/api/controllers/role.js +27 -29
- package/dist/api/controllers/routing.js +58 -71
- package/dist/api/controllers/row/ExternalRequest.js +8 -12
- package/dist/api/controllers/row/external.js +3 -3
- package/dist/api/controllers/row/index.js +7 -16
- package/dist/api/controllers/row/internal.js +12 -11
- package/dist/api/controllers/row/internalSearch.js +80 -95
- package/dist/api/controllers/row/staticFormula.js +75 -85
- package/dist/api/controllers/row/utils.js +84 -118
- package/dist/api/controllers/screen.js +66 -81
- package/dist/api/controllers/script.js +6 -13
- package/dist/api/controllers/static/index.js +11 -9
- package/dist/api/controllers/table/bulkFormula.js +35 -47
- package/dist/api/controllers/table/external.js +57 -67
- package/dist/api/controllers/table/index.js +33 -66
- package/dist/api/controllers/table/internal.js +6 -5
- package/dist/api/controllers/table/utils.js +35 -39
- package/dist/api/controllers/templates.js +10 -17
- package/dist/api/controllers/user.js +70 -82
- package/dist/api/controllers/view/exporters.js +4 -8
- package/dist/api/controllers/view/index.js +153 -201
- package/dist/api/controllers/view/utils.js +121 -151
- package/dist/api/index.js +34 -38
- package/dist/api/routes/analytics.js +3 -29
- package/dist/api/routes/apikeys.js +7 -33
- package/dist/api/routes/application.js +9 -8
- package/dist/api/routes/auth.js +2 -1
- package/dist/api/routes/automation.js +20 -46
- package/dist/api/routes/backup.js +4 -3
- package/dist/api/routes/cloud.js +6 -32
- package/dist/api/routes/component.js +6 -32
- package/dist/api/routes/datasource.js +13 -39
- package/dist/api/routes/deploy.js +8 -34
- package/dist/api/routes/dev.js +10 -36
- package/dist/api/routes/integration.js +7 -10
- package/dist/api/routes/layout.js +7 -33
- package/dist/api/routes/metadata.js +10 -36
- package/dist/api/routes/migrations.js +6 -32
- package/dist/api/routes/permission.js +12 -38
- package/dist/api/routes/plugin.js +5 -5
- package/dist/api/routes/public/index.js +9 -9
- package/dist/api/routes/query.js +15 -42
- package/dist/api/routes/role.js +10 -36
- package/dist/api/routes/routing.js +6 -32
- package/dist/api/routes/row.js +11 -12
- package/dist/api/routes/screen.js +9 -35
- package/dist/api/routes/script.js +6 -32
- package/dist/api/routes/static.js +9 -9
- package/dist/api/routes/table.js +13 -40
- package/dist/api/routes/templates.js +7 -33
- package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
- package/dist/api/routes/user.js +13 -40
- package/dist/api/routes/utils/validators.js +126 -142
- package/dist/api/routes/view.js +12 -38
- package/dist/api/routes/webhook.js +2 -1
- package/dist/app.js +4 -3
- package/dist/automations/tests/utilities/index.js +12 -21
- package/dist/automations/triggers.js +6 -5
- package/dist/automations/utils.js +8 -9
- package/dist/constants/index.js +5 -3
- package/dist/constants/screens.js +2 -2
- package/dist/db/inMemoryView.js +3 -3
- package/dist/db/linkedRows/LinkController.js +31 -4
- package/dist/db/linkedRows/index.js +2 -2
- package/dist/db/linkedRows/linkUtils.js +3 -3
- package/dist/db/utils.js +119 -146
- package/dist/db/views/staticViews.js +4 -4
- package/dist/integrations/elasticsearch.js +2 -26
- package/dist/integrations/googlesheets.js +6 -4
- package/dist/integrations/index.js +6 -15
- package/dist/integrations/s3.js +1 -157
- package/dist/middleware/appInfo.js +9 -14
- package/dist/middleware/authorized.js +21 -22
- package/dist/middleware/builder.js +40 -41
- package/dist/middleware/currentapp.js +37 -39
- package/dist/middleware/joi-validator.js +10 -17
- package/dist/middleware/publicApi.js +6 -5
- package/dist/middleware/resourceId.js +9 -16
- package/dist/middleware/selfhost.js +4 -5
- package/dist/middleware/utils.js +2 -5
- package/dist/migrations/functions/appUrls.js +2 -2
- package/dist/migrations/functions/backfill/global.js +1 -1
- package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
- package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
- package/dist/migrations/functions/userEmailViewCasing.js +3 -3
- package/dist/package.json +44 -10
- package/dist/sdk/app/backups/exports.js +2 -1
- package/dist/sdk/app/backups/imports.js +3 -2
- package/dist/sdk/app/tables/index.js +5 -5
- package/dist/startup.js +4 -4
- package/dist/tests/utilities/TestConfiguration.js +36 -30
- package/dist/tests/utilities/structures.js +4 -3
- package/dist/threads/automation.js +16 -15
- package/dist/threads/query.js +20 -17
- package/dist/threads/utils.js +9 -11
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +2 -4
- package/dist/utilities/fileSystem/clientLibrary.js +12 -12
- package/dist/utilities/fileSystem/index.js +3 -3
- package/dist/utilities/fileSystem/utilities.js +22 -0
- package/dist/utilities/global.js +66 -87
- package/dist/utilities/index.js +75 -102
- package/dist/utilities/redis.js +65 -100
- package/dist/utilities/routing/index.js +23 -27
- package/dist/utilities/rowProcessor/index.js +191 -124
- package/dist/utilities/rowProcessor/utils.js +26 -35
- package/dist/utilities/security.js +35 -39
- package/dist/utilities/usageQuota/rows.js +49 -56
- package/dist/utilities/users.js +28 -31
- package/dist/utilities/workerRequests.js +82 -115
- package/dist/watch.js +2 -1
- package/package.json +45 -11
- package/scripts/exportAppTemplate.js +2 -2
- package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
- package/scripts/localdomain.js +6 -34
- package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
- package/src/api/controllers/application.ts +42 -56
- package/src/api/controllers/auth.ts +3 -4
- package/src/api/controllers/{automation.ts → automation.js} +48 -48
- package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
- package/src/api/controllers/component.ts +1 -2
- package/src/api/controllers/{datasource.ts → datasource.js} +47 -100
- package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
- package/src/api/controllers/deploy/index.ts +25 -13
- package/src/api/controllers/{dev.ts → dev.js} +37 -31
- package/src/api/controllers/{layout.ts → layout.js} +8 -8
- package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
- package/src/api/controllers/{permission.ts → permission.js} +46 -49
- package/src/api/controllers/plugin/index.ts +5 -4
- package/src/api/controllers/public/applications.ts +9 -15
- package/src/api/controllers/public/tables.ts +2 -2
- package/src/api/controllers/query/import/index.ts +3 -2
- package/src/api/controllers/query/index.ts +14 -11
- package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
- package/src/api/controllers/{role.ts → role.js} +25 -21
- package/src/api/controllers/{routing.ts → routing.js} +34 -37
- package/src/api/controllers/row/ExternalRequest.ts +11 -9
- package/src/api/controllers/row/external.js +3 -3
- package/src/api/controllers/row/index.ts +9 -17
- package/src/api/controllers/row/internal.js +12 -11
- package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
- package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +23 -28
- package/src/api/controllers/row/{utils.ts → utils.js} +18 -25
- package/src/api/controllers/screen.ts +6 -10
- package/src/api/controllers/script.js +11 -0
- package/src/api/controllers/static/index.ts +13 -9
- package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
- package/src/api/controllers/table/{external.ts → external.js} +54 -86
- package/src/api/controllers/table/{index.ts → index.js} +17 -17
- package/src/api/controllers/table/internal.ts +6 -5
- package/src/api/controllers/table/utils.ts +21 -26
- package/src/api/controllers/{templates.ts → templates.js} +7 -10
- package/src/api/controllers/{user.ts → user.js} +49 -47
- package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
- package/src/api/controllers/view/{index.ts → index.js} +27 -36
- package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
- package/src/api/{index.ts → index.js} +22 -15
- package/src/api/routes/analytics.js +9 -0
- package/src/api/routes/apikeys.js +12 -0
- package/src/api/routes/application.ts +9 -17
- package/src/api/routes/auth.ts +2 -2
- package/src/api/routes/automation.js +85 -0
- package/src/api/routes/backup.ts +4 -8
- package/src/api/routes/cloud.js +14 -0
- package/src/api/routes/component.js +14 -0
- package/src/api/routes/datasource.js +51 -0
- package/src/api/routes/deploy.js +17 -0
- package/src/api/routes/dev.js +26 -0
- package/src/api/routes/integration.js +12 -0
- package/src/api/routes/layout.js +16 -0
- package/src/api/routes/{metadata.ts → metadata.js} +13 -13
- package/src/api/routes/migrations.js +14 -0
- package/src/api/routes/permission.js +33 -0
- package/src/api/routes/plugin.ts +6 -14
- package/src/api/routes/public/index.ts +10 -10
- package/src/api/routes/public/tests/compare.spec.js +1 -1
- package/src/api/routes/{query.ts → query.js} +22 -19
- package/src/api/routes/role.js +15 -0
- package/src/api/routes/routing.js +14 -0
- package/src/api/routes/row.ts +15 -13
- package/src/api/routes/screen.js +18 -0
- package/src/api/routes/script.js +10 -0
- package/src/api/routes/static.ts +10 -7
- package/src/api/routes/{table.ts → table.js} +13 -10
- package/src/api/routes/templates.js +16 -0
- package/src/api/routes/tests/analytics.spec.js +1 -1
- package/src/api/routes/tests/backup.spec.js +1 -9
- package/src/api/routes/tests/permissions.spec.js +1 -2
- package/src/api/routes/tests/query.spec.js +10 -15
- package/src/api/routes/tests/role.spec.js +9 -7
- package/src/api/routes/tests/routing.spec.js +1 -2
- package/src/api/routes/tests/row.spec.js +4 -3
- package/src/api/routes/tests/static.spec.js +2 -2
- package/src/api/routes/tests/table.spec.js +35 -38
- package/src/api/routes/tests/user.spec.js +1 -2
- package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
- package/src/api/routes/user.js +53 -0
- package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
- package/src/api/routes/view.js +31 -0
- package/src/api/routes/webhook.ts +2 -2
- package/src/app.ts +4 -3
- package/src/automations/tests/updateRow.spec.js +1 -0
- package/src/automations/tests/utilities/index.js +4 -10
- package/src/automations/triggers.js +6 -5
- package/src/automations/utils.ts +12 -9
- package/src/constants/index.js +5 -3
- package/src/constants/screens.js +2 -2
- package/src/db/inMemoryView.js +3 -3
- package/src/db/linkedRows/LinkController.js +50 -4
- package/src/db/linkedRows/index.js +2 -2
- package/src/db/linkedRows/linkUtils.js +3 -3
- package/src/db/tests/linkController.spec.js +57 -73
- package/src/db/tests/linkTests.spec.js +14 -17
- package/src/db/{utils.ts → utils.js} +93 -77
- package/src/db/views/staticViews.js +4 -4
- package/src/integrations/base/sql.ts +1 -1
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/elasticsearch.ts +2 -32
- package/src/integrations/googlesheets.ts +7 -4
- package/src/integrations/index.ts +41 -45
- package/src/integrations/s3.ts +3 -179
- package/src/integrations/tests/s3.spec.ts +1 -85
- package/src/middleware/appInfo.js +19 -0
- package/src/middleware/authorized.ts +28 -21
- package/src/middleware/{builder.ts → builder.js} +15 -17
- package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
- package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
- package/src/middleware/publicApi.js +21 -0
- package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
- package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
- package/src/middleware/tests/authorized.spec.js +6 -5
- package/src/middleware/tests/currentapp.spec.js +63 -118
- package/src/middleware/{utils.ts → utils.js} +1 -3
- package/src/migrations/functions/appUrls.ts +2 -2
- package/src/migrations/functions/backfill/app/tables.ts +5 -2
- package/src/migrations/functions/backfill/global.ts +1 -1
- package/src/migrations/functions/tests/appUrls.spec.js +4 -4
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
- package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
- package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
- package/src/migrations/functions/userEmailViewCasing.ts +3 -3
- package/src/module.d.ts +14 -0
- package/src/sdk/app/backups/exports.ts +3 -5
- package/src/sdk/app/backups/imports.ts +14 -7
- package/src/sdk/app/backups/statistics.ts +18 -9
- package/src/sdk/app/tables/index.ts +8 -7
- package/src/startup.ts +2 -2
- package/src/tests/utilities/TestConfiguration.js +36 -42
- package/src/tests/utilities/structures.js +4 -3
- package/src/threads/automation.ts +16 -15
- package/src/threads/query.ts +17 -12
- package/src/threads/utils.ts +5 -4
- package/src/utilities/budibaseDir.js +3 -0
- package/src/utilities/fileSystem/clientLibrary.js +12 -12
- package/src/utilities/fileSystem/index.js +8 -8
- package/src/utilities/fileSystem/utilities.js +36 -0
- package/src/utilities/global.js +127 -0
- package/src/utilities/{index.ts → index.js} +32 -40
- package/src/utilities/{redis.ts → redis.js} +20 -21
- package/src/utilities/routing/index.js +25 -0
- package/src/utilities/rowProcessor/{index.ts → index.js} +142 -65
- package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
- package/src/utilities/security.js +71 -0
- package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
- package/src/utilities/{users.ts → users.js} +13 -11
- package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
- package/src/watch.ts +3 -2
- package/tsconfig.json +1 -3
- package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
- package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
- package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
- package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
- package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
- package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
- package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
- package/coverage/lcov-report/src/api/controllers/index.html +0 -431
- package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
- package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
- package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
- package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
- package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
- package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
- package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
- package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -142
- package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
- package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
- package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
- package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
- package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
- package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +0 -163
- package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
- package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
- package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
- package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
- package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
- package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
- package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
- package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
- package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
- package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
- package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
- package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2320
- package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
- package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
- package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
- package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -688
- package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
- package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
- package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
- package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
- package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
- package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
- package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
- package/coverage/lcov-report/src/api/routes/dev.ts.html +0 -199
- package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
- package/coverage/lcov-report/src/api/routes/integration.ts.html +0 -133
- package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
- package/coverage/lcov-report/src/api/routes/permission.ts.html +0 -208
- package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
- package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
- package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
- package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -502
- package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
- package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
- package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
- package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
- package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
- package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
- package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
- package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
- package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
- package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
- package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
- package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +0 -367
- package/coverage/lcov-report/src/app.ts.html +0 -400
- package/coverage/lcov-report/src/automations/logging/index.html +0 -116
- package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
- package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -367
- package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -334
- package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
- package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +0 -256
- package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
- package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +0 -2023
- package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +0 -541
- package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +0 -427
- package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +0 -403
- package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +0 -559
- package/coverage/lcov-report/src/db/dynamoClient.js.html +0 -466
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +0 -226
- package/coverage/lcov-report/src/definitions/datasource.ts.html +0 -235
- package/coverage/lcov-report/src/definitions/index.html +0 -131
- package/coverage/lcov-report/src/environment.js.html +0 -445
- package/coverage/lcov-report/src/index.html +0 -191
- package/coverage/lcov-report/src/index.ts.html +0 -133
- package/coverage/lcov-report/src/integrations/airtable.ts.html +0 -529
- package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
- package/coverage/lcov-report/src/integrations/base/index.html +0 -161
- package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
- package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
- package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
- package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
- package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
- package/coverage/lcov-report/src/integrations/dynamodb.ts.html +0 -745
- package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
- package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
- package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1312
- package/coverage/lcov-report/src/integrations/index.html +0 -371
- package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
- package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
- package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
- package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -952
- package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
- package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
- package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
- package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
- package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
- package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
- package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
- package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
- package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1006
- package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
- package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
- package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
- package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
- package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
- package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
- package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
- package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
- package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
- package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
- package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
- package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
- package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
- package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
- package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
- package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
- package/coverage/lcov-report/src/migrations/functions/index.html +0 -146
- package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
- package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
- package/coverage/lcov-report/src/migrations/index.ts.html +0 -403
- package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
- package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
- package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
- package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
- package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
- package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
- package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
- package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
- package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
- package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
- package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
- package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
- package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
- package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
- package/coverage/lcov-report/src/startup.ts.html +0 -499
- package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +0 -1885
- package/coverage/lcov-report/src/tests/utilities/controllers.js.html +0 -133
- package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
- package/coverage/lcov-report/src/tests/utilities/structures.js.html +0 -649
- package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
- package/coverage/lcov-report/src/threads/index.html +0 -161
- package/coverage/lcov-report/src/threads/index.ts.html +0 -418
- package/coverage/lcov-report/src/threads/query.ts.html +0 -961
- package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
- package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +0 -547
- package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +0 -1141
- package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +0 -148
- package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
- package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
- package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
- package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +0 -370
- package/coverage/lcov-report/src/watch.ts.html +0 -196
- package/coverage/lcov-report/src/websocket.ts.html +0 -163
- package/dist/db/defaultData/datasource_bb_default.js +0 -565
- package/dist/db/defaultData/employeeImport.js +0 -153
- package/dist/db/defaultData/expensesImport.js +0 -115
- package/dist/db/defaultData/inventoryImport.js +0 -107
- package/dist/db/defaultData/jobsImport.js +0 -150
- package/dist/db/linkedRows/LinkDocument.js +0 -32
- package/dist/utilities/rowProcessor/map.js +0 -96
- package/jest.config.ts +0 -33
- package/src/api/controllers/script.ts +0 -12
- package/src/api/routes/analytics.ts +0 -9
- package/src/api/routes/apikeys.ts +0 -12
- package/src/api/routes/automation.ts +0 -87
- package/src/api/routes/cloud.ts +0 -18
- package/src/api/routes/component.ts +0 -14
- package/src/api/routes/datasource.ts +0 -60
- package/src/api/routes/deploy.ts +0 -21
- package/src/api/routes/dev.ts +0 -38
- package/src/api/routes/integration.ts +0 -16
- package/src/api/routes/layout.ts +0 -16
- package/src/api/routes/migrations.ts +0 -14
- package/src/api/routes/permission.ts +0 -41
- package/src/api/routes/role.ts +0 -24
- package/src/api/routes/routing.ts +0 -14
- package/src/api/routes/screen.ts +0 -23
- package/src/api/routes/script.ts +0 -10
- package/src/api/routes/templates.ts +0 -16
- package/src/api/routes/user.ts +0 -51
- package/src/api/routes/view.ts +0 -34
- package/src/db/defaultData/datasource_bb_default.js +0 -646
- package/src/db/defaultData/employeeImport.js +0 -152
- package/src/db/defaultData/expensesImport.js +0 -114
- package/src/db/defaultData/inventoryImport.js +0 -106
- package/src/db/defaultData/jobsImport.js +0 -158
- package/src/db/linkedRows/LinkDocument.js +0 -47
- package/src/middleware/appInfo.ts +0 -20
- package/src/middleware/publicApi.ts +0 -21
- package/src/utilities/budibaseDir.ts +0 -3
- package/src/utilities/global.ts +0 -138
- package/src/utilities/routing/index.ts +0 -32
- package/src/utilities/rowProcessor/map.js +0 -95
- package/src/utilities/security.ts +0 -65
package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.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/role.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</a> role.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">91.
|
|
26
|
+
<span class="strong">91.93% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>57/62</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">83.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>20/24</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">93.
|
|
47
|
+
<span class="strong">93.44% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>57/61</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -167,10 +167,11 @@
|
|
|
167
167
|
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
168
|
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
169
|
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a
|
|
171
|
-
<
|
|
172
|
-
<
|
|
173
|
-
<
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
174
175
|
<span class="cline-any cline-neutral"> </span>
|
|
175
176
|
<span class="cline-any cline-neutral"> </span>
|
|
176
177
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -180,6 +181,11 @@
|
|
|
180
181
|
<span class="cline-any cline-neutral"> </span>
|
|
181
182
|
<span class="cline-any cline-neutral"> </span>
|
|
182
183
|
<span class="cline-any cline-neutral"> </span>
|
|
184
|
+
<span class="cline-any cline-yes">44x</span>
|
|
185
|
+
<span class="cline-any cline-yes">44x</span>
|
|
186
|
+
<span class="cline-any cline-yes">44x</span>
|
|
187
|
+
<span class="cline-any cline-neutral"> </span>
|
|
188
|
+
<span class="cline-any cline-yes">44x</span>
|
|
183
189
|
<span class="cline-any cline-neutral"> </span>
|
|
184
190
|
<span class="cline-any cline-neutral"> </span>
|
|
185
191
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -226,6 +232,8 @@
|
|
|
226
232
|
<span class="cline-any cline-no"> </span>
|
|
227
233
|
<span class="cline-any cline-neutral"> </span>
|
|
228
234
|
<span class="cline-any cline-yes">7x</span>
|
|
235
|
+
<span class="cline-any cline-neutral"> </span>
|
|
236
|
+
<span class="cline-any cline-neutral"> </span>
|
|
229
237
|
<span class="cline-any cline-yes">7x</span>
|
|
230
238
|
<span class="cline-any cline-yes">1x</span>
|
|
231
239
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -271,24 +279,26 @@
|
|
|
271
279
|
<span class="cline-any cline-yes">1x</span>
|
|
272
280
|
<span class="cline-any cline-yes">1x</span>
|
|
273
281
|
<span class="cline-any cline-neutral"> </span>
|
|
274
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
275
|
-
|
|
282
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
283
|
+
Role,
|
|
284
|
+
getRole,
|
|
285
|
+
isBuiltin,
|
|
286
|
+
getAllRoles,
|
|
287
|
+
} = require("@budibase/backend-core/roles")
|
|
288
|
+
const {
|
|
276
289
|
generateRoleID,
|
|
277
290
|
getUserMetadataParams,
|
|
278
291
|
InternalTables,
|
|
279
|
-
}
|
|
280
|
-
|
|
292
|
+
} = require("../../db/utils")
|
|
293
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
294
|
+
const { events } = require("@budibase/backend-core")
|
|
281
295
|
|
|
282
296
|
const UpdateRolesOptions = {
|
|
283
297
|
CREATED: "created",
|
|
284
298
|
REMOVED: "removed",
|
|
285
299
|
}
|
|
286
300
|
|
|
287
|
-
async function updateRolesOnUserTable(
|
|
288
|
-
db: Database,
|
|
289
|
-
roleId: string,
|
|
290
|
-
updateOption: string
|
|
291
|
-
) {
|
|
301
|
+
async function updateRolesOnUserTable(db, roleId, updateOption) {
|
|
292
302
|
const table = await db.get(InternalTables.USER_METADATA)
|
|
293
303
|
const schema = table.schema
|
|
294
304
|
const remove = updateOption === UpdateRolesOptions.REMOVED
|
|
@@ -306,30 +316,32 @@ async function updateRolesOnUserTable(
|
|
|
306
316
|
break
|
|
307
317
|
}
|
|
308
318
|
}
|
|
309
|
-
if (updated) {
|
|
319
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (updated) {
|
|
310
320
|
await db.put(table)
|
|
311
321
|
}
|
|
312
322
|
}
|
|
313
323
|
|
|
314
|
-
|
|
315
|
-
ctx.body = await
|
|
324
|
+
exports.fetch = async function (ctx) {
|
|
325
|
+
ctx.body = await getAllRoles()
|
|
316
326
|
}
|
|
317
327
|
|
|
318
|
-
|
|
319
|
-
ctx.body = await
|
|
328
|
+
exports.find = async function (ctx) {
|
|
329
|
+
ctx.body = await getRole(ctx.params.roleId)
|
|
320
330
|
}
|
|
321
331
|
|
|
322
|
-
|
|
323
|
-
const db =
|
|
332
|
+
exports.save = async function (ctx) {
|
|
333
|
+
const db = getAppDB()
|
|
324
334
|
let { _id, name, inherits, permissionId } = ctx.request.body
|
|
325
335
|
let isCreate = false
|
|
326
336
|
if (!_id) {
|
|
327
337
|
_id = generateRoleID()
|
|
328
338
|
isCreate = true
|
|
329
|
-
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
339
|
+
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (isBuiltin(_id)) {
|
|
330
340
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot update builtin roles.")</span>
|
|
331
341
|
}
|
|
332
|
-
const role = new
|
|
342
|
+
const role = new Role(_id, name)
|
|
343
|
+
.addPermission(permissionId)
|
|
344
|
+
.addInheritance(inherits)
|
|
333
345
|
if (ctx.request.body._rev) {
|
|
334
346
|
role._rev = ctx.request.body._rev
|
|
335
347
|
}
|
|
@@ -345,22 +357,22 @@ export async function save(ctx: BBContext) {
|
|
|
345
357
|
ctx.message = `Role '${role.name}' created successfully.`
|
|
346
358
|
}
|
|
347
359
|
|
|
348
|
-
|
|
349
|
-
const db =
|
|
360
|
+
exports.destroy = async function (ctx) {
|
|
361
|
+
const db = getAppDB()
|
|
350
362
|
const roleId = ctx.params.roleId
|
|
351
363
|
const role = await db.get(roleId)
|
|
352
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
364
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (isBuiltin(roleId)) {
|
|
353
365
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete builtin role.")</span>
|
|
354
366
|
}
|
|
355
367
|
// first check no users actively attached to role
|
|
356
368
|
const users = (
|
|
357
369
|
await db.allDocs(
|
|
358
|
-
getUserMetadataParams(
|
|
370
|
+
getUserMetadataParams(null, {
|
|
359
371
|
include_docs: true,
|
|
360
372
|
})
|
|
361
373
|
)
|
|
362
|
-
).rows.map(<span class="fstat-no" title="function not covered" >
|
|
363
|
-
const usersWithRole = users.filter(<span class="fstat-no" title="function not covered" >
|
|
374
|
+
).rows.map(<span class="fstat-no" title="function not covered" >ro</span>w => <span class="cstat-no" title="statement not covered" >row.doc)</span>
|
|
375
|
+
const usersWithRole = users.filter(<span class="fstat-no" title="function not covered" >us</span>er => <span class="cstat-no" title="statement not covered" >user.roleId === roleId)</span>
|
|
364
376
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (usersWithRole.length !== 0) {
|
|
365
377
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete role when it is in use.")</span>
|
|
366
378
|
}
|
|
@@ -382,16 +394,16 @@ export async function destroy(ctx: BBContext) {
|
|
|
382
394
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
383
395
|
Code coverage generated by
|
|
384
396
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
385
|
-
at
|
|
397
|
+
at Thu Nov 24 2022 13:54:57 GMT+0000 (Coordinated Universal Time)
|
|
386
398
|
</div>
|
|
387
|
-
<script src="
|
|
399
|
+
<script src="../../prettify.js"></script>
|
|
388
400
|
<script>
|
|
389
401
|
window.onload = function () {
|
|
390
402
|
prettyPrint();
|
|
391
403
|
};
|
|
392
404
|
</script>
|
|
393
|
-
<script src="
|
|
394
|
-
<script src="
|
|
405
|
+
<script src="../../sorter.js"></script>
|
|
406
|
+
<script src="../../block-navigation.js"></script>
|
|
395
407
|
</body>
|
|
396
408
|
</html>
|
|
397
409
|
|
package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.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/routing.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</a> routing.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">89.
|
|
26
|
+
<span class="strong">89.79% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>44/49</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">64.28% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>9/14</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">89.
|
|
47
|
+
<span class="strong">89.79% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>44/49</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -155,22 +155,19 @@
|
|
|
155
155
|
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
156
|
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
157
|
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
162
|
-
<span class="cline-any cline-yes">44x</span>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
163
159
|
<span class="cline-any cline-neutral"> </span>
|
|
164
160
|
<span class="cline-any cline-neutral"> </span>
|
|
165
|
-
<span class="cline-any cline-yes">44x</span>
|
|
166
161
|
<span class="cline-any cline-neutral"> </span>
|
|
162
|
+
<span class="cline-any cline-yes">44x</span>
|
|
167
163
|
<span class="cline-any cline-neutral"> </span>
|
|
164
|
+
<span class="cline-any cline-yes">44x</span>
|
|
168
165
|
<span class="cline-any cline-neutral"> </span>
|
|
169
166
|
<span class="cline-any cline-neutral"> </span>
|
|
170
167
|
<span class="cline-any cline-yes">3x</span>
|
|
171
168
|
<span class="cline-any cline-neutral"> </span>
|
|
172
169
|
<span class="cline-any cline-neutral"> </span>
|
|
173
|
-
<span class="cline-any cline-
|
|
170
|
+
<span class="cline-any cline-yes">44x</span>
|
|
174
171
|
<span class="cline-any cline-yes">6x</span>
|
|
175
172
|
<span class="cline-any cline-no"> </span>
|
|
176
173
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -178,7 +175,7 @@
|
|
|
178
175
|
<span class="cline-any cline-yes">6x</span>
|
|
179
176
|
<span class="cline-any cline-neutral"> </span>
|
|
180
177
|
<span class="cline-any cline-neutral"> </span>
|
|
181
|
-
<span class="cline-any cline-
|
|
178
|
+
<span class="cline-any cline-yes">44x</span>
|
|
182
179
|
<span class="cline-any cline-yes">6x</span>
|
|
183
180
|
<span class="cline-any cline-yes">6x</span>
|
|
184
181
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -193,7 +190,7 @@
|
|
|
193
190
|
<span class="cline-any cline-yes">6x</span>
|
|
194
191
|
<span class="cline-any cline-neutral"> </span>
|
|
195
192
|
<span class="cline-any cline-neutral"> </span>
|
|
196
|
-
<span class="cline-any cline-
|
|
193
|
+
<span class="cline-any cline-yes">44x</span>
|
|
197
194
|
<span class="cline-any cline-yes">6x</span>
|
|
198
195
|
<span class="cline-any cline-neutral"> </span>
|
|
199
196
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -203,7 +200,6 @@
|
|
|
203
200
|
<span class="cline-any cline-neutral"> </span>
|
|
204
201
|
<span class="cline-any cline-neutral"> </span>
|
|
205
202
|
<span class="cline-any cline-neutral"> </span>
|
|
206
|
-
<span class="cline-any cline-neutral"> </span>
|
|
207
203
|
<span class="cline-any cline-yes">3x</span>
|
|
208
204
|
<span class="cline-any cline-yes">3x</span>
|
|
209
205
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -224,8 +220,6 @@
|
|
|
224
220
|
<span class="cline-any cline-yes">2x</span>
|
|
225
221
|
<span class="cline-any cline-yes">2x</span>
|
|
226
222
|
<span class="cline-any cline-yes">2x</span>
|
|
227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
228
|
-
<span class="cline-any cline-neutral"> </span>
|
|
229
223
|
<span class="cline-any cline-yes">2x</span>
|
|
230
224
|
<span class="cline-any cline-yes">2x</span>
|
|
231
225
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -253,44 +247,43 @@
|
|
|
253
247
|
<span class="cline-any cline-neutral"> </span>
|
|
254
248
|
<span class="cline-any cline-yes">2x</span>
|
|
255
249
|
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
257
|
-
|
|
258
|
-
|
|
250
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { getRoutingInfo } = require("../../utilities/routing")
|
|
251
|
+
const {
|
|
252
|
+
getUserRoleHierarchy,
|
|
253
|
+
BUILTIN_ROLE_IDS,
|
|
254
|
+
} = require("@budibase/backend-core/roles")
|
|
259
255
|
|
|
260
256
|
const URL_SEPARATOR = "/"
|
|
261
257
|
|
|
262
|
-
|
|
263
|
-
json
|
|
264
|
-
|
|
265
|
-
this.json = {}
|
|
266
|
-
}
|
|
258
|
+
function Routing() {
|
|
259
|
+
this.json = {}
|
|
260
|
+
}
|
|
267
261
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
<span class="cstat-no" title="statement not covered" >
|
|
271
|
-
}
|
|
272
|
-
// replace the first value with the home route
|
|
273
|
-
return URL_SEPARATOR + fullpath.split(URL_SEPARATOR)[1]
|
|
262
|
+
Routing.prototype.getTopLevel = function (fullpath) {
|
|
263
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (fullpath.charAt(0) !== URL_SEPARATOR) {
|
|
264
|
+
<span class="cstat-no" title="statement not covered" > fullpath = URL_SEPARATOR + fullpath</span>
|
|
274
265
|
}
|
|
266
|
+
// replace the first value with the home route
|
|
267
|
+
return URL_SEPARATOR + fullpath.split(URL_SEPARATOR)[1]
|
|
268
|
+
}
|
|
275
269
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
270
|
+
Routing.prototype.getScreensProp = function (fullpath) {
|
|
271
|
+
const topLevel = this.getTopLevel(fullpath)
|
|
272
|
+
if (!this.json[topLevel]) {
|
|
273
|
+
this.json[topLevel] = {
|
|
274
|
+
subpaths: {},
|
|
282
275
|
}
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
}
|
|
276
|
+
}
|
|
277
|
+
if (!this.json[topLevel].subpaths[fullpath]) {
|
|
278
|
+
this.json[topLevel].subpaths[fullpath] = {
|
|
279
|
+
screens: {},
|
|
287
280
|
}
|
|
288
|
-
return this.json[topLevel].subpaths[fullpath].screens
|
|
289
281
|
}
|
|
282
|
+
return this.json[topLevel].subpaths[fullpath].screens
|
|
283
|
+
}
|
|
290
284
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
}
|
|
285
|
+
Routing.prototype.addScreenId = function (fullpath, roleId, screenId) {
|
|
286
|
+
this.getScreensProp(fullpath)[roleId] = screenId
|
|
294
287
|
}
|
|
295
288
|
|
|
296
289
|
/**
|
|
@@ -311,28 +304,26 @@ async function getRoutingStructure() {
|
|
|
311
304
|
return { routes: routing.json }
|
|
312
305
|
}
|
|
313
306
|
|
|
314
|
-
|
|
307
|
+
exports.fetch = async ctx => {
|
|
315
308
|
ctx.body = await getRoutingStructure()
|
|
316
309
|
}
|
|
317
310
|
|
|
318
|
-
|
|
311
|
+
exports.clientFetch = async ctx => {
|
|
319
312
|
const routing = await getRoutingStructure()
|
|
320
|
-
let roleId = ctx.user
|
|
321
|
-
const roleIds =
|
|
322
|
-
|
|
323
|
-
})) as string[]
|
|
324
|
-
for (let topLevel of Object.values(routing.routes) as any) {
|
|
313
|
+
let roleId = ctx.user.role._id
|
|
314
|
+
const roleIds = await getUserRoleHierarchy(roleId)
|
|
315
|
+
for (let topLevel of Object.values(routing.routes)) {
|
|
325
316
|
for (let subpathKey of Object.keys(topLevel.subpaths)) {
|
|
326
317
|
let found = false
|
|
327
318
|
const subpath = topLevel.subpaths[subpathKey]
|
|
328
319
|
const roleOptions = Object.keys(subpath.screens)
|
|
329
320
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (roleOptions.length === 1 && <span class="branch-1 cbranch-no" title="branch not covered" >!roleOptions[0])</span> {
|
|
330
321
|
<span class="cstat-no" title="statement not covered" > subpath.screenId = subpath.screens[roleOptions[0]]</span>
|
|
331
|
-
<span class="cstat-no" title="statement not covered" > subpath.roleId =
|
|
322
|
+
<span class="cstat-no" title="statement not covered" > subpath.roleId = BUILTIN_ROLE_IDS.BASIC</span>
|
|
332
323
|
<span class="cstat-no" title="statement not covered" > found = true</span>
|
|
333
324
|
} else {
|
|
334
325
|
for (let roleId of roleIds) {
|
|
335
|
-
if
|
|
326
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (roleOptions.indexOf(roleId) !== -1) {
|
|
336
327
|
subpath.screenId = subpath.screens[roleId]
|
|
337
328
|
subpath.roleId = roleId
|
|
338
329
|
found = true
|
|
@@ -355,16 +346,16 @@ export async function clientFetch(ctx: BBContext) {
|
|
|
355
346
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
356
347
|
Code coverage generated by
|
|
357
348
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
358
|
-
at
|
|
349
|
+
at Thu Nov 24 2022 13:54:57 GMT+0000 (Coordinated Universal Time)
|
|
359
350
|
</div>
|
|
360
|
-
<script src="
|
|
351
|
+
<script src="../../prettify.js"></script>
|
|
361
352
|
<script>
|
|
362
353
|
window.onload = function () {
|
|
363
354
|
prettyPrint();
|
|
364
355
|
};
|
|
365
356
|
</script>
|
|
366
|
-
<script src="
|
|
367
|
-
<script src="
|
|
357
|
+
<script src="../../sorter.js"></script>
|
|
358
|
+
<script src="../../block-navigation.js"></script>
|
|
368
359
|
</body>
|
|
369
360
|
</html>
|
|
370
361
|
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for
|
|
6
|
+
<title>Code coverage report for api/controllers/row/external.js</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="
|
|
9
|
-
<link rel="stylesheet" href="
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="
|
|
8
|
+
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
|
11
11
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
12
|
<style type='text/css'>
|
|
13
13
|
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(
|
|
14
|
+
background-image: url(../../../sort-arrow-sprite.png);
|
|
15
15
|
}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
@@ -19,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> external.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -580,7 +580,7 @@ const {
|
|
|
580
580
|
breakRowIdField,
|
|
581
581
|
} = require("../../../integrations/utils")
|
|
582
582
|
const ExternalRequest = require("./ExternalRequest")
|
|
583
|
-
const {
|
|
583
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
584
584
|
const exporters = require("../view/exporters")
|
|
585
585
|
const { apiFileReturn } = require("../../../utilities/fileSystem")
|
|
586
586
|
|
|
@@ -737,7 +737,7 @@ exports.validate = <span class="fstat-no" title="function not covered" >as</span
|
|
|
737
737
|
|
|
738
738
|
exports.exportRows = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
739
739
|
const { datasourceId } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(ctx.params.tableId)</span>
|
|
740
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
740
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
741
741
|
const format = <span class="cstat-no" title="statement not covered" >ctx.query.format</span>
|
|
742
742
|
const { columns } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
743
743
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
@@ -780,7 +780,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
780
780
|
const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
|
|
781
781
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
782
782
|
const { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
783
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
783
|
+
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
784
784
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
785
785
|
<span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
|
|
786
786
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Datasource has not been configured for plus API.")</span>
|
|
@@ -829,16 +829,16 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
829
829
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
830
830
|
Code coverage generated by
|
|
831
831
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
832
|
-
at
|
|
832
|
+
at Thu Nov 24 2022 13:54:57 GMT+0000 (Coordinated Universal Time)
|
|
833
833
|
</div>
|
|
834
|
-
<script src="
|
|
834
|
+
<script src="../../../prettify.js"></script>
|
|
835
835
|
<script>
|
|
836
836
|
window.onload = function () {
|
|
837
837
|
prettyPrint();
|
|
838
838
|
};
|
|
839
839
|
</script>
|
|
840
|
-
<script src="
|
|
841
|
-
<script src="
|
|
840
|
+
<script src="../../../sorter.js"></script>
|
|
841
|
+
<script src="../../../block-navigation.js"></script>
|
|
842
842
|
</body>
|
|
843
843
|
</html>
|
|
844
844
|
|