@budibase/server 1.0.49-alpha.9 → 1.0.49
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__/arangojs.ts +1 -1
- package/__mocks__/aws-sdk.ts +4 -4
- package/__mocks__/mongodb.ts +5 -4
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +1 -2
- package/__mocks__/pg.ts +5 -3
- package/builder/assets/{index.ad5370ae.js → index.2c37968e.js} +246 -249
- package/builder/assets/index.39e01193.css +1 -0
- package/builder/assets/{vendor.d526bfe8.js → vendor.f9faf6ab.js} +12 -12
- package/builder/index.html +3 -3
- package/coverage/clover.xml +2827 -3117
- package/coverage/coverage-final.json +101 -106
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +152 -257
- package/coverage/lcov-report/api/controllers/auth.js.html +13 -22
- package/coverage/lcov-report/api/controllers/automation.js.html +69 -39
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +11 -8
- package/coverage/lcov-report/api/controllers/component.js.html +16 -13
- package/coverage/lcov-report/api/controllers/datasource.js.html +51 -81
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/{utilities/usageQuota/usageQuoteReset.js.html → api/controllers/hosting.js.html} +48 -36
- package/coverage/lcov-report/api/controllers/index.html +76 -76
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
- package/coverage/lcov-report/api/controllers/metadata.js.html +21 -6
- package/coverage/lcov-report/api/controllers/permission.js.html +19 -19
- package/coverage/lcov-report/api/controllers/query/index.html +10 -10
- package/coverage/lcov-report/api/controllers/query/index.js.html +35 -38
- package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
- package/coverage/lcov-report/api/controllers/role.js.html +16 -16
- package/coverage/lcov-report/api/controllers/routing.js.html +10 -7
- package/coverage/lcov-report/api/controllers/row/external.js.html +141 -48
- package/coverage/lcov-report/api/controllers/row/index.html +40 -55
- package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
- package/coverage/lcov-report/api/controllers/row/internal.js.html +226 -118
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +34 -52
- package/coverage/lcov-report/api/controllers/row/utils.js.html +62 -47
- package/coverage/lcov-report/api/controllers/screen.js.html +21 -15
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/external.js.html +34 -25
- package/coverage/lcov-report/api/controllers/table/index.html +43 -58
- package/coverage/lcov-report/api/controllers/table/index.js.html +82 -58
- package/coverage/lcov-report/api/controllers/table/internal.js.html +66 -81
- package/coverage/lcov-report/api/controllers/table/utils.js.html +110 -218
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +50 -47
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
- package/coverage/lcov-report/api/controllers/view/index.html +16 -16
- package/coverage/lcov-report/api/controllers/view/index.js.html +33 -27
- package/coverage/lcov-report/api/controllers/view/utils.js.html +20 -35
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
- package/coverage/lcov-report/api/controllers/webhook.js.html +28 -34
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +8 -8
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/{migrations.js.html → hosting.js.html} +14 -17
- package/coverage/lcov-report/api/routes/index.html +18 -18
- package/coverage/lcov-report/api/routes/index.js.html +3 -3
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +2 -17
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +24 -24
- package/coverage/lcov-report/automations/automationUtils.js.html +10 -7
- package/coverage/lcov-report/automations/bullboard.js.html +16 -16
- package/coverage/lcov-report/automations/index.html +18 -18
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
- package/coverage/lcov-report/automations/steps/createRow.js.html +22 -13
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +20 -11
- package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
- package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
- package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
- package/coverage/lcov-report/automations/steps/index.html +13 -13
- package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
- package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
- package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
- package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
- package/coverage/lcov-report/automations/steps/updateRow.js.html +7 -7
- package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
- package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
- package/coverage/lcov-report/automations/triggers.js.html +55 -61
- package/coverage/lcov-report/automations/utils.js.html +42 -54
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +26 -53
- package/coverage/lcov-report/constants/layouts.js.html +5 -5
- package/coverage/lcov-report/constants/screens.js.html +4 -4
- package/coverage/lcov-report/db/client.js.html +18 -18
- package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
- package/coverage/lcov-report/db/index.html +15 -15
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +37 -25
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +96 -51
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +42 -42
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +87 -87
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +5 -5
- package/coverage/lcov-report/events/utils.js.html +3 -3
- package/coverage/lcov-report/index.html +120 -135
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +65 -173
- package/coverage/lcov-report/middleware/builder.js.html +10 -10
- package/coverage/lcov-report/middleware/currentapp.js.html +83 -95
- package/coverage/lcov-report/middleware/index.html +38 -38
- package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +53 -281
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +24 -30
- package/coverage/lcov-report/threads/index.html +26 -26
- package/coverage/lcov-report/threads/index.js.html +10 -10
- package/coverage/lcov-report/threads/query.js.html +24 -39
- package/coverage/lcov-report/threads/utils.js.html +14 -14
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
- package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
- package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
- package/coverage/lcov-report/utilities/global.js.html +49 -58
- package/coverage/lcov-report/utilities/index.html +37 -37
- package/coverage/lcov-report/utilities/index.js.html +73 -43
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
- package/coverage/lcov-report/utilities/rowProcessor/index.html +27 -27
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +103 -97
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +27 -75
- package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
- package/coverage/lcov-report/utilities/security.js.html +8 -8
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +9 -9
- package/coverage/lcov-report/utilities/workerRequests.js.html +112 -43
- package/coverage/lcov.info +4431 -5013
- package/dist/api/controllers/application.js +60 -90
- package/dist/api/controllers/auth.js +5 -8
- package/dist/api/controllers/automation.js +19 -14
- package/dist/api/controllers/cloud.js +3 -2
- package/dist/api/controllers/component.js +4 -3
- package/dist/api/controllers/datasource.js +10 -20
- package/dist/api/controllers/deploy/Deployment.js +6 -3
- package/dist/api/controllers/deploy/index.js +13 -12
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/hosting.js +30 -0
- package/dist/api/controllers/layout.js +3 -3
- package/dist/api/controllers/metadata.js +4 -4
- package/dist/api/controllers/permission.js +4 -4
- package/dist/api/controllers/query/import/index.js +6 -4
- package/dist/api/controllers/query/index.js +10 -11
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +6 -5
- package/dist/api/controllers/row/ExternalRequest.js +67 -90
- package/dist/api/controllers/row/external.js +22 -14
- package/dist/api/controllers/row/internal.js +93 -55
- package/dist/api/controllers/row/internalSearch.js +17 -23
- package/dist/api/controllers/row/utils.js +14 -13
- package/dist/api/controllers/screen.js +7 -5
- package/dist/api/controllers/static/index.js +12 -61
- package/dist/api/controllers/table/external.js +10 -7
- package/dist/api/controllers/table/index.js +13 -16
- package/dist/api/controllers/table/internal.js +16 -22
- package/dist/api/controllers/table/utils.js +35 -62
- package/dist/api/controllers/user.js +20 -18
- package/dist/api/controllers/view/index.js +10 -8
- package/dist/api/controllers/view/utils.js +4 -9
- package/dist/api/controllers/webhook.js +8 -10
- package/dist/api/routes/hosting.js +11 -0
- package/dist/api/routes/index.js +2 -2
- package/dist/api/routes/static.js +1 -2
- package/dist/api/routes/tests/utilities/TestFunctions.js +17 -37
- package/dist/app.js +5 -35
- package/dist/automations/automationUtils.js +3 -2
- package/dist/automations/steps/createRow.js +5 -3
- package/dist/automations/steps/deleteRow.js +4 -1
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +25 -27
- package/dist/automations/utils.js +5 -10
- package/dist/constants/index.js +0 -7
- package/dist/db/linkedRows/LinkController.js +7 -3
- package/dist/db/linkedRows/index.js +27 -16
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +10 -9
- package/dist/definitions/datasource.js +0 -1
- package/dist/environment.js +1 -4
- package/dist/integrations/base/sql.js +14 -56
- package/dist/integrations/index.js +0 -3
- package/dist/integrations/utils.js +9 -60
- package/dist/middleware/authorized.js +30 -57
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +37 -41
- package/dist/middleware/usageQuota.js +15 -82
- package/dist/package.json +5 -8
- package/dist/tests/utilities/TestConfiguration.js +50 -80
- package/dist/threads/automation.js +11 -13
- package/dist/threads/query.js +11 -15
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +3 -4
- package/dist/utilities/global.js +12 -15
- package/dist/utilities/index.js +17 -7
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +17 -23
- package/dist/utilities/rowProcessor/utils.js +4 -14
- package/dist/utilities/{usageQuota/index.js → usageQuota.js} +31 -45
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +24 -4
- package/nodemon.json +1 -1
- package/package.json +6 -9
- package/scripts/integrations/postgres/init.sql +6 -11
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +50 -85
- package/src/api/controllers/auth.js +5 -8
- package/src/api/controllers/automation.js +23 -13
- package/src/api/controllers/cloud.js +3 -2
- package/src/api/controllers/component.js +4 -3
- package/src/api/controllers/datasource.js +11 -21
- package/src/api/controllers/deploy/Deployment.js +7 -3
- package/src/api/controllers/deploy/index.js +13 -20
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/hosting.js +22 -0
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +9 -4
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +6 -4
- package/src/api/controllers/query/import/tests/index.spec.js +1 -2
- package/src/api/controllers/query/index.js +10 -11
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +6 -5
- package/src/api/controllers/row/ExternalRequest.ts +43 -67
- package/src/api/controllers/row/external.js +58 -27
- package/src/api/controllers/row/internal.js +90 -54
- package/src/api/controllers/row/internalSearch.js +17 -23
- package/src/api/controllers/row/utils.js +18 -13
- package/src/api/controllers/screen.js +7 -5
- package/src/api/controllers/static/index.js +12 -65
- package/src/api/controllers/table/external.js +10 -7
- package/src/api/controllers/table/index.js +28 -20
- package/src/api/controllers/table/internal.js +19 -24
- package/src/api/controllers/table/utils.js +42 -78
- package/src/api/controllers/user.js +20 -19
- package/src/api/controllers/view/index.js +10 -8
- package/src/api/controllers/view/utils.js +4 -9
- package/src/api/controllers/webhook.js +8 -10
- package/src/api/routes/hosting.js +13 -0
- package/src/api/routes/index.js +2 -2
- package/src/api/routes/static.js +0 -5
- package/src/api/routes/tests/application.spec.js +2 -2
- package/src/api/routes/tests/auth.spec.js +2 -1
- package/src/api/routes/tests/automation.spec.js +0 -1
- package/src/api/routes/tests/hosting.spec.js +36 -0
- package/src/api/routes/tests/misc.spec.js +1 -0
- package/src/api/routes/tests/routing.spec.js +12 -21
- package/src/api/routes/tests/row.spec.js +4 -7
- package/src/api/routes/tests/utilities/TestFunctions.js +17 -39
- package/src/app.ts +5 -18
- package/src/automations/automationUtils.js +3 -2
- package/src/automations/steps/createRow.js +5 -2
- package/src/automations/steps/deleteRow.js +4 -1
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +31 -33
- package/src/automations/utils.js +5 -9
- package/src/constants/index.js +0 -9
- package/src/db/linkedRows/LinkController.js +7 -3
- package/src/db/linkedRows/index.js +31 -16
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +1 -0
- package/src/db/tests/linkTests.spec.js +6 -5
- package/src/db/views/staticViews.js +10 -8
- package/src/definitions/common.ts +0 -3
- package/src/definitions/datasource.ts +0 -3
- package/src/environment.js +1 -4
- package/src/integrations/base/sql.ts +21 -69
- package/src/integrations/index.ts +0 -3
- package/src/integrations/tests/sql.spec.js +0 -16
- package/src/integrations/utils.ts +12 -75
- package/src/middleware/authorized.js +30 -66
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +46 -50
- package/src/middleware/tests/authorized.spec.js +6 -13
- package/src/middleware/tests/currentapp.spec.js +0 -6
- package/src/middleware/tests/usageQuota.spec.js +24 -18
- package/src/middleware/usageQuota.js +17 -93
- package/src/tests/utilities/TestConfiguration.js +55 -82
- package/src/threads/automation.js +15 -17
- package/src/threads/query.js +12 -17
- package/src/utilities/fileSystem/index.js +3 -4
- package/src/utilities/global.js +12 -15
- package/src/utilities/index.js +17 -7
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +27 -25
- package/src/utilities/rowProcessor/utils.js +7 -23
- package/src/utilities/usageQuota.js +73 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +27 -4
- package/tsconfig.json +1 -2
- package/builder/assets/index.83c0944f.css +0 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +0 -119
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +0 -548
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +0 -599
- package/coverage/lcov-report/utilities/usageQuota/index.html +0 -141
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +0 -305
- package/dist/api/controllers/migrations.js +0 -21
- package/dist/api/controllers/row/staticFormula.js +0 -147
- package/dist/api/controllers/table/bulkFormula.js +0 -159
- package/dist/api/routes/migrations.js +0 -9
- package/dist/integrations/googlesheets.js +0 -340
- package/dist/migrations/functions/appUrls.js +0 -46
- package/dist/migrations/functions/quotas1.js +0 -50
- package/dist/migrations/functions/usageQuotas/index.js +0 -20
- package/dist/migrations/functions/usageQuotas/syncApps.js +0 -29
- package/dist/migrations/functions/usageQuotas/syncRows.js +0 -33
- package/dist/migrations/functions/userEmailViewCasing.js +0 -24
- package/dist/migrations/index.js +0 -62
- package/dist/utilities/usageQuota/rows.js +0 -78
- package/dist/utilities/usageQuota/usageQuoteReset.js +0 -16
- package/src/api/controllers/migrations.js +0 -13
- package/src/api/controllers/row/staticFormula.js +0 -156
- package/src/api/controllers/table/bulkFormula.js +0 -173
- package/src/api/routes/migrations.js +0 -14
- package/src/api/routes/tests/static.spec.js +0 -98
- package/src/integrations/googlesheets.ts +0 -353
- package/src/migrations/functions/appUrls.ts +0 -34
- package/src/migrations/functions/quotas1.ts +0 -20
- package/src/migrations/functions/tests/appUrls.spec.js +0 -29
- package/src/migrations/functions/tests/quotas1.spec.js +0 -27
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +0 -25
- package/src/migrations/functions/usageQuotas/index.ts +0 -8
- package/src/migrations/functions/usageQuotas/syncApps.ts +0 -18
- package/src/migrations/functions/usageQuotas/syncRows.ts +0 -22
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -37
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -43
- package/src/migrations/functions/userEmailViewCasing.ts +0 -13
- package/src/migrations/index.ts +0 -56
- package/src/module.d.ts +0 -3
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
- package/src/utilities/usageQuota/index.js +0 -93
- package/src/utilities/usageQuota/rows.js +0 -75
- package/src/utilities/usageQuota/usageQuoteReset.js +0 -18
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">81.81% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>45/55</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">70% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>7/10</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">83.01% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>44/53</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
57
|
</div>
|
|
58
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line high'></div>
|
|
59
59
|
<pre><table class="coverage">
|
|
60
60
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
61
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -155,72 +155,88 @@
|
|
|
155
155
|
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
156
|
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
157
|
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
-
<a name='L99'></a><a href='#L99'>99</a
|
|
159
|
-
<
|
|
160
|
-
<
|
|
161
|
-
<
|
|
162
|
-
<
|
|
163
|
-
<
|
|
164
|
-
<
|
|
158
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
159
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
160
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
161
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
162
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
163
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
164
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
165
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
166
|
+
<a name='L107'></a><a href='#L107'>107</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
167
|
+
<span class="cline-any cline-yes">34x</span>
|
|
168
|
+
<span class="cline-any cline-yes">34x</span>
|
|
169
|
+
<span class="cline-any cline-yes">34x</span>
|
|
170
|
+
<span class="cline-any cline-yes">34x</span>
|
|
171
|
+
<span class="cline-any cline-neutral"> </span>
|
|
172
|
+
<span class="cline-any cline-neutral"> </span>
|
|
173
|
+
<span class="cline-any cline-neutral"> </span>
|
|
174
|
+
<span class="cline-any cline-neutral"> </span>
|
|
175
|
+
<span class="cline-any cline-yes">34x</span>
|
|
176
|
+
<span class="cline-any cline-yes">34x</span>
|
|
165
177
|
<span class="cline-any cline-neutral"> </span>
|
|
166
178
|
<span class="cline-any cline-neutral"> </span>
|
|
167
|
-
<span class="cline-any cline-yes">103x</span>
|
|
168
179
|
<span class="cline-any cline-yes">101x</span>
|
|
180
|
+
<span class="cline-any cline-yes">99x</span>
|
|
169
181
|
<span class="cline-any cline-neutral"> </span>
|
|
170
|
-
<span class="cline-any cline-yes">
|
|
182
|
+
<span class="cline-any cline-yes">101x</span>
|
|
171
183
|
<span class="cline-any cline-no"> </span>
|
|
172
|
-
<span class="cline-any cline-yes">
|
|
184
|
+
<span class="cline-any cline-yes">101x</span>
|
|
173
185
|
<span class="cline-any cline-no"> </span>
|
|
174
186
|
<span class="cline-any cline-neutral"> </span>
|
|
175
|
-
<span class="cline-any cline-yes">
|
|
187
|
+
<span class="cline-any cline-yes">101x</span>
|
|
176
188
|
<span class="cline-any cline-neutral"> </span>
|
|
177
189
|
<span class="cline-any cline-neutral"> </span>
|
|
178
190
|
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-yes">
|
|
191
|
+
<span class="cline-any cline-yes">34x</span>
|
|
180
192
|
<span class="cline-any cline-yes">1x</span>
|
|
181
193
|
<span class="cline-any cline-neutral"> </span>
|
|
182
194
|
<span class="cline-any cline-yes">1x</span>
|
|
183
195
|
<span class="cline-any cline-neutral"> </span>
|
|
184
|
-
<span class="cline-any cline-yes">1x</span>
|
|
185
196
|
<span class="cline-any cline-neutral"> </span>
|
|
186
197
|
<span class="cline-any cline-neutral"> </span>
|
|
187
198
|
<span class="cline-any cline-neutral"> </span>
|
|
188
199
|
<span class="cline-any cline-neutral"> </span>
|
|
200
|
+
<span class="cline-any cline-yes">2x</span>
|
|
201
|
+
<span class="cline-any cline-neutral"> </span>
|
|
202
|
+
<span class="cline-any cline-neutral"> </span>
|
|
203
|
+
<span class="cline-any cline-neutral"> </span>
|
|
189
204
|
<span class="cline-any cline-neutral"> </span>
|
|
190
|
-
<span class="cline-any cline-yes">1x</span>
|
|
191
|
-
<span class="cline-any cline-no"> </span>
|
|
192
|
-
<span class="cline-any cline-no"> </span>
|
|
193
|
-
<span class="cline-any cline-no"> </span>
|
|
194
205
|
<span class="cline-any cline-neutral"> </span>
|
|
206
|
+
<span class="cline-any cline-yes">1x</span>
|
|
195
207
|
<span class="cline-any cline-neutral"> </span>
|
|
196
208
|
<span class="cline-any cline-neutral"> </span>
|
|
197
209
|
<span class="cline-any cline-neutral"> </span>
|
|
198
210
|
<span class="cline-any cline-neutral"> </span>
|
|
199
211
|
<span class="cline-any cline-neutral"> </span>
|
|
212
|
+
<span class="cline-any cline-yes">1x</span>
|
|
200
213
|
<span class="cline-any cline-no"> </span>
|
|
201
214
|
<span class="cline-any cline-neutral"> </span>
|
|
202
215
|
<span class="cline-any cline-neutral"> </span>
|
|
203
216
|
<span class="cline-any cline-neutral"> </span>
|
|
217
|
+
<span class="cline-any cline-neutral"> </span>
|
|
218
|
+
<span class="cline-any cline-neutral"> </span>
|
|
219
|
+
<span class="cline-any cline-neutral"> </span>
|
|
204
220
|
<span class="cline-any cline-yes">1x</span>
|
|
205
221
|
<span class="cline-any cline-neutral"> </span>
|
|
206
222
|
<span class="cline-any cline-neutral"> </span>
|
|
207
|
-
<span class="cline-any cline-yes">
|
|
223
|
+
<span class="cline-any cline-yes">34x</span>
|
|
208
224
|
<span class="cline-any cline-yes">19x</span>
|
|
209
225
|
<span class="cline-any cline-yes">19x</span>
|
|
210
226
|
<span class="cline-any cline-neutral"> </span>
|
|
211
227
|
<span class="cline-any cline-neutral"> </span>
|
|
212
|
-
<span class="cline-any cline-yes">
|
|
213
|
-
<span class="cline-any cline-yes">
|
|
214
|
-
<span class="cline-any cline-yes">
|
|
215
|
-
<span class="cline-any cline-yes">
|
|
216
|
-
<span class="cline-any cline-yes">
|
|
217
|
-
<span class="cline-any cline-yes">
|
|
218
|
-
<span class="cline-any cline-yes">
|
|
228
|
+
<span class="cline-any cline-yes">34x</span>
|
|
229
|
+
<span class="cline-any cline-yes">99x</span>
|
|
230
|
+
<span class="cline-any cline-yes">99x</span>
|
|
231
|
+
<span class="cline-any cline-yes">99x</span>
|
|
232
|
+
<span class="cline-any cline-yes">99x</span>
|
|
233
|
+
<span class="cline-any cline-yes">99x</span>
|
|
234
|
+
<span class="cline-any cline-yes">99x</span>
|
|
219
235
|
<span class="cline-any cline-neutral"> </span>
|
|
220
|
-
<span class="cline-any cline-yes">
|
|
236
|
+
<span class="cline-any cline-yes">99x</span>
|
|
221
237
|
<span class="cline-any cline-neutral"> </span>
|
|
222
238
|
<span class="cline-any cline-neutral"> </span>
|
|
223
|
-
<span class="cline-any cline-yes">
|
|
239
|
+
<span class="cline-any cline-yes">34x</span>
|
|
224
240
|
<span class="cline-any cline-yes">2x</span>
|
|
225
241
|
<span class="cline-any cline-yes">2x</span>
|
|
226
242
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -230,7 +246,7 @@
|
|
|
230
246
|
<span class="cline-any cline-yes">2x</span>
|
|
231
247
|
<span class="cline-any cline-neutral"> </span>
|
|
232
248
|
<span class="cline-any cline-neutral"> </span>
|
|
233
|
-
<span class="cline-any cline-yes">
|
|
249
|
+
<span class="cline-any cline-yes">34x</span>
|
|
234
250
|
<span class="cline-any cline-no"> </span>
|
|
235
251
|
<span class="cline-any cline-no"> </span>
|
|
236
252
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -240,7 +256,7 @@
|
|
|
240
256
|
<span class="cline-any cline-no"> </span>
|
|
241
257
|
<span class="cline-any cline-neutral"> </span>
|
|
242
258
|
<span class="cline-any cline-neutral"> </span>
|
|
243
|
-
<span class="cline-any cline-yes">
|
|
259
|
+
<span class="cline-any cline-yes">34x</span>
|
|
244
260
|
<span class="cline-any cline-neutral"> </span>
|
|
245
261
|
<span class="cline-any cline-yes">1x</span>
|
|
246
262
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -253,13 +269,17 @@
|
|
|
253
269
|
<span class="cline-any cline-neutral"> </span>
|
|
254
270
|
<span class="cline-any cline-yes">1x</span>
|
|
255
271
|
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
272
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
|
|
273
|
+
const internal = require("./internal")
|
|
257
274
|
const external = require("./external")
|
|
258
275
|
const csvParser = require("../../../utilities/csvParser")
|
|
259
|
-
const { isExternalTable
|
|
260
|
-
const {
|
|
261
|
-
|
|
262
|
-
|
|
276
|
+
const { isExternalTable } = require("../../../integrations/utils")
|
|
277
|
+
const {
|
|
278
|
+
getTableParams,
|
|
279
|
+
getDatasourceParams,
|
|
280
|
+
BudibaseInternalDB,
|
|
281
|
+
} = require("../../../db/utils")
|
|
282
|
+
const { getTable } = require("./utils")
|
|
263
283
|
|
|
264
284
|
function pickApi({ tableId, table }) {
|
|
265
285
|
if (table && !tableId) {
|
|
@@ -275,9 +295,19 @@ function pickApi({ tableId, table }) {
|
|
|
275
295
|
|
|
276
296
|
// covers both internal and external
|
|
277
297
|
exports.fetch = async function (ctx) {
|
|
278
|
-
const db =
|
|
298
|
+
const db = new CouchDB(ctx.appId)
|
|
299
|
+
|
|
300
|
+
const internalTables = await db.allDocs(
|
|
301
|
+
getTableParams(null, {
|
|
302
|
+
include_docs: true,
|
|
303
|
+
})
|
|
304
|
+
)
|
|
279
305
|
|
|
280
|
-
const internal =
|
|
306
|
+
const internal = internalTables.rows.map(row => ({
|
|
307
|
+
...row.doc,
|
|
308
|
+
type: "internal",
|
|
309
|
+
sourceId: BudibaseInternalDB._id,
|
|
310
|
+
}))
|
|
281
311
|
|
|
282
312
|
const externalTables = await db.allDocs(
|
|
283
313
|
getDatasourceParams("plus", {
|
|
@@ -285,18 +315,12 @@ exports.fetch = async function (ctx) {
|
|
|
285
315
|
})
|
|
286
316
|
)
|
|
287
317
|
|
|
288
|
-
const external = externalTables.rows.flatMap(<span class="fstat-no" title="function not covered" >
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
sourceId: tableDoc.doc._id,
|
|
295
|
-
sql: isSQL(tableDoc.doc),
|
|
296
|
-
}))
|
|
297
|
-
} else {
|
|
298
|
-
<span class="cstat-no" title="statement not covered" > return []</span>
|
|
299
|
-
}
|
|
318
|
+
const external = externalTables.rows.flatMap(<span class="fstat-no" title="function not covered" >ro</span>w => {
|
|
319
|
+
<span class="cstat-no" title="statement not covered" > return Object.values(row.doc.entities || {}).map(<span class="fstat-no" title="function not covered" >en</span>tity => (<span class="cstat-no" title="statement not covered" >{</span></span>
|
|
320
|
+
...entity,
|
|
321
|
+
type: "external",
|
|
322
|
+
sourceId: row.doc._id,
|
|
323
|
+
}))
|
|
300
324
|
})
|
|
301
325
|
|
|
302
326
|
ctx.body = [...internal, ...external]
|
|
@@ -304,7 +328,7 @@ exports.fetch = async function (ctx) {
|
|
|
304
328
|
|
|
305
329
|
exports.find = async function (ctx) {
|
|
306
330
|
const tableId = ctx.params.id
|
|
307
|
-
ctx.body = await getTable(tableId)
|
|
331
|
+
ctx.body = await getTable(ctx.appId, tableId)
|
|
308
332
|
}
|
|
309
333
|
|
|
310
334
|
exports.save = async function (ctx) {
|
|
@@ -343,7 +367,7 @@ exports.validateCSVSchema = async function (ctx) {
|
|
|
343
367
|
const { csvString, schema = {}, tableId } = ctx.request.body
|
|
344
368
|
let existingTable
|
|
345
369
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId) {
|
|
346
|
-
<span class="cstat-no" title="statement not covered" > existingTable = await getTable(tableId)</span>
|
|
370
|
+
<span class="cstat-no" title="statement not covered" > existingTable = await getTable(ctx.appId, tableId)</span>
|
|
347
371
|
}
|
|
348
372
|
let result = await csvParser.parse(csvString, schema)
|
|
349
373
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (existingTable) {
|
|
@@ -358,7 +382,7 @@ exports.validateCSVSchema = async function (ctx) {
|
|
|
358
382
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
359
383
|
Code coverage generated by
|
|
360
384
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
361
|
-
at
|
|
385
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
362
386
|
</div>
|
|
363
387
|
</div>
|
|
364
388
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">74.6% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>47/63</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">71.87% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>23/
|
|
35
|
+
<span class='fraction'>23/32</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">60% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>3/5</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">78.33% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>47/60</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -208,30 +208,22 @@
|
|
|
208
208
|
<a name='L149'></a><a href='#L149'>149</a>
|
|
209
209
|
<a name='L150'></a><a href='#L150'>150</a>
|
|
210
210
|
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
|
-
<
|
|
213
|
-
<
|
|
214
|
-
<
|
|
215
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
-
<a name='L157'></a><a href='#L157'>157</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
217
|
-
<span class="cline-any cline-yes">39x</span>
|
|
218
|
-
<span class="cline-any cline-yes">39x</span>
|
|
211
|
+
<a name='L152'></a><a href='#L152'>152</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
212
|
+
<span class="cline-any cline-yes">34x</span>
|
|
213
|
+
<span class="cline-any cline-yes">34x</span>
|
|
214
|
+
<span class="cline-any cline-yes">34x</span>
|
|
219
215
|
<span class="cline-any cline-neutral"> </span>
|
|
220
216
|
<span class="cline-any cline-neutral"> </span>
|
|
221
217
|
<span class="cline-any cline-neutral"> </span>
|
|
222
218
|
<span class="cline-any cline-neutral"> </span>
|
|
223
219
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-yes">
|
|
225
|
-
<span class="cline-any cline-yes">39x</span>
|
|
226
|
-
<span class="cline-any cline-yes">39x</span>
|
|
227
|
-
<span class="cline-any cline-yes">39x</span>
|
|
228
|
-
<span class="cline-any cline-yes">39x</span>
|
|
229
|
-
<span class="cline-any cline-yes">39x</span>
|
|
220
|
+
<span class="cline-any cline-yes">34x</span>
|
|
230
221
|
<span class="cline-any cline-neutral"> </span>
|
|
231
|
-
<span class="cline-any cline-yes">
|
|
232
|
-
<span class="cline-any cline-yes">
|
|
233
|
-
<span class="cline-any cline-yes">
|
|
234
|
-
<span class="cline-any cline-yes">
|
|
222
|
+
<span class="cline-any cline-yes">34x</span>
|
|
223
|
+
<span class="cline-any cline-yes">99x</span>
|
|
224
|
+
<span class="cline-any cline-yes">99x</span>
|
|
225
|
+
<span class="cline-any cline-yes">99x</span>
|
|
226
|
+
<span class="cline-any cline-yes">99x</span>
|
|
235
227
|
<span class="cline-any cline-neutral"> </span>
|
|
236
228
|
<span class="cline-any cline-neutral"> </span>
|
|
237
229
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -240,26 +232,27 @@
|
|
|
240
232
|
<span class="cline-any cline-neutral"> </span>
|
|
241
233
|
<span class="cline-any cline-neutral"> </span>
|
|
242
234
|
<span class="cline-any cline-neutral"> </span>
|
|
243
|
-
<span class="cline-any cline-yes">
|
|
235
|
+
<span class="cline-any cline-yes">99x</span>
|
|
244
236
|
<span class="cline-any cline-yes">4x</span>
|
|
245
237
|
<span class="cline-any cline-neutral"> </span>
|
|
246
238
|
<span class="cline-any cline-neutral"> </span>
|
|
247
|
-
<span class="cline-any cline-yes">
|
|
239
|
+
<span class="cline-any cline-yes">99x</span>
|
|
248
240
|
<span class="cline-any cline-no"> </span>
|
|
249
241
|
<span class="cline-any cline-neutral"> </span>
|
|
250
242
|
<span class="cline-any cline-neutral"> </span>
|
|
251
243
|
<span class="cline-any cline-neutral"> </span>
|
|
252
244
|
<span class="cline-any cline-neutral"> </span>
|
|
253
|
-
<span class="cline-any cline-yes">
|
|
245
|
+
<span class="cline-any cline-yes">99x</span>
|
|
254
246
|
<span class="cline-any cline-neutral"> </span>
|
|
255
247
|
<span class="cline-any cline-neutral"> </span>
|
|
256
248
|
<span class="cline-any cline-neutral"> </span>
|
|
257
249
|
<span class="cline-any cline-neutral"> </span>
|
|
258
|
-
<span class="cline-any cline-yes">101x</span>
|
|
259
250
|
<span class="cline-any cline-neutral"> </span>
|
|
251
|
+
<span class="cline-any cline-yes">99x</span>
|
|
260
252
|
<span class="cline-any cline-neutral"> </span>
|
|
261
253
|
<span class="cline-any cline-neutral"> </span>
|
|
262
|
-
<span class="cline-any cline-
|
|
254
|
+
<span class="cline-any cline-neutral"> </span>
|
|
255
|
+
<span class="cline-any cline-yes">99x</span>
|
|
263
256
|
<span class="cline-any cline-yes">4x</span>
|
|
264
257
|
<span class="cline-any cline-yes">13x</span>
|
|
265
258
|
<span class="cline-any cline-yes">13x</span>
|
|
@@ -269,7 +262,7 @@
|
|
|
269
262
|
<span class="cline-any cline-neutral"> </span>
|
|
270
263
|
<span class="cline-any cline-neutral"> </span>
|
|
271
264
|
<span class="cline-any cline-neutral"> </span>
|
|
272
|
-
<span class="cline-any cline-yes">
|
|
265
|
+
<span class="cline-any cline-yes">99x</span>
|
|
273
266
|
<span class="cline-any cline-neutral"> </span>
|
|
274
267
|
<span class="cline-any cline-neutral"> </span>
|
|
275
268
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -282,10 +275,10 @@
|
|
|
282
275
|
<span class="cline-any cline-neutral"> </span>
|
|
283
276
|
<span class="cline-any cline-neutral"> </span>
|
|
284
277
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-yes">
|
|
278
|
+
<span class="cline-any cline-yes">99x</span>
|
|
286
279
|
<span class="cline-any cline-neutral"> </span>
|
|
287
280
|
<span class="cline-any cline-neutral"> </span>
|
|
288
|
-
<span class="cline-any cline-yes">
|
|
281
|
+
<span class="cline-any cline-yes">99x</span>
|
|
289
282
|
<span class="cline-any cline-no"> </span>
|
|
290
283
|
<span class="cline-any cline-no"> </span>
|
|
291
284
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -294,15 +287,16 @@
|
|
|
294
287
|
<span class="cline-any cline-neutral"> </span>
|
|
295
288
|
<span class="cline-any cline-neutral"> </span>
|
|
296
289
|
<span class="cline-any cline-neutral"> </span>
|
|
297
|
-
<span class="cline-any cline-yes">
|
|
298
|
-
<span class="cline-any cline-yes">
|
|
290
|
+
<span class="cline-any cline-yes">99x</span>
|
|
291
|
+
<span class="cline-any cline-yes">99x</span>
|
|
292
|
+
<span class="cline-any cline-neutral"> </span>
|
|
299
293
|
<span class="cline-any cline-neutral"> </span>
|
|
300
294
|
<span class="cline-any cline-neutral"> </span>
|
|
301
295
|
<span class="cline-any cline-neutral"> </span>
|
|
302
296
|
<span class="cline-any cline-neutral"> </span>
|
|
303
297
|
<span class="cline-any cline-neutral"> </span>
|
|
304
298
|
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-yes">
|
|
299
|
+
<span class="cline-any cline-yes">99x</span>
|
|
306
300
|
<span class="cline-any cline-yes">4x</span>
|
|
307
301
|
<span class="cline-any cline-neutral"> </span>
|
|
308
302
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -311,20 +305,20 @@
|
|
|
311
305
|
<span class="cline-any cline-neutral"> </span>
|
|
312
306
|
<span class="cline-any cline-neutral"> </span>
|
|
313
307
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-yes">
|
|
315
|
-
<span class="cline-any cline-yes">
|
|
308
|
+
<span class="cline-any cline-yes">99x</span>
|
|
309
|
+
<span class="cline-any cline-yes">99x</span>
|
|
316
310
|
<span class="cline-any cline-yes">1x</span>
|
|
317
311
|
<span class="cline-any cline-neutral"> </span>
|
|
318
|
-
<span class="cline-any cline-yes">
|
|
319
|
-
<span class="cline-any cline-yes">
|
|
312
|
+
<span class="cline-any cline-yes">99x</span>
|
|
313
|
+
<span class="cline-any cline-yes">99x</span>
|
|
320
314
|
<span class="cline-any cline-neutral"> </span>
|
|
321
|
-
<span class="cline-any cline-yes">
|
|
315
|
+
<span class="cline-any cline-yes">99x</span>
|
|
322
316
|
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-yes">
|
|
324
|
-
<span class="cline-any cline-yes">101x</span>
|
|
317
|
+
<span class="cline-any cline-yes">99x</span>
|
|
325
318
|
<span class="cline-any cline-neutral"> </span>
|
|
326
319
|
<span class="cline-any cline-neutral"> </span>
|
|
327
|
-
<span class="cline-any cline-yes">
|
|
320
|
+
<span class="cline-any cline-yes">34x</span>
|
|
321
|
+
<span class="cline-any cline-yes">2x</span>
|
|
328
322
|
<span class="cline-any cline-yes">2x</span>
|
|
329
323
|
<span class="cline-any cline-yes">2x</span>
|
|
330
324
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -335,7 +329,6 @@
|
|
|
335
329
|
<span class="cline-any cline-neutral"> </span>
|
|
336
330
|
<span class="cline-any cline-neutral"> </span>
|
|
337
331
|
<span class="cline-any cline-yes">2x</span>
|
|
338
|
-
<span class="cline-any cline-yes">2x</span>
|
|
339
332
|
<span class="cline-any cline-neutral"> </span>
|
|
340
333
|
<span class="cline-any cline-neutral"> </span>
|
|
341
334
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -344,32 +337,30 @@
|
|
|
344
337
|
<span class="cline-any cline-neutral"> </span>
|
|
345
338
|
<span class="cline-any cline-neutral"> </span>
|
|
346
339
|
<span class="cline-any cline-neutral"> </span>
|
|
340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
347
341
|
<span class="cline-any cline-yes">2x</span>
|
|
348
342
|
<span class="cline-any cline-neutral"> </span>
|
|
349
343
|
<span class="cline-any cline-neutral"> </span>
|
|
350
344
|
<span class="cline-any cline-yes">2x</span>
|
|
351
|
-
<span class="cline-any cline-
|
|
352
|
-
<span class="cline-any cline-
|
|
353
|
-
<span class="cline-any cline-no"> </span>
|
|
345
|
+
<span class="cline-any cline-yes">2x</span>
|
|
346
|
+
<span class="cline-any cline-yes">2x</span>
|
|
354
347
|
<span class="cline-any cline-neutral"> </span>
|
|
348
|
+
<span class="cline-any cline-yes">2x</span>
|
|
355
349
|
<span class="cline-any cline-no"> </span>
|
|
356
|
-
<span class="cline-any cline-no"> </span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
350
|
<span class="cline-any cline-neutral"> </span>
|
|
359
351
|
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-yes">2x</span>
|
|
362
|
-
<span class="cline-any cline-yes">2x</span>
|
|
363
352
|
<span class="cline-any cline-yes">2x</span>
|
|
364
353
|
<span class="cline-any cline-neutral"> </span>
|
|
365
354
|
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-yes">
|
|
355
|
+
<span class="cline-any cline-yes">34x</span>
|
|
356
|
+
<span class="cline-any cline-no"> </span>
|
|
367
357
|
<span class="cline-any cline-no"> </span>
|
|
368
358
|
<span class="cline-any cline-no"> </span>
|
|
369
359
|
<span class="cline-any cline-no"> </span>
|
|
370
360
|
<span class="cline-any cline-no"> </span>
|
|
371
361
|
<span class="cline-any cline-neutral"> </span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
362
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
|
|
363
|
+
const linkRows = require("../../../db/linkedRows")
|
|
373
364
|
const { getRowParams, generateTableID } = require("../../../db/utils")
|
|
374
365
|
const { FieldTypes } = require("../../../constants")
|
|
375
366
|
const {
|
|
@@ -378,14 +369,10 @@ const {
|
|
|
378
369
|
getTable,
|
|
379
370
|
handleDataImport,
|
|
380
371
|
} = require("./utils")
|
|
381
|
-
const usageQuota = require("../../../utilities/usageQuota")
|
|
382
|
-
const { getAppDB } = require("@budibase/backend-core/context")
|
|
383
|
-
const env = require("../../../environment")
|
|
384
|
-
const { cleanupAttachments } = require("../../../utilities/rowProcessor")
|
|
385
|
-
const { runStaticFormulaChecks } = require("./bulkFormula")
|
|
386
372
|
|
|
387
373
|
exports.save = async function (ctx) {
|
|
388
|
-
const
|
|
374
|
+
const appId = ctx.appId
|
|
375
|
+
const db = new CouchDB(appId)
|
|
389
376
|
const { dataImport, ...rest } = ctx.request.body
|
|
390
377
|
let tableToSave = {
|
|
391
378
|
type: "table",
|
|
@@ -407,7 +394,8 @@ exports.save = async function (ctx) {
|
|
|
407
394
|
// saving a table is a complex operation, involving many different steps, this
|
|
408
395
|
// has been broken out into a utility to make it more obvious/easier to manipulate
|
|
409
396
|
const tableSaveFunctions = new TableSaveFunctions({
|
|
410
|
-
|
|
397
|
+
db,
|
|
398
|
+
ctx,
|
|
411
399
|
oldTable,
|
|
412
400
|
dataImport,
|
|
413
401
|
})
|
|
@@ -452,6 +440,7 @@ exports.save = async function (ctx) {
|
|
|
452
440
|
// update linked rows
|
|
453
441
|
try {
|
|
454
442
|
const linkResp = await linkRows.updateLinks({
|
|
443
|
+
appId,
|
|
455
444
|
eventType: oldTable
|
|
456
445
|
? linkRows.EventType.TABLE_UPDATED
|
|
457
446
|
: linkRows.EventType.TABLE_SAVE,
|
|
@@ -475,13 +464,13 @@ exports.save = async function (ctx) {
|
|
|
475
464
|
tableToSave._rev = result.rev
|
|
476
465
|
|
|
477
466
|
tableToSave = await tableSaveFunctions.after(tableToSave)
|
|
478
|
-
|
|
479
|
-
await runStaticFormulaChecks(tableToSave, { oldTable })
|
|
467
|
+
|
|
480
468
|
return tableToSave
|
|
481
469
|
}
|
|
482
470
|
|
|
483
471
|
exports.destroy = async function (ctx) {
|
|
484
|
-
const
|
|
472
|
+
const appId = ctx.appId
|
|
473
|
+
const db = new CouchDB(appId)
|
|
485
474
|
const tableToDelete = await db.get(ctx.params.tableId)
|
|
486
475
|
|
|
487
476
|
// Delete all rows for that table
|
|
@@ -491,10 +480,10 @@ exports.destroy = async function (ctx) {
|
|
|
491
480
|
})
|
|
492
481
|
)
|
|
493
482
|
await db.bulkDocs(rows.rows.map(<span class="fstat-no" title="function not covered" >ro</span>w => (<span class="cstat-no" title="statement not covered" >{ ...row.doc, _deleted: true })</span>))
|
|
494
|
-
await usageQuota.update(usageQuota.Properties.ROW, -rows.rows.length)
|
|
495
483
|
|
|
496
484
|
// update linked rows
|
|
497
485
|
await linkRows.updateLinks({
|
|
486
|
+
appId,
|
|
498
487
|
eventType: linkRows.EventType.TABLE_DELETE,
|
|
499
488
|
table: tableToDelete,
|
|
500
489
|
})
|
|
@@ -503,26 +492,22 @@ exports.destroy = async function (ctx) {
|
|
|
503
492
|
await db.remove(tableToDelete)
|
|
504
493
|
|
|
505
494
|
// remove table search index
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
<span class="cstat-no" title="statement not covered" >
|
|
512
|
-
<span class="cstat-no" title="statement not covered" > await db.deleteIndex(existingIndex)</span>
|
|
513
|
-
}
|
|
495
|
+
const currentIndexes = await db.getIndexes()
|
|
496
|
+
const existingIndex = currentIndexes.indexes.find(
|
|
497
|
+
existing => existing.name === `search:${ctx.params.tableId}`
|
|
498
|
+
)
|
|
499
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (existingIndex) {
|
|
500
|
+
<span class="cstat-no" title="statement not covered" > await db.deleteIndex(existingIndex)</span>
|
|
514
501
|
}
|
|
515
502
|
|
|
516
|
-
// has to run after, make sure it has _id
|
|
517
|
-
await runStaticFormulaChecks(tableToDelete, { deletion: true })
|
|
518
|
-
await cleanupAttachments(tableToDelete, { rows })
|
|
519
503
|
return tableToDelete
|
|
520
504
|
}
|
|
521
505
|
|
|
522
506
|
exports.bulkImport = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
523
|
-
const
|
|
507
|
+
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
508
|
+
const table = <span class="cstat-no" title="statement not covered" >await getTable(appId, ctx.params.tableId)</span>
|
|
524
509
|
const { dataImport } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
525
|
-
<span class="cstat-no" title="statement not covered" > await handleDataImport(ctx.user, table, dataImport)</span>
|
|
510
|
+
<span class="cstat-no" title="statement not covered" > await handleDataImport(appId, ctx.user, table, dataImport)</span>
|
|
526
511
|
<span class="cstat-no" title="statement not covered" > return table</span>
|
|
527
512
|
}
|
|
528
513
|
</pre></td></tr></table></pre>
|
|
@@ -532,7 +517,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
532
517
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
533
518
|
Code coverage generated by
|
|
534
519
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
535
|
-
at
|
|
520
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
536
521
|
</div>
|
|
537
522
|
</div>
|
|
538
523
|
<script src="../../../prettify.js"></script>
|