@budibase/server 2.1.32-alpha.7 → 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.e0fdcf54.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/view/index.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/view</a> index.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">90.
|
|
33
|
+
<span class="strong">90.76% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>59/65</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">91.
|
|
47
|
+
<span class="strong">91.26% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>94/103</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -252,16 +252,8 @@
|
|
|
252
252
|
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
253
|
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
254
|
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
-
<a name='L199'></a><a href='#L199'>199</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
|
|
256
|
+
<span class="cline-any cline-yes">44x</span>
|
|
265
257
|
<span class="cline-any cline-yes">44x</span>
|
|
266
258
|
<span class="cline-any cline-yes">44x</span>
|
|
267
259
|
<span class="cline-any cline-yes">44x</span>
|
|
@@ -270,15 +262,6 @@
|
|
|
270
262
|
<span class="cline-any cline-yes">44x</span>
|
|
271
263
|
<span class="cline-any cline-yes">44x</span>
|
|
272
264
|
<span class="cline-any cline-yes">44x</span>
|
|
273
|
-
<span class="cline-any cline-neutral"> </span>
|
|
274
|
-
<span class="cline-any cline-neutral"> </span>
|
|
275
|
-
<span class="cline-any cline-neutral"> </span>
|
|
276
|
-
<span class="cline-any cline-neutral"> </span>
|
|
277
|
-
<span class="cline-any cline-neutral"> </span>
|
|
278
|
-
<span class="cline-any cline-neutral"> </span>
|
|
279
|
-
<span class="cline-any cline-neutral"> </span>
|
|
280
|
-
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-neutral"> </span>
|
|
282
265
|
<span class="cline-any cline-yes">44x</span>
|
|
283
266
|
<span class="cline-any cline-neutral"> </span>
|
|
284
267
|
<span class="cline-any cline-yes">44x</span>
|
|
@@ -364,7 +347,7 @@
|
|
|
364
347
|
<span class="cline-any cline-neutral"> </span>
|
|
365
348
|
<span class="cline-any cline-neutral"> </span>
|
|
366
349
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-
|
|
350
|
+
<span class="cline-any cline-yes">44x</span>
|
|
368
351
|
<span class="cline-any cline-yes">23x</span>
|
|
369
352
|
<span class="cline-any cline-yes">18x</span>
|
|
370
353
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -410,7 +393,6 @@
|
|
|
410
393
|
<span class="cline-any cline-neutral"> </span>
|
|
411
394
|
<span class="cline-any cline-neutral"> </span>
|
|
412
395
|
<span class="cline-any cline-neutral"> </span>
|
|
413
|
-
<span class="cline-any cline-neutral"> </span>
|
|
414
396
|
<span class="cline-any cline-yes">4x</span>
|
|
415
397
|
<span class="cline-any cline-yes">4x</span>
|
|
416
398
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -459,32 +441,24 @@
|
|
|
459
441
|
<span class="cline-any cline-yes">2x</span>
|
|
460
442
|
<span class="cline-any cline-neutral"> </span>
|
|
461
443
|
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
import {
|
|
472
|
-
BBContext,
|
|
473
|
-
Row,
|
|
474
|
-
Table,
|
|
475
|
-
TableExportFormat,
|
|
476
|
-
TableSchema,
|
|
477
|
-
View,
|
|
478
|
-
} from "@budibase/types"
|
|
479
|
-
|
|
444
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const viewTemplate = require("./viewBuilder")
|
|
445
|
+
const { apiFileReturn } = require("../../../utilities/fileSystem")
|
|
446
|
+
const exporters = require("./exporters")
|
|
447
|
+
const { saveView, getView, getViews, deleteView } = require("./utils")
|
|
448
|
+
const { fetchView } = require("../row")
|
|
449
|
+
const { FieldTypes } = require("../../../constants")
|
|
450
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
451
|
+
const { events } = require("@budibase/backend-core")
|
|
452
|
+
const { DocumentType } = require("../../../db/utils")
|
|
480
453
|
const { cloneDeep, isEqual } = require("lodash")
|
|
454
|
+
const sdk = require("../../../sdk")
|
|
481
455
|
|
|
482
|
-
|
|
456
|
+
exports.fetch = async ctx => {
|
|
483
457
|
ctx.body = await getViews()
|
|
484
458
|
}
|
|
485
459
|
|
|
486
|
-
|
|
487
|
-
const db =
|
|
460
|
+
exports.save = async ctx => {
|
|
461
|
+
const db = getAppDB()
|
|
488
462
|
const { originalName, ...viewToSave } = ctx.request.body
|
|
489
463
|
const view = viewTemplate(viewToSave)
|
|
490
464
|
const viewName = viewToSave.name
|
|
@@ -516,7 +490,7 @@ export async function save(ctx: BBContext) {
|
|
|
516
490
|
}
|
|
517
491
|
}
|
|
518
492
|
|
|
519
|
-
|
|
493
|
+
const calculationEvents = async (existingView, newView) => {
|
|
520
494
|
const existingCalculation = existingView && existingView.calculation
|
|
521
495
|
const newCalculation = newView && newView.calculation
|
|
522
496
|
|
|
@@ -537,7 +511,7 @@ export async function calculationEvents(existingView: View, newView: View) {
|
|
|
537
511
|
}
|
|
538
512
|
}
|
|
539
513
|
|
|
540
|
-
|
|
514
|
+
const filterEvents = async (existingView, newView) => {
|
|
541
515
|
const hasExistingFilters = !!(
|
|
542
516
|
existingView &&
|
|
543
517
|
existingView.filters &&
|
|
@@ -562,7 +536,7 @@ export async function filterEvents(existingView: View, newView: View) {
|
|
|
562
536
|
}
|
|
563
537
|
}
|
|
564
538
|
|
|
565
|
-
async
|
|
539
|
+
const handleViewEvents = async (existingView, newView) => {
|
|
566
540
|
if (!existingView) {
|
|
567
541
|
await events.view.created(newView)
|
|
568
542
|
} else {
|
|
@@ -572,8 +546,8 @@ async function handleViewEvents(existingView: View, newView: View) {
|
|
|
572
546
|
await filterEvents(existingView, newView)
|
|
573
547
|
}
|
|
574
548
|
|
|
575
|
-
|
|
576
|
-
const db =
|
|
549
|
+
exports.destroy = async ctx => {
|
|
550
|
+
const db = getAppDB()
|
|
577
551
|
const viewName = decodeURI(ctx.params.viewName)
|
|
578
552
|
const view = await deleteView(viewName)
|
|
579
553
|
const table = await db.get(view.meta.tableId)
|
|
@@ -584,11 +558,11 @@ export async function destroy(ctx: BBContext) {
|
|
|
584
558
|
ctx.body = view
|
|
585
559
|
}
|
|
586
560
|
|
|
587
|
-
|
|
588
|
-
const viewName = decodeURI(ctx.query.view
|
|
561
|
+
exports.exportView = async ctx => {
|
|
562
|
+
const viewName = decodeURI(ctx.query.view)
|
|
589
563
|
const view = await getView(viewName)
|
|
590
564
|
|
|
591
|
-
const format = ctx.query.format
|
|
565
|
+
const format = ctx.query.format
|
|
592
566
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!format || !Object.values(exporters.ExportFormats).includes(format)) {
|
|
593
567
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Format must be specified, either csv or json")</span>
|
|
594
568
|
}
|
|
@@ -599,7 +573,6 @@ export async function exportView(ctx: BBContext) {
|
|
|
599
573
|
ctx.query = {
|
|
600
574
|
group: view.meta.groupBy,
|
|
601
575
|
calculation: view.meta.calculation,
|
|
602
|
-
// @ts-ignore
|
|
603
576
|
stats: !!view.meta.field,
|
|
604
577
|
field: view.meta.field,
|
|
605
578
|
}
|
|
@@ -610,22 +583,22 @@ export async function exportView(ctx: BBContext) {
|
|
|
610
583
|
}
|
|
611
584
|
|
|
612
585
|
await fetchView(ctx)
|
|
613
|
-
let rows = ctx.body
|
|
586
|
+
let rows = ctx.body
|
|
614
587
|
|
|
615
|
-
let schema
|
|
588
|
+
let schema = view && view.meta && view.meta.schema
|
|
616
589
|
const tableId = ctx.params.tableId || view.meta.tableId
|
|
617
|
-
const table
|
|
618
|
-
if (!schema) {
|
|
590
|
+
const table = await sdk.tables.getTable(tableId)
|
|
591
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!schema) {
|
|
619
592
|
schema = table.schema
|
|
620
593
|
}
|
|
621
594
|
|
|
622
595
|
// remove any relationships
|
|
623
596
|
const relationships = Object.entries(schema)
|
|
624
597
|
.filter(entry => entry[1].type === FieldTypes.LINK)
|
|
625
|
-
.map(<span class="fstat-no" title="function not covered" >
|
|
598
|
+
.map(<span class="fstat-no" title="function not covered" >en</span>try => <span class="cstat-no" title="statement not covered" >entry[0])</span>
|
|
626
599
|
// iterate relationship columns and remove from and row and schema
|
|
627
|
-
relationships.forEach(<span class="fstat-no" title="function not covered" >
|
|
628
|
-
<span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >
|
|
600
|
+
relationships.forEach(<span class="fstat-no" title="function not covered" >co</span>lumn => {
|
|
601
|
+
<span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >ro</span>w => {</span>
|
|
629
602
|
<span class="cstat-no" title="statement not covered" > delete row[column]</span>
|
|
630
603
|
})
|
|
631
604
|
<span class="cstat-no" title="statement not covered" > delete schema[column]</span>
|
|
@@ -645,16 +618,16 @@ export async function exportView(ctx: BBContext) {
|
|
|
645
618
|
|
|
646
619
|
// Export part
|
|
647
620
|
let headers = Object.keys(schema)
|
|
648
|
-
const exporter = format
|
|
621
|
+
const exporter = exporters[format]
|
|
649
622
|
const filename = `${viewName}.${format}`
|
|
650
623
|
// send down the file
|
|
651
624
|
ctx.attachment(filename)
|
|
652
625
|
ctx.body = apiFileReturn(exporter(headers, rows))
|
|
653
626
|
|
|
654
627
|
if (viewName.startsWith(DocumentType.TABLE)) {
|
|
655
|
-
await events.table.exported(table, format
|
|
628
|
+
await events.table.exported(table, format)
|
|
656
629
|
} else {
|
|
657
|
-
await events.view.exported(table, format
|
|
630
|
+
await events.view.exported(table, format)
|
|
658
631
|
}
|
|
659
632
|
}
|
|
660
633
|
</pre></td></tr></table></pre>
|
|
@@ -664,16 +637,16 @@ export async function exportView(ctx: BBContext) {
|
|
|
664
637
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
665
638
|
Code coverage generated by
|
|
666
639
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
667
|
-
at
|
|
640
|
+
at Thu Nov 24 2022 12:17:01 GMT+0000 (Coordinated Universal Time)
|
|
668
641
|
</div>
|
|
669
|
-
<script src="
|
|
642
|
+
<script src="../../../prettify.js"></script>
|
|
670
643
|
<script>
|
|
671
644
|
window.onload = function () {
|
|
672
645
|
prettyPrint();
|
|
673
646
|
};
|
|
674
647
|
</script>
|
|
675
|
-
<script src="
|
|
676
|
-
<script src="
|
|
648
|
+
<script src="../../../sorter.js"></script>
|
|
649
|
+
<script src="../../../block-navigation.js"></script>
|
|
677
650
|
</body>
|
|
678
651
|
</html>
|
|
679
652
|
|
|
@@ -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/view/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,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/view</a> utils.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">51.
|
|
26
|
+
<span class="strong">51.16% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>44/86</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">32.14% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>9/28</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">51.
|
|
47
|
+
<span class="strong">51.16% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>44/86</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -222,14 +222,7 @@
|
|
|
222
222
|
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
223
|
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
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>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
|
|
232
|
-
<span class="cline-any cline-neutral"> </span>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
233
226
|
<span class="cline-any cline-neutral"> </span>
|
|
234
227
|
<span class="cline-any cline-neutral"> </span>
|
|
235
228
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -238,7 +231,7 @@
|
|
|
238
231
|
<span class="cline-any cline-yes">45x</span>
|
|
239
232
|
<span class="cline-any cline-yes">45x</span>
|
|
240
233
|
<span class="cline-any cline-yes">45x</span>
|
|
241
|
-
<span class="cline-any cline-
|
|
234
|
+
<span class="cline-any cline-yes">45x</span>
|
|
242
235
|
<span class="cline-any cline-neutral"> </span>
|
|
243
236
|
<span class="cline-any cline-yes">45x</span>
|
|
244
237
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -273,7 +266,6 @@
|
|
|
273
266
|
<span class="cline-any cline-yes">2x</span>
|
|
274
267
|
<span class="cline-any cline-neutral"> </span>
|
|
275
268
|
<span class="cline-any cline-yes">5x</span>
|
|
276
|
-
<span class="cline-any cline-yes">5x</span>
|
|
277
269
|
<span class="cline-any cline-yes">4x</span>
|
|
278
270
|
<span class="cline-any cline-neutral"> </span>
|
|
279
271
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -300,10 +292,6 @@
|
|
|
300
292
|
<span class="cline-any cline-neutral"> </span>
|
|
301
293
|
<span class="cline-any cline-neutral"> </span>
|
|
302
294
|
<span class="cline-any cline-yes">45x</span>
|
|
303
|
-
<span class="cline-any cline-neutral"> </span>
|
|
304
|
-
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-neutral"> </span>
|
|
306
|
-
<span class="cline-any cline-neutral"> </span>
|
|
307
295
|
<span class="cline-any cline-yes">23x</span>
|
|
308
296
|
<span class="cline-any cline-yes">23x</span>
|
|
309
297
|
<span class="cline-any cline-yes">23x</span>
|
|
@@ -393,35 +381,34 @@
|
|
|
393
381
|
<span class="cline-any cline-neutral"> </span>
|
|
394
382
|
<span class="cline-any cline-no"> </span>
|
|
395
383
|
<span class="cline-any cline-neutral"> </span>
|
|
396
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
384
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
397
385
|
ViewName,
|
|
398
386
|
generateMemoryViewID,
|
|
399
387
|
getMemoryViewParams,
|
|
400
388
|
DocumentType,
|
|
401
389
|
SEPARATOR,
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
import { Database } from "@budibase/types"
|
|
390
|
+
} = require("../../../db/utils")
|
|
391
|
+
const env = require("../../../environment")
|
|
392
|
+
const { getAppDB } = require("@budibase/backend-core/context")
|
|
393
|
+
const viewBuilder = require("./viewBuilder")
|
|
407
394
|
|
|
408
|
-
|
|
409
|
-
const db =
|
|
395
|
+
exports.getView = async viewName => {
|
|
396
|
+
const db = getAppDB()
|
|
410
397
|
if (env.SELF_HOSTED) {
|
|
411
398
|
const designDoc = await db.get("_design/database")
|
|
412
399
|
return designDoc.views[viewName]
|
|
413
400
|
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
414
401
|
// This is a table view, don't read the view from the DB
|
|
415
|
-
<span class="cstat-no" title="statement not covered" >
|
|
402
|
+
<span class="cstat-no" title="statement not covered" > if (viewName.startsWith(DocumentType.TABLE + SEPARATOR)) {</span>
|
|
416
403
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
417
404
|
}
|
|
418
405
|
|
|
419
406
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
420
407
|
const viewDoc = <span class="cstat-no" title="statement not covered" >await db.get(generateMemoryViewID(viewName))</span>
|
|
421
408
|
<span class="cstat-no" title="statement not covered" > return viewDoc.view</span>
|
|
422
|
-
} catch (err
|
|
409
|
+
} catch (err) {
|
|
423
410
|
// Return null when PouchDB doesn't found the view
|
|
424
|
-
<span class="cstat-no" title="statement not covered" >
|
|
411
|
+
<span class="cstat-no" title="statement not covered" > if (err.status === 404) {</span>
|
|
425
412
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
426
413
|
}
|
|
427
414
|
|
|
@@ -430,15 +417,14 @@ export async function getView(viewName: string) {
|
|
|
430
417
|
}
|
|
431
418
|
}
|
|
432
419
|
|
|
433
|
-
|
|
434
|
-
const db =
|
|
420
|
+
exports.getViews = async () => {
|
|
421
|
+
const db = getAppDB()
|
|
435
422
|
const response = []
|
|
436
423
|
if (env.SELF_HOSTED) {
|
|
437
424
|
const designDoc = await db.get("_design/database")
|
|
438
425
|
for (let name of Object.keys(designDoc.views)) {
|
|
439
426
|
// Only return custom views, not built ins
|
|
440
|
-
|
|
441
|
-
if (viewNames.indexOf(name) !== -1) {
|
|
427
|
+
if (Object.values(ViewName).indexOf(name) !== -1) {
|
|
442
428
|
continue
|
|
443
429
|
}
|
|
444
430
|
response.push({
|
|
@@ -453,7 +439,7 @@ export async function getViews() {
|
|
|
453
439
|
include_docs: true,
|
|
454
440
|
})
|
|
455
441
|
)
|
|
456
|
-
).rows.map(<span class="fstat-no" title="function not covered" >
|
|
442
|
+
).rows.map(<span class="fstat-no" title="function not covered" >ro</span>w => <span class="cstat-no" title="statement not covered" >row.doc)</span>
|
|
457
443
|
<span class="cstat-no" title="statement not covered" > for (let viewDoc of views) {</span>
|
|
458
444
|
<span class="cstat-no" title="statement not covered" > response.push({</span>
|
|
459
445
|
name: viewDoc.name,
|
|
@@ -464,12 +450,8 @@ export async function getViews() {
|
|
|
464
450
|
return response
|
|
465
451
|
}
|
|
466
452
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
viewName: string,
|
|
470
|
-
viewTemplate: any
|
|
471
|
-
) {
|
|
472
|
-
const db = context.getAppDB()
|
|
453
|
+
exports.saveView = async (originalName, viewName, viewTemplate) => {
|
|
454
|
+
const db = getAppDB()
|
|
473
455
|
if (env.SELF_HOSTED) {
|
|
474
456
|
const designDoc = await db.get("_design/database")
|
|
475
457
|
designDoc.views = {
|
|
@@ -484,7 +466,7 @@ export async function saveView(
|
|
|
484
466
|
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
485
467
|
const id = <span class="cstat-no" title="statement not covered" >generateMemoryViewID(viewName)</span>
|
|
486
468
|
const originalId = <span class="cstat-no" title="statement not covered" >originalName ? generateMemoryViewID(originalName) : null</span>
|
|
487
|
-
const viewDoc
|
|
469
|
+
const viewDoc = <span class="cstat-no" title="statement not covered" >{</span>
|
|
488
470
|
_id: id,
|
|
489
471
|
view: viewTemplate,
|
|
490
472
|
name: viewName,
|
|
@@ -492,11 +474,11 @@ export async function saveView(
|
|
|
492
474
|
}
|
|
493
475
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
494
476
|
const old = <span class="cstat-no" title="statement not covered" >await db.get(id)</span>
|
|
495
|
-
<span class="cstat-no" title="statement not covered" >
|
|
477
|
+
<span class="cstat-no" title="statement not covered" > if (originalId) {</span>
|
|
496
478
|
const originalDoc = <span class="cstat-no" title="statement not covered" >await db.get(originalId)</span>
|
|
497
479
|
<span class="cstat-no" title="statement not covered" > await db.remove(originalDoc._id, originalDoc._rev)</span>
|
|
498
480
|
}
|
|
499
|
-
<span class="cstat-no" title="statement not covered" >
|
|
481
|
+
<span class="cstat-no" title="statement not covered" > if (old && old._rev) {</span>
|
|
500
482
|
<span class="cstat-no" title="statement not covered" > viewDoc._rev = old._rev</span>
|
|
501
483
|
}
|
|
502
484
|
} catch (err) {
|
|
@@ -506,8 +488,8 @@ export async function saveView(
|
|
|
506
488
|
}
|
|
507
489
|
}
|
|
508
490
|
|
|
509
|
-
|
|
510
|
-
const db =
|
|
491
|
+
exports.deleteView = async viewName => {
|
|
492
|
+
const db = getAppDB()
|
|
511
493
|
if (env.SELF_HOSTED) {
|
|
512
494
|
const designDoc = await db.get("_design/database")
|
|
513
495
|
const view = designDoc.views[viewName]
|
|
@@ -522,7 +504,7 @@ export async function deleteView(viewName: string) {
|
|
|
522
504
|
}
|
|
523
505
|
}
|
|
524
506
|
|
|
525
|
-
|
|
507
|
+
exports.migrateToInMemoryView = <span class="fstat-no" title="function not covered" >as</span>ync (db, viewName) => {
|
|
526
508
|
// delete the view initially
|
|
527
509
|
const designDoc = <span class="cstat-no" title="statement not covered" >await db.get("_design/database")</span>
|
|
528
510
|
// run the view back through the view builder to update it
|
|
@@ -532,7 +514,7 @@ export async function <span class="fstat-no" title="function not covered" >migra
|
|
|
532
514
|
<span class="cstat-no" title="statement not covered" > await exports.saveView(db, null, viewName, view)</span>
|
|
533
515
|
}
|
|
534
516
|
|
|
535
|
-
|
|
517
|
+
exports.migrateToDesignView = <span class="fstat-no" title="function not covered" >as</span>ync (db, viewName) => {
|
|
536
518
|
let view = <span class="cstat-no" title="statement not covered" >await db.get(generateMemoryViewID(viewName))</span>
|
|
537
519
|
const designDoc = <span class="cstat-no" title="statement not covered" >await db.get("_design/database")</span>
|
|
538
520
|
<span class="cstat-no" title="statement not covered" > designDoc.views[viewName] = viewBuilder(view.view.meta)</span>
|
|
@@ -540,7 +522,7 @@ export async function <span class="fstat-no" title="function not covered" >migra
|
|
|
540
522
|
<span class="cstat-no" title="statement not covered" > await db.remove(view._id, view._rev)</span>
|
|
541
523
|
}
|
|
542
524
|
|
|
543
|
-
|
|
525
|
+
exports.getFromDesignDoc = async (db, viewName) => {
|
|
544
526
|
const designDoc = await db.get("_design/database")
|
|
545
527
|
let view = designDoc.views[viewName]
|
|
546
528
|
if (view == null) {
|
|
@@ -549,7 +531,7 @@ export async function getFromDesignDoc(db: Database, viewName: string) {
|
|
|
549
531
|
return view
|
|
550
532
|
}
|
|
551
533
|
|
|
552
|
-
|
|
534
|
+
exports.getFromMemoryDoc = async (db, viewName) => {
|
|
553
535
|
let view = await db.get(generateMemoryViewID(viewName))
|
|
554
536
|
<span class="cstat-no" title="statement not covered" > if (view) {</span>
|
|
555
537
|
<span class="cstat-no" title="statement not covered" > view = view.view</span>
|
|
@@ -565,16 +547,16 @@ export async function getFromMemoryDoc(db: Database, viewName: string) {
|
|
|
565
547
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
566
548
|
Code coverage generated by
|
|
567
549
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
568
|
-
at
|
|
550
|
+
at Thu Nov 24 2022 12:17:01 GMT+0000 (Coordinated Universal Time)
|
|
569
551
|
</div>
|
|
570
|
-
<script src="
|
|
552
|
+
<script src="../../../prettify.js"></script>
|
|
571
553
|
<script>
|
|
572
554
|
window.onload = function () {
|
|
573
555
|
prettyPrint();
|
|
574
556
|
};
|
|
575
557
|
</script>
|
|
576
|
-
<script src="
|
|
577
|
-
<script src="
|
|
558
|
+
<script src="../../../sorter.js"></script>
|
|
559
|
+
<script src="../../../block-navigation.js"></script>
|
|
578
560
|
</body>
|
|
579
561
|
</html>
|
|
580
562
|
|
|
@@ -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/view/viewBuilder.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/view</a> viewBuilder.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
@@ -619,16 +619,16 @@ module.exports = viewTemplate
|
|
|
619
619
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
620
620
|
Code coverage generated by
|
|
621
621
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
622
|
-
at
|
|
622
|
+
at Thu Nov 24 2022 12:17:01 GMT+0000 (Coordinated Universal Time)
|
|
623
623
|
</div>
|
|
624
|
-
<script src="
|
|
624
|
+
<script src="../../../prettify.js"></script>
|
|
625
625
|
<script>
|
|
626
626
|
window.onload = function () {
|
|
627
627
|
prettyPrint();
|
|
628
628
|
};
|
|
629
629
|
</script>
|
|
630
|
-
<script src="
|
|
631
|
-
<script src="
|
|
630
|
+
<script src="../../../sorter.js"></script>
|
|
631
|
+
<script src="../../../block-navigation.js"></script>
|
|
632
632
|
</body>
|
|
633
633
|
</html>
|
|
634
634
|
|