@budibase/server 2.1.43-alpha.1 → 2.1.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/aws-sdk.ts +0 -14
- package/__mocks__/node-fetch.ts +1 -5
- package/builder/assets/index.534f6c29.css +6 -0
- package/builder/assets/index.fb99ddaf.js +1021 -0
- package/builder/index.html +2 -2
- package/coverage/clover.xml +3875 -10924
- package/coverage/coverage-final.json +118 -267
- package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +30 -30
- package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +99 -99
- package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +58 -58
- package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +107 -287
- package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +87 -69
- package/coverage/lcov-report/api/controllers/index.html +326 -0
- package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/controllers/integration.js.html} +28 -22
- package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +31 -31
- package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +30 -33
- package/coverage/lcov-report/{src/api/controllers/migrations.ts.html → api/controllers/migrations.js.html} +17 -20
- package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +79 -88
- package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
- package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +25 -25
- package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +60 -48
- package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +58 -67
- package/coverage/lcov-report/{src/api/controllers/row/external.ts.html → api/controllers/row/external.js.html} +111 -162
- package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +52 -82
- package/coverage/lcov-report/{src/api/controllers/row/internal.ts.html → api/controllers/row/internal.js.html} +121 -163
- package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +117 -189
- package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +58 -73
- package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +58 -88
- package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +16 -19
- package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +62 -104
- package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +111 -204
- package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
- package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +49 -58
- package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +29 -38
- package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +99 -93
- package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +16 -22
- package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +36 -36
- package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +64 -91
- package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +54 -72
- package/coverage/lcov-report/{src/api/controllers/view/viewBuilder.ts.html → api/controllers/view/viewBuilder.js.html} +36 -78
- package/coverage/lcov-report/{src/api → api}/index.html +23 -23
- package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +76 -55
- package/coverage/lcov-report/{src/middleware/utils.ts.html → api/routes/analytics.js.html} +19 -19
- package/coverage/lcov-report/api/routes/apikeys.js.html +121 -0
- package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +47 -53
- package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +28 -28
- package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +24 -24
- package/coverage/lcov-report/{src/definitions/datasource.ts.html → api/routes/datasource.js.html} +64 -61
- package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +28 -31
- package/coverage/lcov-report/{src/automations/index.ts.html → api/routes/dev.js.html} +46 -46
- package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
- package/coverage/lcov-report/api/routes/integration.js.html +121 -0
- package/coverage/lcov-report/{src/db/index.ts.html → api/routes/layout.js.html} +28 -28
- package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +31 -31
- package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
- package/coverage/lcov-report/{src/api/routes/permission.ts.html → api/routes/permission.js.html} +31 -55
- package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +50 -41
- package/coverage/lcov-report/api/routes/role.js.html +130 -0
- package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +24 -24
- package/coverage/lcov-report/api/routes/screen.js.html +139 -0
- package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
- package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +41 -32
- package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +25 -25
- package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +41 -35
- package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
- package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +98 -86
- package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/view.js.html} +36 -45
- package/coverage/lcov-report/{src/automations/actions.ts.html → automations/actions.js.html} +60 -69
- package/coverage/lcov-report/{src/automations/automationUtils.ts.html → automations/automationUtils.js.html} +33 -36
- package/coverage/lcov-report/{src/automations/bullboard.ts.html → automations/bullboard.js.html} +42 -39
- package/coverage/lcov-report/{src/automations → automations}/index.html +48 -63
- package/coverage/lcov-report/{src/websocket.ts.html → automations/index.js.html} +50 -41
- package/coverage/lcov-report/{src/automations/steps/bash.ts.html → automations/steps/bash.js.html} +30 -45
- package/coverage/lcov-report/{src/automations/steps/delay.ts.html → automations/steps/delay.js.html} +19 -34
- package/coverage/lcov-report/{src/automations/steps/discord.ts.html → automations/steps/discord.js.html} +28 -43
- package/coverage/lcov-report/{src/automations/steps/executeQuery.ts.html → automations/steps/executeQuery.js.html} +30 -45
- package/coverage/lcov-report/{src/automations/steps/executeScript.ts.html → automations/steps/executeScript.js.html} +28 -58
- package/coverage/lcov-report/{src/automations/steps/filter.ts.html → automations/steps/filter.js.html} +30 -39
- package/coverage/lcov-report/automations/steps/index.html +341 -0
- package/coverage/lcov-report/{src/automations/steps/integromat.ts.html → automations/steps/integromat.js.html} +23 -38
- package/coverage/lcov-report/{src/automations/steps/loop.ts.html → automations/steps/loop.js.html} +15 -21
- package/coverage/lcov-report/{src/automations/steps/outgoingWebhook.ts.html → automations/steps/outgoingWebhook.js.html} +39 -54
- package/coverage/lcov-report/{src/automations/steps/queryRows.ts.html → automations/steps/queryRows.js.html} +66 -102
- package/coverage/lcov-report/{src/automations/steps/sendSmtpEmail.ts.html → automations/steps/sendSmtpEmail.js.html} +25 -40
- package/coverage/lcov-report/{src/automations/steps/serverLog.ts.html → automations/steps/serverLog.js.html} +22 -40
- package/coverage/lcov-report/{src/automations/steps/slack.ts.html → automations/steps/slack.js.html} +23 -38
- package/coverage/lcov-report/{src/automations/steps/updateRow.ts.html → automations/steps/updateRow.js.html} +25 -40
- package/coverage/lcov-report/{src/automations/steps/utils.ts.html → automations/steps/utils.js.html} +27 -45
- package/coverage/lcov-report/{src/automations/steps/zapier.ts.html → automations/steps/zapier.js.html} +23 -41
- package/coverage/lcov-report/{src/definitions/automations.ts.html → automations/triggerInfo/app.js.html} +42 -42
- package/coverage/lcov-report/{src/automations/triggerInfo/cron.ts.html → automations/triggerInfo/cron.js.html} +15 -30
- package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +31 -31
- package/coverage/lcov-report/{src/api/routes/layout.ts.html → automations/triggerInfo/index.js.html} +26 -29
- package/coverage/lcov-report/{src/automations/triggerInfo/rowDeleted.ts.html → automations/triggerInfo/rowDeleted.js.html} +15 -30
- package/coverage/lcov-report/{src/automations/triggerInfo/rowSaved.ts.html → automations/triggerInfo/rowSaved.js.html} +15 -30
- package/coverage/lcov-report/{src/automations/triggerInfo/rowUpdated.ts.html → automations/triggerInfo/rowUpdated.js.html} +15 -30
- package/coverage/lcov-report/{src/automations/triggerInfo/webhook.ts.html → automations/triggerInfo/webhook.js.html} +15 -30
- package/coverage/lcov-report/{src/automations/triggers.ts.html → automations/triggers.js.html} +66 -78
- package/coverage/lcov-report/{src/constants → constants}/index.html +26 -26
- package/coverage/lcov-report/{src/integrations/dynamodb.ts.html → constants/index.js.html} +227 -263
- package/coverage/lcov-report/{src/constants/layouts.ts.html → constants/layouts.js.html} +36 -18
- package/coverage/lcov-report/{src/constants/screens.ts.html → constants/screens.js.html} +58 -64
- package/coverage/lcov-report/{src/db/inMemoryView.ts.html → db/inMemoryView.js.html} +29 -47
- package/coverage/lcov-report/{src/db → db}/index.html +33 -48
- package/coverage/lcov-report/{src/api/routes/integration.ts.html → db/index.js.html} +33 -33
- package/coverage/lcov-report/{src/db/linkedRows/LinkController.ts.html → db/linkedRows/LinkController.js.html} +160 -97
- package/coverage/lcov-report/db/linkedRows/index.html +146 -0
- package/coverage/lcov-report/{src/db/linkedRows/index.ts.html → db/linkedRows/index.js.html} +78 -93
- package/coverage/lcov-report/{src/db/linkedRows/linkUtils.ts.html → db/linkedRows/linkUtils.js.html} +56 -83
- package/coverage/lcov-report/{src/db/newid.ts.html → db/newid.js.html} +14 -14
- package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +211 -163
- package/coverage/lcov-report/{src/events/AutomationEmitter.ts.html → events/AutomationEmitter.js.html} +25 -40
- package/coverage/lcov-report/{src/events → events}/index.html +33 -48
- package/coverage/lcov-report/{src/events/BudibaseEmitter.ts.html → events/index.js.html} +29 -26
- package/coverage/lcov-report/{src/api/routes/dev.ts.html → events/utils.js.html} +69 -69
- package/coverage/lcov-report/index.html +184 -679
- package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
- package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
- package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +30 -33
- package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +40 -46
- package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +72 -81
- package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
- package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
- package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +27 -27
- package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +45 -60
- package/coverage/lcov-report/{src/tests/utilities/index.ts.html → middleware/selfhost.js.html} +30 -33
- package/coverage/lcov-report/{src/events/index.ts.html → middleware/utils.js.html} +24 -18
- package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +14 -14
- package/coverage/lcov-report/{src/utilities/centralPath.ts.html → utilities/centralPath.js.html} +16 -16
- package/coverage/lcov-report/{src/utilities/csvParser.ts.html → utilities/csvParser.js.html} +59 -107
- package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +82 -115
- package/coverage/lcov-report/{src/utilities → utilities}/index.html +77 -92
- package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +74 -98
- package/coverage/lcov-report/{src/utilities/plugins.ts.html → utilities/plugins.js.html} +22 -25
- package/coverage/lcov-report/{src/integrations/airtable.ts.html → utilities/queue/inMemoryQueue.js.html} +135 -213
- package/coverage/lcov-report/{src/migrations → utilities/queue}/index.html +23 -23
- package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
- package/coverage/lcov-report/{src/api/controllers/public/mapping/tables.ts.html → utilities/routing/index.js.html} +43 -46
- package/coverage/lcov-report/{src/definitions → utilities/rowProcessor}/index.html +34 -34
- package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +359 -128
- package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +42 -54
- package/coverage/lcov-report/{src/utilities/scriptRunner.ts.html → utilities/scriptRunner.js.html} +19 -31
- package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +78 -60
- package/coverage/lcov-report/{src/utilities/statusCodes.ts.html → utilities/statusCodes.js.html} +11 -11
- package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +28 -28
- package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +48 -36
- package/coverage/lcov-report/{src/utilities/usageQuota/usageQuoteReset.ts.html → utilities/usageQuota/usageQuoteReset.js.html} +13 -13
- package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +40 -34
- package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +112 -127
- package/coverage/lcov.info +7069 -19741
- package/dist/api/controllers/apikeys.js +9 -12
- package/dist/api/controllers/application.js +45 -48
- package/dist/api/controllers/automation.js +82 -122
- package/dist/api/controllers/cloud.js +71 -84
- package/dist/api/controllers/component.js +2 -4
- package/dist/api/controllers/datasource.js +94 -151
- package/dist/api/controllers/deploy/Deployment.js +6 -10
- package/dist/api/controllers/deploy/index.js +16 -13
- package/dist/api/controllers/dev.js +81 -96
- package/dist/api/controllers/integration.js +8 -11
- package/dist/api/controllers/layout.js +15 -18
- package/dist/api/controllers/metadata.js +37 -51
- package/dist/api/controllers/migrations.js +11 -19
- package/dist/api/controllers/permission.js +43 -52
- package/dist/api/controllers/plugin/index.js +7 -6
- package/dist/api/controllers/plugin/utils.js +1 -2
- package/dist/api/controllers/public/applications.js +9 -17
- package/dist/api/controllers/public/tables.js +9 -29
- package/dist/api/controllers/public/utils.js +2 -2
- package/dist/api/controllers/query/import/index.js +2 -1
- package/dist/api/controllers/query/index.js +13 -10
- package/dist/api/controllers/query/validation.js +33 -41
- package/dist/api/controllers/role.js +27 -29
- package/dist/api/controllers/routing.js +58 -71
- package/dist/api/controllers/row/ExternalRequest.js +542 -538
- package/dist/api/controllers/row/external.js +190 -258
- package/dist/api/controllers/row/index.js +14 -43
- package/dist/api/controllers/row/internal.js +295 -354
- package/dist/api/controllers/row/internalSearch.js +80 -95
- package/dist/api/controllers/row/staticFormula.js +112 -125
- package/dist/api/controllers/row/utils.js +84 -122
- package/dist/api/controllers/screen.js +66 -81
- package/dist/api/controllers/script.js +6 -13
- package/dist/api/controllers/static/index.js +14 -11
- package/dist/api/controllers/table/bulkFormula.js +35 -47
- package/dist/api/controllers/table/external.js +53 -89
- package/dist/api/controllers/table/index.js +31 -64
- package/dist/api/controllers/table/internal.js +6 -5
- package/dist/api/controllers/table/utils.js +35 -39
- package/dist/api/controllers/templates.js +10 -17
- package/dist/api/controllers/user.js +70 -82
- package/dist/api/controllers/view/exporters.js +4 -8
- package/dist/api/controllers/view/index.js +153 -201
- package/dist/api/controllers/view/utils.js +121 -151
- package/dist/api/controllers/view/viewBuilder.js +16 -4
- package/dist/api/controllers/webhook.js +2 -25
- package/dist/api/index.js +34 -38
- package/dist/api/routes/analytics.js +3 -29
- package/dist/api/routes/apikeys.js +7 -33
- package/dist/api/routes/application.js +9 -8
- package/dist/api/routes/auth.js +2 -1
- package/dist/api/routes/automation.js +20 -46
- package/dist/api/routes/backup.js +4 -3
- package/dist/api/routes/cloud.js +6 -32
- package/dist/api/routes/component.js +6 -32
- package/dist/api/routes/datasource.js +13 -39
- package/dist/api/routes/deploy.js +8 -34
- package/dist/api/routes/dev.js +10 -36
- package/dist/api/routes/integration.js +7 -33
- package/dist/api/routes/layout.js +7 -33
- package/dist/api/routes/metadata.js +10 -36
- package/dist/api/routes/migrations.js +6 -32
- package/dist/api/routes/permission.js +12 -38
- package/dist/api/routes/plugin.js +5 -5
- package/dist/api/routes/public/index.js +11 -11
- package/dist/api/routes/query.js +15 -42
- package/dist/api/routes/role.js +10 -36
- package/dist/api/routes/routing.js +6 -32
- package/dist/api/routes/row.js +11 -12
- package/dist/api/routes/screen.js +9 -35
- package/dist/api/routes/script.js +6 -32
- package/dist/api/routes/static.js +9 -9
- package/dist/api/routes/table.js +13 -40
- package/dist/api/routes/templates.js +7 -33
- package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
- package/dist/api/routes/tests/utilities/index.js +32 -69
- package/dist/api/routes/user.js +13 -40
- package/dist/api/routes/utils/validators.js +126 -142
- package/dist/api/routes/view.js +12 -38
- package/dist/api/routes/webhook.js +2 -1
- package/dist/app.js +22 -22
- package/dist/automations/actions.js +24 -53
- package/dist/automations/automationUtils.js +19 -31
- package/dist/automations/bullboard.js +29 -59
- package/dist/automations/index.js +18 -23
- package/dist/automations/steps/bash.js +10 -40
- package/dist/automations/steps/createRow.js +1 -2
- package/dist/automations/steps/delay.js +5 -9
- package/dist/automations/steps/deleteRow.js +1 -2
- package/dist/automations/steps/discord.js +7 -14
- package/dist/automations/steps/executeQuery.js +7 -34
- package/dist/automations/steps/executeScript.js +7 -34
- package/dist/automations/steps/filter.js +18 -20
- package/dist/automations/steps/integromat.js +7 -14
- package/dist/automations/steps/loop.js +1 -4
- package/dist/automations/steps/outgoingWebhook.js +14 -45
- package/dist/automations/steps/queryRows.js +38 -71
- package/dist/automations/steps/sendSmtpEmail.js +6 -33
- package/dist/automations/steps/serverLog.js +8 -12
- package/dist/automations/steps/slack.js +7 -14
- package/dist/automations/steps/updateRow.js +7 -34
- package/dist/automations/steps/utils.js +16 -22
- package/dist/automations/steps/zapier.js +7 -15
- package/dist/automations/tests/utilities/index.js +38 -62
- package/dist/automations/triggerInfo/app.js +1 -4
- package/dist/automations/triggerInfo/cron.js +1 -4
- package/dist/automations/triggerInfo/index.js +6 -31
- package/dist/automations/triggerInfo/rowDeleted.js +1 -4
- package/dist/automations/triggerInfo/rowSaved.js +1 -4
- package/dist/automations/triggerInfo/rowUpdated.js +1 -4
- package/dist/automations/triggerInfo/webhook.js +1 -4
- package/dist/automations/triggers.js +57 -90
- package/dist/automations/utils.js +8 -9
- package/dist/constants/index.js +104 -118
- package/dist/constants/layouts.js +10 -7
- package/dist/constants/screens.js +44 -49
- package/dist/db/dynamoClient.js +20 -20
- package/dist/db/inMemoryView.js +38 -47
- package/dist/db/index.js +4 -7
- package/dist/db/linkedRows/LinkController.js +70 -51
- package/dist/db/linkedRows/index.js +81 -93
- package/dist/db/linkedRows/linkUtils.js +32 -42
- package/dist/db/utils.js +119 -146
- package/dist/db/views/staticViews.js +74 -91
- package/dist/environment.js +6 -9
- package/dist/events/AutomationEmitter.js +10 -13
- package/dist/events/index.js +23 -5
- package/dist/events/utils.js +10 -18
- package/dist/integrations/elasticsearch.js +2 -26
- package/dist/integrations/googlesheets.js +6 -5
- package/dist/integrations/index.js +6 -15
- package/dist/integrations/s3.js +1 -157
- package/dist/integrations/tests/TestConfiguration.js +1 -0
- package/dist/middleware/appInfo.js +9 -14
- package/dist/middleware/authorized.js +21 -22
- package/dist/middleware/builder.js +40 -41
- package/dist/middleware/currentapp.js +37 -39
- package/dist/middleware/joi-validator.js +10 -17
- package/dist/middleware/publicApi.js +6 -5
- package/dist/middleware/resourceId.js +9 -16
- package/dist/middleware/selfhost.js +4 -5
- package/dist/middleware/utils.js +2 -5
- package/dist/migrations/functions/appUrls.js +2 -2
- package/dist/migrations/functions/backfill/global.js +1 -1
- package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
- package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
- package/dist/migrations/functions/userEmailViewCasing.js +3 -3
- package/dist/migrations/index.js +0 -5
- package/dist/package.json +45 -11
- package/dist/sdk/app/backups/exports.js +2 -1
- package/dist/sdk/app/backups/imports.js +3 -2
- package/dist/sdk/app/tables/index.js +5 -5
- package/dist/startup.js +10 -10
- package/dist/tests/utilities/TestConfiguration.js +87 -111
- package/dist/tests/utilities/controllers.js +15 -38
- package/dist/tests/utilities/structures.js +53 -72
- package/dist/threads/automation.js +27 -49
- package/dist/threads/query.js +19 -17
- package/dist/threads/utils.js +8 -33
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/budibaseDir.js +2 -4
- package/dist/utilities/centralPath.js +7 -14
- package/dist/utilities/csvParser.js +21 -27
- package/dist/utilities/fileSystem/clientLibrary.js +73 -87
- package/dist/utilities/fileSystem/index.js +175 -203
- package/dist/utilities/fileSystem/processor.js +3 -8
- package/dist/utilities/fileSystem/utilities.js +22 -0
- package/dist/utilities/global.js +66 -87
- package/dist/utilities/index.js +75 -102
- package/dist/utilities/plugins.js +9 -15
- package/dist/utilities/queue/inMemoryQueue.js +126 -0
- package/dist/utilities/redis.js +65 -100
- package/dist/utilities/routing/index.js +23 -27
- package/dist/utilities/rowProcessor/index.js +191 -133
- package/dist/utilities/rowProcessor/utils.js +26 -35
- package/dist/utilities/scriptRunner.js +5 -8
- package/dist/utilities/security.js +35 -39
- package/dist/utilities/usageQuota/rows.js +49 -56
- package/dist/utilities/users.js +28 -31
- package/dist/utilities/workerRequests.js +82 -115
- package/dist/watch.js +2 -1
- package/package.json +46 -12
- package/scripts/exportAppTemplate.js +2 -2
- package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
- package/scripts/localdomain.js +6 -34
- package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
- package/src/api/controllers/application.ts +42 -56
- package/src/api/controllers/auth.ts +3 -4
- package/src/api/controllers/{automation.ts → automation.js} +48 -48
- package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
- package/src/api/controllers/component.ts +1 -2
- package/src/api/controllers/{datasource.ts → datasource.js} +49 -109
- package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
- package/src/api/controllers/deploy/index.ts +25 -13
- package/src/api/controllers/{dev.ts → dev.js} +37 -31
- package/src/api/controllers/integration.js +14 -0
- package/src/api/controllers/{layout.ts → layout.js} +8 -8
- package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
- package/src/api/controllers/migrations.js +13 -0
- package/src/api/controllers/{permission.ts → permission.js} +46 -49
- package/src/api/controllers/plugin/index.ts +5 -4
- package/src/api/controllers/plugin/utils.ts +5 -3
- package/src/api/controllers/public/applications.ts +9 -15
- package/src/api/controllers/public/rows.ts +1 -1
- package/src/api/controllers/public/tables.ts +2 -2
- package/src/api/controllers/public/utils.ts +2 -2
- package/src/api/controllers/query/import/index.ts +3 -2
- package/src/api/controllers/query/index.ts +14 -11
- package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
- package/src/api/controllers/{role.ts → role.js} +25 -21
- package/src/api/controllers/{routing.ts → routing.js} +34 -37
- package/src/api/controllers/row/ExternalRequest.ts +624 -602
- package/src/api/controllers/row/{external.ts → external.js} +62 -79
- package/src/api/controllers/row/index.ts +11 -19
- package/src/api/controllers/row/{internal.ts → internal.js} +73 -87
- package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
- package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +25 -30
- package/src/api/controllers/row/{utils.ts → utils.js} +22 -32
- package/src/api/controllers/screen.ts +6 -10
- package/src/api/controllers/script.js +11 -0
- package/src/api/controllers/static/index.ts +16 -14
- package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
- package/src/api/controllers/table/{external.ts → external.js} +55 -86
- package/src/api/controllers/table/{index.ts → index.js} +18 -21
- package/src/api/controllers/table/internal.ts +6 -5
- package/src/api/controllers/table/utils.ts +21 -26
- package/src/api/controllers/{templates.ts → templates.js} +7 -10
- package/src/api/controllers/{user.ts → user.js} +49 -47
- package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
- package/src/api/controllers/view/{index.ts → index.js} +27 -36
- package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
- package/src/api/controllers/view/{viewBuilder.ts → viewBuilder.js} +11 -25
- package/src/api/controllers/webhook.ts +1 -1
- package/src/api/{index.ts → index.js} +22 -15
- package/src/api/routes/analytics.js +9 -0
- package/src/api/routes/apikeys.js +12 -0
- package/src/api/routes/application.ts +9 -17
- package/src/api/routes/auth.ts +2 -2
- package/src/api/routes/automation.js +85 -0
- package/src/api/routes/backup.ts +4 -8
- package/src/api/routes/cloud.js +14 -0
- package/src/api/routes/component.js +14 -0
- package/src/api/routes/datasource.js +51 -0
- package/src/api/routes/deploy.js +17 -0
- package/src/api/routes/dev.js +26 -0
- package/src/api/routes/integration.js +12 -0
- package/src/api/routes/layout.js +16 -0
- package/src/api/routes/{metadata.ts → metadata.js} +13 -13
- package/src/api/routes/migrations.js +14 -0
- package/src/api/routes/permission.js +33 -0
- package/src/api/routes/plugin.ts +6 -14
- package/src/api/routes/public/index.ts +14 -11
- package/src/api/routes/public/tests/compare.spec.js +1 -1
- package/src/api/routes/{query.ts → query.js} +22 -19
- package/src/api/routes/role.js +15 -0
- package/src/api/routes/routing.js +14 -0
- package/src/api/routes/row.ts +15 -13
- package/src/api/routes/screen.js +18 -0
- package/src/api/routes/script.js +10 -0
- package/src/api/routes/static.ts +10 -7
- package/src/api/routes/{table.ts → table.js} +13 -10
- package/src/api/routes/templates.js +16 -0
- package/src/api/routes/tests/analytics.spec.js +1 -1
- package/src/api/routes/tests/backup.spec.js +1 -9
- package/src/api/routes/tests/deployment.spec.ts +1 -1
- package/src/api/routes/tests/permissions.spec.js +1 -2
- package/src/api/routes/tests/query.spec.js +10 -15
- package/src/api/routes/tests/role.spec.js +9 -7
- package/src/api/routes/tests/routing.spec.js +1 -2
- package/src/api/routes/tests/row.spec.js +4 -3
- package/src/api/routes/tests/static.spec.js +2 -2
- package/src/api/routes/tests/table.spec.js +36 -40
- package/src/api/routes/tests/user.spec.js +1 -2
- package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
- package/src/api/routes/tests/utilities/{index.ts → index.js} +12 -12
- package/src/api/routes/tests/view.spec.js +3 -3
- package/src/api/routes/user.js +53 -0
- package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
- package/src/api/routes/view.js +31 -0
- package/src/api/routes/webhook.ts +2 -2
- package/src/app.ts +14 -15
- package/src/automations/{actions.ts → actions.js} +23 -26
- package/src/automations/{automationUtils.ts → automationUtils.js} +12 -13
- package/src/automations/bullboard.js +39 -0
- package/src/automations/index.js +29 -0
- package/src/automations/steps/{bash.ts → bash.js} +8 -13
- package/src/automations/steps/createRow.ts +3 -8
- package/src/automations/steps/{delay.ts → delay.js} +4 -9
- package/src/automations/steps/deleteRow.ts +3 -8
- package/src/automations/steps/{discord.ts → discord.js} +5 -10
- package/src/automations/steps/{executeQuery.ts → executeQuery.js} +7 -12
- package/src/automations/steps/{executeScript.ts → executeScript.js} +7 -17
- package/src/automations/steps/{filter.ts → filter.js} +9 -12
- package/src/automations/steps/{integromat.ts → integromat.js} +5 -10
- package/src/automations/steps/{loop.ts → loop.js} +2 -4
- package/src/automations/steps/{outgoingWebhook.ts → outgoingWebhook.js} +13 -18
- package/src/automations/steps/{queryRows.ts → queryRows.js} +36 -48
- package/src/automations/steps/{sendSmtpEmail.ts → sendSmtpEmail.js} +5 -10
- package/src/automations/steps/{serverLog.ts → serverLog.js} +3 -9
- package/src/automations/steps/{slack.ts → slack.js} +5 -10
- package/src/automations/steps/{updateRow.ts → updateRow.js} +7 -12
- package/src/automations/steps/{utils.ts → utils.js} +4 -10
- package/src/automations/steps/{zapier.ts → zapier.js} +5 -11
- package/src/automations/tests/updateRow.spec.js +1 -0
- package/src/automations/tests/utilities/index.js +51 -0
- package/src/automations/triggerInfo/{app.ts → app.js} +2 -7
- package/src/automations/triggerInfo/{cron.ts → cron.js} +2 -7
- package/src/automations/triggerInfo/index.js +15 -0
- package/src/automations/triggerInfo/{rowDeleted.ts → rowDeleted.js} +2 -7
- package/src/automations/triggerInfo/{rowSaved.ts → rowSaved.js} +2 -7
- package/src/automations/triggerInfo/{rowUpdated.ts → rowUpdated.js} +2 -7
- package/src/automations/triggerInfo/{webhook.ts → webhook.js} +2 -7
- package/src/automations/{triggers.ts → triggers.js} +26 -30
- package/src/automations/utils.ts +12 -9
- package/src/constants/index.js +208 -0
- package/src/constants/{layouts.ts → layouts.js} +9 -3
- package/src/constants/screens.js +46 -0
- package/src/db/{dynamoClient.ts → dynamoClient.js} +19 -39
- package/src/db/{inMemoryView.ts → inMemoryView.js} +9 -15
- package/src/db/index.js +16 -0
- package/src/db/linkedRows/{LinkController.ts → LinkController.js} +85 -64
- package/src/db/linkedRows/{index.ts → index.js} +38 -43
- package/src/db/linkedRows/{linkUtils.ts → linkUtils.js} +24 -33
- package/src/db/{newid.ts → newid.js} +1 -1
- package/src/db/tests/linkController.spec.js +57 -73
- package/src/db/tests/linkTests.spec.js +14 -17
- package/src/db/{utils.ts → utils.js} +93 -77
- package/src/db/views/{staticViews.ts → staticViews.js} +13 -20
- package/src/{environment.ts → environment.js} +7 -11
- package/src/events/{AutomationEmitter.ts → AutomationEmitter.js} +7 -12
- package/src/events/{BudibaseEmitter.ts → index.js} +8 -7
- package/src/events/utils.js +38 -0
- package/src/integrations/base/sql.ts +1 -1
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/elasticsearch.ts +2 -32
- package/src/integrations/googlesheets.ts +7 -5
- package/src/integrations/index.ts +41 -45
- package/src/integrations/s3.ts +3 -179
- package/src/integrations/tests/s3.spec.ts +1 -85
- package/src/integrations/utils.ts +2 -6
- package/src/middleware/appInfo.js +19 -0
- package/src/middleware/authorized.ts +28 -21
- package/src/middleware/{builder.ts → builder.js} +15 -17
- package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
- package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
- package/src/middleware/publicApi.js +21 -0
- package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
- package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
- package/src/middleware/tests/authorized.spec.js +6 -5
- package/src/middleware/tests/currentapp.spec.js +63 -118
- package/src/middleware/{utils.ts → utils.js} +1 -3
- package/src/migrations/functions/appUrls.ts +2 -2
- package/src/migrations/functions/backfill/app/tables.ts +5 -2
- package/src/migrations/functions/backfill/global.ts +1 -1
- package/src/migrations/functions/tests/appUrls.spec.js +4 -4
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
- package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
- package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
- package/src/migrations/functions/userEmailViewCasing.ts +3 -3
- package/src/migrations/index.ts +0 -9
- package/src/migrations/tests/index.spec.ts +1 -1
- package/src/module.d.ts +14 -0
- package/src/sdk/app/backups/exports.ts +3 -5
- package/src/sdk/app/backups/imports.ts +14 -7
- package/src/sdk/app/backups/statistics.ts +18 -9
- package/src/sdk/app/tables/index.ts +8 -7
- package/src/startup.ts +5 -5
- package/src/tests/utilities/{TestConfiguration.ts → TestConfiguration.js} +78 -111
- package/src/tests/utilities/controllers.js +16 -0
- package/src/tests/utilities/{index.ts → index.js} +2 -2
- package/src/tests/utilities/{structures.ts → structures.js} +36 -41
- package/src/threads/automation.ts +19 -18
- package/src/threads/query.ts +16 -11
- package/src/threads/utils.ts +5 -4
- package/src/utilities/budibaseDir.js +3 -0
- package/src/utilities/{centralPath.ts → centralPath.js} +3 -3
- package/src/utilities/{csvParser.ts → csvParser.js} +26 -42
- package/src/utilities/fileSystem/{clientLibrary.ts → clientLibrary.js} +20 -20
- package/src/utilities/fileSystem/{index.ts → index.js} +65 -61
- package/src/utilities/fileSystem/{processor.ts → processor.js} +5 -3
- package/src/utilities/fileSystem/utilities.js +36 -0
- package/src/utilities/global.js +127 -0
- package/src/utilities/{index.ts → index.js} +32 -40
- package/src/utilities/{plugins.ts → plugins.js} +4 -5
- package/src/utilities/queue/inMemoryQueue.js +122 -0
- package/src/utilities/{redis.ts → redis.js} +20 -21
- package/src/utilities/routing/index.js +25 -0
- package/src/utilities/rowProcessor/{index.ts → index.js} +144 -67
- package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
- package/src/utilities/{scriptRunner.ts → scriptRunner.js} +4 -8
- package/src/utilities/security.js +71 -0
- package/src/utilities/{statusCodes.ts → statusCodes.js} +1 -1
- package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
- package/src/utilities/usageQuota/{usageQuoteReset.ts → usageQuoteReset.js} +1 -1
- package/src/utilities/{users.ts → users.js} +13 -11
- package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
- package/src/watch.ts +3 -2
- package/tsconfig.build.json +2 -1
- package/tsconfig.json +1 -3
- package/builder/assets/index.0c44dac3.css +0 -6
- package/builder/assets/index.8935424b.js +0 -1021
- package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
- package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
- package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
- package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
- package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
- package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
- package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
- package/coverage/lcov-report/src/api/controllers/index.html +0 -431
- package/coverage/lcov-report/src/api/controllers/integration.ts.html +0 -124
- package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
- package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
- package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
- package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
- package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
- package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
- package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
- package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -136
- package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
- package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
- package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
- package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
- package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
- package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
- package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
- package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
- package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
- package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
- package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
- package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
- package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
- package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
- package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
- package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
- package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
- package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2260
- package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
- package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
- package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
- package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -694
- package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
- package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
- package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
- package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
- package/coverage/lcov-report/src/api/routes/analytics.ts.html +0 -112
- package/coverage/lcov-report/src/api/routes/apikeys.ts.html +0 -121
- package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
- package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
- package/coverage/lcov-report/src/api/routes/datasource.ts.html +0 -265
- package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
- package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
- package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
- package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
- package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
- package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
- package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -493
- package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
- package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
- package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
- package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
- package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
- package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
- package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
- package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
- package/coverage/lcov-report/src/api/routes/role.ts.html +0 -157
- package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
- package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
- package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
- package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +0 -367
- package/coverage/lcov-report/src/api/routes/webhook.ts.html +0 -166
- package/coverage/lcov-report/src/app.ts.html +0 -406
- package/coverage/lcov-report/src/automations/logging/index.html +0 -116
- package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
- package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -382
- package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -349
- package/coverage/lcov-report/src/automations/steps/index.html +0 -371
- package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
- package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +0 -265
- package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +0 -196
- package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +0 -130
- package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
- package/coverage/lcov-report/src/constants/index.ts.html +0 -697
- package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +0 -2059
- package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +0 -541
- package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +0 -427
- package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +0 -403
- package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +0 -559
- package/coverage/lcov-report/src/db/dynamoClient.ts.html +0 -526
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +0 -265
- package/coverage/lcov-report/src/db/linkedRows/index.html +0 -161
- package/coverage/lcov-report/src/environment.ts.html +0 -457
- package/coverage/lcov-report/src/events/utils.ts.html +0 -319
- package/coverage/lcov-report/src/index.html +0 -191
- package/coverage/lcov-report/src/index.ts.html +0 -133
- package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
- package/coverage/lcov-report/src/integrations/base/index.html +0 -161
- package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
- package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
- package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
- package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
- package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
- package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
- package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
- package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1315
- package/coverage/lcov-report/src/integrations/index.html +0 -371
- package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
- package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
- package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
- package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -964
- package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
- package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
- package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
- package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
- package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
- package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
- package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
- package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
- package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1018
- package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
- package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
- package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
- package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
- package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
- package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
- package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
- package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
- package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
- package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
- package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
- package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
- package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
- package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
- package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
- package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
- package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
- package/coverage/lcov-report/src/migrations/functions/index.html +0 -161
- package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
- package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +0 -520
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
- package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
- package/coverage/lcov-report/src/migrations/index.ts.html +0 -430
- package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
- package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
- package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
- package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
- package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
- package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
- package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
- package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
- package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
- package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
- package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
- package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
- package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
- package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
- package/coverage/lcov-report/src/startup.ts.html +0 -499
- package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +0 -1966
- package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +0 -127
- package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
- package/coverage/lcov-report/src/tests/utilities/structures.ts.html +0 -667
- package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
- package/coverage/lcov-report/src/threads/index.html +0 -161
- package/coverage/lcov-report/src/threads/index.ts.html +0 -418
- package/coverage/lcov-report/src/threads/query.ts.html +0 -961
- package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
- package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +0 -547
- package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +0 -1129
- package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +0 -142
- package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
- package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
- package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
- package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +0 -373
- package/coverage/lcov-report/src/watch.ts.html +0 -196
- package/dist/db/defaultData/datasource_bb_default.js +0 -573
- package/dist/db/defaultData/employeeImport.js +0 -155
- package/dist/db/defaultData/expensesImport.js +0 -117
- package/dist/db/defaultData/inventoryImport.js +0 -109
- package/dist/db/defaultData/jobsImport.js +0 -152
- package/dist/db/linkedRows/LinkDocument.js +0 -32
- package/dist/events/BudibaseEmitter.js +0 -24
- package/dist/migrations/functions/tableSettings.js +0 -130
- package/dist/utilities/rowProcessor/map.js +0 -99
- package/jest.config.ts +0 -33
- package/src/api/controllers/integration.ts +0 -13
- package/src/api/controllers/migrations.ts +0 -14
- package/src/api/controllers/script.ts +0 -12
- package/src/api/routes/analytics.ts +0 -9
- package/src/api/routes/apikeys.ts +0 -12
- package/src/api/routes/automation.ts +0 -87
- package/src/api/routes/cloud.ts +0 -18
- package/src/api/routes/component.ts +0 -14
- package/src/api/routes/datasource.ts +0 -60
- package/src/api/routes/deploy.ts +0 -21
- package/src/api/routes/dev.ts +0 -38
- package/src/api/routes/integration.ts +0 -16
- package/src/api/routes/layout.ts +0 -16
- package/src/api/routes/migrations.ts +0 -14
- package/src/api/routes/permission.ts +0 -41
- package/src/api/routes/role.ts +0 -24
- package/src/api/routes/routing.ts +0 -14
- package/src/api/routes/screen.ts +0 -23
- package/src/api/routes/script.ts +0 -10
- package/src/api/routes/templates.ts +0 -16
- package/src/api/routes/user.ts +0 -51
- package/src/api/routes/view.ts +0 -34
- package/src/automations/bullboard.ts +0 -38
- package/src/automations/index.ts +0 -26
- package/src/automations/tests/utilities/index.ts +0 -60
- package/src/automations/triggerInfo/index.ts +0 -15
- package/src/constants/index.ts +0 -204
- package/src/constants/screens.ts +0 -48
- package/src/db/defaultData/datasource_bb_default.ts +0 -658
- package/src/db/defaultData/employeeImport.ts +0 -152
- package/src/db/defaultData/expensesImport.ts +0 -114
- package/src/db/defaultData/inventoryImport.ts +0 -106
- package/src/db/defaultData/jobsImport.ts +0 -158
- package/src/db/index.ts +0 -16
- package/src/db/linkedRows/LinkDocument.ts +0 -60
- package/src/events/index.ts +0 -5
- package/src/events/utils.ts +0 -78
- package/src/middleware/appInfo.ts +0 -20
- package/src/middleware/publicApi.ts +0 -21
- package/src/migrations/functions/tableSettings.ts +0 -145
- package/src/migrations/functions/tests/tableSettings.spec.ts +0 -144
- package/src/tests/utilities/controllers.ts +0 -14
- package/src/utilities/budibaseDir.ts +0 -3
- package/src/utilities/global.ts +0 -138
- package/src/utilities/routing/index.ts +0 -32
- package/src/utilities/rowProcessor/map.ts +0 -96
- package/src/utilities/security.ts +0 -65
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for
|
|
6
|
+
<title>Code coverage report for api/controllers/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,25 +222,18 @@
|
|
|
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">46x</span>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
232
226
|
<span class="cline-any cline-neutral"> </span>
|
|
233
227
|
<span class="cline-any cline-neutral"> </span>
|
|
234
228
|
<span class="cline-any cline-neutral"> </span>
|
|
235
229
|
<span class="cline-any cline-neutral"> </span>
|
|
236
230
|
<span class="cline-any cline-neutral"> </span>
|
|
231
|
+
<span class="cline-any cline-yes">45x</span>
|
|
232
|
+
<span class="cline-any cline-yes">45x</span>
|
|
233
|
+
<span class="cline-any cline-yes">45x</span>
|
|
234
|
+
<span class="cline-any cline-yes">45x</span>
|
|
237
235
|
<span class="cline-any cline-neutral"> </span>
|
|
238
|
-
<span class="cline-any cline-yes">
|
|
239
|
-
<span class="cline-any cline-yes">46x</span>
|
|
240
|
-
<span class="cline-any cline-yes">46x</span>
|
|
241
|
-
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-neutral"> </span>
|
|
243
|
-
<span class="cline-any cline-yes">46x</span>
|
|
236
|
+
<span class="cline-any cline-yes">45x</span>
|
|
244
237
|
<span class="cline-any cline-yes">4x</span>
|
|
245
238
|
<span class="cline-any cline-yes">4x</span>
|
|
246
239
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -265,7 +258,7 @@
|
|
|
265
258
|
<span class="cline-any cline-neutral"> </span>
|
|
266
259
|
<span class="cline-any cline-neutral"> </span>
|
|
267
260
|
<span class="cline-any cline-neutral"> </span>
|
|
268
|
-
<span class="cline-any cline-yes">
|
|
261
|
+
<span class="cline-any cline-yes">45x</span>
|
|
269
262
|
<span class="cline-any cline-yes">2x</span>
|
|
270
263
|
<span class="cline-any cline-yes">2x</span>
|
|
271
264
|
<span class="cline-any cline-yes">2x</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>
|
|
@@ -299,11 +291,7 @@
|
|
|
299
291
|
<span class="cline-any cline-yes">2x</span>
|
|
300
292
|
<span class="cline-any cline-neutral"> </span>
|
|
301
293
|
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-yes">
|
|
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>
|
|
294
|
+
<span class="cline-any cline-yes">45x</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>
|
|
@@ -341,7 +329,7 @@
|
|
|
341
329
|
<span class="cline-any cline-neutral"> </span>
|
|
342
330
|
<span class="cline-any cline-neutral"> </span>
|
|
343
331
|
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
332
|
+
<span class="cline-any cline-yes">45x</span>
|
|
345
333
|
<span class="cline-any cline-yes">1x</span>
|
|
346
334
|
<span class="cline-any cline-yes">1x</span>
|
|
347
335
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -357,7 +345,7 @@
|
|
|
357
345
|
<span class="cline-any cline-neutral"> </span>
|
|
358
346
|
<span class="cline-any cline-neutral"> </span>
|
|
359
347
|
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-yes">
|
|
348
|
+
<span class="cline-any cline-yes">45x</span>
|
|
361
349
|
<span class="cline-any cline-neutral"> </span>
|
|
362
350
|
<span class="cline-any cline-no"> </span>
|
|
363
351
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -367,7 +355,7 @@
|
|
|
367
355
|
<span class="cline-any cline-no"> </span>
|
|
368
356
|
<span class="cline-any cline-neutral"> </span>
|
|
369
357
|
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-yes">
|
|
358
|
+
<span class="cline-any cline-yes">45x</span>
|
|
371
359
|
<span class="cline-any cline-no"> </span>
|
|
372
360
|
<span class="cline-any cline-no"> </span>
|
|
373
361
|
<span class="cline-any cline-no"> </span>
|
|
@@ -375,7 +363,7 @@
|
|
|
375
363
|
<span class="cline-any cline-no"> </span>
|
|
376
364
|
<span class="cline-any cline-neutral"> </span>
|
|
377
365
|
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-yes">
|
|
366
|
+
<span class="cline-any cline-yes">45x</span>
|
|
379
367
|
<span class="cline-any cline-yes">6x</span>
|
|
380
368
|
<span class="cline-any cline-yes">6x</span>
|
|
381
369
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -384,7 +372,7 @@
|
|
|
384
372
|
<span class="cline-any cline-yes">5x</span>
|
|
385
373
|
<span class="cline-any cline-neutral"> </span>
|
|
386
374
|
<span class="cline-any cline-neutral"> </span>
|
|
387
|
-
<span class="cline-any cline-yes">
|
|
375
|
+
<span class="cline-any cline-yes">45x</span>
|
|
388
376
|
<span class="cline-any cline-yes">1x</span>
|
|
389
377
|
<span class="cline-any cline-no"> </span>
|
|
390
378
|
<span class="cline-any cline-no"> </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 Mon Dec 05 2022 09:32:59 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,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> viewBuilder.js</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">92.
|
|
26
|
+
<span class="strong">92.5% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>37/40</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">88.88% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>32/36</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">92.
|
|
47
|
+
<span class="strong">92.5% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>37/40</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -246,21 +246,7 @@
|
|
|
246
246
|
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
247
|
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
248
|
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
|
|
264
250
|
<span class="cline-any cline-neutral"> </span>
|
|
265
251
|
<span class="cline-any cline-neutral"> </span>
|
|
266
252
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -270,25 +256,15 @@
|
|
|
270
256
|
<span class="cline-any cline-neutral"> </span>
|
|
271
257
|
<span class="cline-any cline-neutral"> </span>
|
|
272
258
|
<span class="cline-any cline-neutral"> </span>
|
|
273
|
-
<span class="cline-any cline-yes">47x</span>
|
|
274
259
|
<span class="cline-any cline-neutral"> </span>
|
|
275
260
|
<span class="cline-any cline-neutral"> </span>
|
|
261
|
+
<span class="cline-any cline-yes">46x</span>
|
|
276
262
|
<span class="cline-any cline-neutral"> </span>
|
|
277
263
|
<span class="cline-any cline-neutral"> </span>
|
|
278
264
|
<span class="cline-any cline-neutral"> </span>
|
|
279
265
|
<span class="cline-any cline-neutral"> </span>
|
|
280
266
|
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-
|
|
282
|
-
<span class="cline-any cline-neutral"> </span>
|
|
283
|
-
<span class="cline-any cline-neutral"> </span>
|
|
284
|
-
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-yes">47x</span>
|
|
286
|
-
<span class="cline-any cline-neutral"> </span>
|
|
287
|
-
<span class="cline-any cline-neutral"> </span>
|
|
288
|
-
<span class="cline-any cline-neutral"> </span>
|
|
289
|
-
<span class="cline-any cline-neutral"> </span>
|
|
290
|
-
<span class="cline-any cline-neutral"> </span>
|
|
291
|
-
<span class="cline-any cline-neutral"> </span>
|
|
267
|
+
<span class="cline-any cline-yes">46x</span>
|
|
292
268
|
<span class="cline-any cline-yes">18x</span>
|
|
293
269
|
<span class="cline-any cline-neutral"> </span>
|
|
294
270
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -297,19 +273,19 @@
|
|
|
297
273
|
<span class="cline-any cline-neutral"> </span>
|
|
298
274
|
<span class="cline-any cline-neutral"> </span>
|
|
299
275
|
<span class="cline-any cline-neutral"> </span>
|
|
300
|
-
<span class="cline-any cline-yes">
|
|
276
|
+
<span class="cline-any cline-yes">46x</span>
|
|
301
277
|
<span class="cline-any cline-neutral"> </span>
|
|
302
278
|
<span class="cline-any cline-neutral"> </span>
|
|
303
279
|
<span class="cline-any cline-neutral"> </span>
|
|
304
280
|
<span class="cline-any cline-neutral"> </span>
|
|
305
281
|
<span class="cline-any cline-neutral"> </span>
|
|
306
|
-
<span class="cline-any cline-yes">
|
|
282
|
+
<span class="cline-any cline-yes">46x</span>
|
|
307
283
|
<span class="cline-any cline-neutral"> </span>
|
|
308
284
|
<span class="cline-any cline-neutral"> </span>
|
|
309
285
|
<span class="cline-any cline-neutral"> </span>
|
|
310
286
|
<span class="cline-any cline-neutral"> </span>
|
|
311
287
|
<span class="cline-any cline-neutral"> </span>
|
|
312
|
-
<span class="cline-any cline-yes">
|
|
288
|
+
<span class="cline-any cline-yes">46x</span>
|
|
313
289
|
<span class="cline-any cline-neutral"> </span>
|
|
314
290
|
<span class="cline-any cline-neutral"> </span>
|
|
315
291
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -398,12 +374,6 @@
|
|
|
398
374
|
<span class="cline-any cline-neutral"> </span>
|
|
399
375
|
<span class="cline-any cline-neutral"> </span>
|
|
400
376
|
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-yes">47x</span>
|
|
402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-neutral"> </span>
|
|
405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-neutral"> </span>
|
|
407
377
|
<span class="cline-any cline-neutral"> </span>
|
|
408
378
|
<span class="cline-any cline-neutral"> </span>
|
|
409
379
|
<span class="cline-any cline-yes">27x</span>
|
|
@@ -457,17 +427,9 @@
|
|
|
457
427
|
<span class="cline-any cline-neutral"> </span>
|
|
458
428
|
<span class="cline-any cline-neutral"> </span>
|
|
459
429
|
<span class="cline-any cline-neutral"> </span>
|
|
460
|
-
<span class="cline-any cline-neutral"> </span
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
field: string
|
|
464
|
-
tableId: string
|
|
465
|
-
groupBy: string
|
|
466
|
-
filters: ViewFilter[]
|
|
467
|
-
calculation: string
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
const TOKEN_MAP: Record<string, string> = {
|
|
430
|
+
<span class="cline-any cline-neutral"> </span>
|
|
431
|
+
<span class="cline-any cline-yes">46x</span>
|
|
432
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const TOKEN_MAP = {
|
|
471
433
|
EQUALS: "===",
|
|
472
434
|
NOT_EQUALS: "!==",
|
|
473
435
|
LT: "<",
|
|
@@ -479,13 +441,13 @@ const TOKEN_MAP: Record<string, string> = {
|
|
|
479
441
|
OR: "||",
|
|
480
442
|
}
|
|
481
443
|
|
|
482
|
-
const CONDITIONS
|
|
444
|
+
const CONDITIONS = {
|
|
483
445
|
EMPTY: "EMPTY",
|
|
484
446
|
NOT_EMPTY: "NOT_EMPTY",
|
|
485
447
|
CONTAINS: "CONTAINS",
|
|
486
448
|
}
|
|
487
449
|
|
|
488
|
-
|
|
450
|
+
const isEmptyExpression = key => {
|
|
489
451
|
return `(
|
|
490
452
|
doc["${key}"] === undefined ||
|
|
491
453
|
doc["${key}"] === null ||
|
|
@@ -494,19 +456,19 @@ function isEmptyExpression(key: string) {
|
|
|
494
456
|
)`
|
|
495
457
|
}
|
|
496
458
|
|
|
497
|
-
const GROUP_PROPERTY
|
|
459
|
+
const GROUP_PROPERTY = {
|
|
498
460
|
group: {
|
|
499
461
|
type: "string",
|
|
500
462
|
},
|
|
501
463
|
}
|
|
502
464
|
|
|
503
|
-
const FIELD_PROPERTY
|
|
465
|
+
const FIELD_PROPERTY = {
|
|
504
466
|
field: {
|
|
505
467
|
type: "string",
|
|
506
468
|
},
|
|
507
469
|
}
|
|
508
470
|
|
|
509
|
-
const SCHEMA_MAP
|
|
471
|
+
const SCHEMA_MAP = {
|
|
510
472
|
sum: {
|
|
511
473
|
field: "string",
|
|
512
474
|
value: "number",
|
|
@@ -543,7 +505,7 @@ const SCHEMA_MAP: Record<string, any> = {
|
|
|
543
505
|
* @param {Array} filters - an array of filter objects
|
|
544
506
|
* @returns {String} JS Expression
|
|
545
507
|
*/
|
|
546
|
-
function parseFilterExpression(filters
|
|
508
|
+
function parseFilterExpression(filters) {
|
|
547
509
|
const expression = []
|
|
548
510
|
|
|
549
511
|
let first = true
|
|
@@ -580,7 +542,7 @@ function parseFilterExpression(filters: ViewFilter[]) {
|
|
|
580
542
|
* @param {String?} field - field to use for calculations, if any
|
|
581
543
|
* @param {String?} groupBy - field to group calculation results on, if any
|
|
582
544
|
*/
|
|
583
|
-
function parseEmitExpression(field
|
|
545
|
+
function parseEmitExpression(field, groupBy) {
|
|
584
546
|
return `emit(doc["${groupBy || "_id"}"], doc["${field}"]);`
|
|
585
547
|
}
|
|
586
548
|
|
|
@@ -595,13 +557,7 @@ function parseEmitExpression(field: string, groupBy: string) {
|
|
|
595
557
|
* filters: Array of filter objects containing predicates that are parsed into a JS expression
|
|
596
558
|
* calculation: an optional calculation to be performed over the view data.
|
|
597
559
|
*/
|
|
598
|
-
|
|
599
|
-
field,
|
|
600
|
-
tableId,
|
|
601
|
-
groupBy,
|
|
602
|
-
filters = [],
|
|
603
|
-
calculation,
|
|
604
|
-
}: ViewTemplateOpts) {
|
|
560
|
+
function viewTemplate({ field, tableId, groupBy, filters = [], calculation }) {
|
|
605
561
|
// first filter can't have a conjunction
|
|
606
562
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (filters && filters.length > 0 && filters[0].conjunction) {
|
|
607
563
|
<span class="cstat-no" title="statement not covered" > delete filters[0].conjunction</span>
|
|
@@ -615,7 +571,7 @@ export = function ({
|
|
|
615
571
|
...(groupBy ? GROUP_PROPERTY : FIELD_PROPERTY),
|
|
616
572
|
...SCHEMA_MAP[calculation],
|
|
617
573
|
}
|
|
618
|
-
if (
|
|
574
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (
|
|
619
575
|
!filters.find(
|
|
620
576
|
filter =>
|
|
621
577
|
filter.key === field && filter.condition === CONDITIONS.NOT_EMPTY
|
|
@@ -654,6 +610,8 @@ export = function ({
|
|
|
654
610
|
...reduction,
|
|
655
611
|
}
|
|
656
612
|
}
|
|
613
|
+
|
|
614
|
+
module.exports = viewTemplate
|
|
657
615
|
</pre></td></tr></table></pre>
|
|
658
616
|
|
|
659
617
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -661,16 +619,16 @@ export = function ({
|
|
|
661
619
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
662
620
|
Code coverage generated by
|
|
663
621
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
664
|
-
at
|
|
622
|
+
at Mon Dec 05 2022 09:32:59 GMT+0000 (Coordinated Universal Time)
|
|
665
623
|
</div>
|
|
666
|
-
<script src="
|
|
624
|
+
<script src="../../../prettify.js"></script>
|
|
667
625
|
<script>
|
|
668
626
|
window.onload = function () {
|
|
669
627
|
prettyPrint();
|
|
670
628
|
};
|
|
671
629
|
</script>
|
|
672
|
-
<script src="
|
|
673
|
-
<script src="
|
|
630
|
+
<script src="../../../sorter.js"></script>
|
|
631
|
+
<script src="../../../block-navigation.js"></script>
|
|
674
632
|
</body>
|
|
675
633
|
</html>
|
|
676
634
|
|