@budibase/server 1.0.49-alpha.6 → 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.1b905242.js → index.2c37968e.js} +231 -234
- 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 +2816 -3119
- 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 +27 -21
- package/coverage/lcov-report/api/controllers/row/index.html +34 -49
- 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 +26 -62
- 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 +4423 -5022
- 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 +63 -76
- package/dist/api/controllers/row/external.js +4 -4
- 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 +6 -13
- 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 +13 -23
- 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/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 +42 -53
- package/src/api/controllers/row/external.js +6 -4
- 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 +7 -14
- 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 +14 -26
- 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/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 -30
- 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 -19
- 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/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,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">64.13% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>118/184</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">41.41% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>41/99</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.71% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>17/28</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">64.
|
|
47
|
+
<span class="strong">64.64% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>117/181</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -438,99 +438,39 @@
|
|
|
438
438
|
<a name='L379'></a><a href='#L379'>379</a>
|
|
439
439
|
<a name='L380'></a><a href='#L380'>380</a>
|
|
440
440
|
<a name='L381'></a><a href='#L381'>381</a>
|
|
441
|
-
<a name='L382'></a><a href='#L382'>382</a>
|
|
442
|
-
<
|
|
443
|
-
<a name='L384'></a><a href='#L384'>384</a>
|
|
444
|
-
<a name='L385'></a><a href='#L385'>385</a>
|
|
445
|
-
<a name='L386'></a><a href='#L386'>386</a>
|
|
446
|
-
<a name='L387'></a><a href='#L387'>387</a>
|
|
447
|
-
<a name='L388'></a><a href='#L388'>388</a>
|
|
448
|
-
<a name='L389'></a><a href='#L389'>389</a>
|
|
449
|
-
<a name='L390'></a><a href='#L390'>390</a>
|
|
450
|
-
<a name='L391'></a><a href='#L391'>391</a>
|
|
451
|
-
<a name='L392'></a><a href='#L392'>392</a>
|
|
452
|
-
<a name='L393'></a><a href='#L393'>393</a>
|
|
453
|
-
<a name='L394'></a><a href='#L394'>394</a>
|
|
454
|
-
<a name='L395'></a><a href='#L395'>395</a>
|
|
455
|
-
<a name='L396'></a><a href='#L396'>396</a>
|
|
456
|
-
<a name='L397'></a><a href='#L397'>397</a>
|
|
457
|
-
<a name='L398'></a><a href='#L398'>398</a>
|
|
458
|
-
<a name='L399'></a><a href='#L399'>399</a>
|
|
459
|
-
<a name='L400'></a><a href='#L400'>400</a>
|
|
460
|
-
<a name='L401'></a><a href='#L401'>401</a>
|
|
461
|
-
<a name='L402'></a><a href='#L402'>402</a>
|
|
462
|
-
<a name='L403'></a><a href='#L403'>403</a>
|
|
463
|
-
<a name='L404'></a><a href='#L404'>404</a>
|
|
464
|
-
<a name='L405'></a><a href='#L405'>405</a>
|
|
465
|
-
<a name='L406'></a><a href='#L406'>406</a>
|
|
466
|
-
<a name='L407'></a><a href='#L407'>407</a>
|
|
467
|
-
<a name='L408'></a><a href='#L408'>408</a>
|
|
468
|
-
<a name='L409'></a><a href='#L409'>409</a>
|
|
469
|
-
<a name='L410'></a><a href='#L410'>410</a>
|
|
470
|
-
<a name='L411'></a><a href='#L411'>411</a>
|
|
471
|
-
<a name='L412'></a><a href='#L412'>412</a>
|
|
472
|
-
<a name='L413'></a><a href='#L413'>413</a>
|
|
473
|
-
<a name='L414'></a><a href='#L414'>414</a>
|
|
474
|
-
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
|
-
<a name='L416'></a><a href='#L416'>416</a>
|
|
476
|
-
<a name='L417'></a><a href='#L417'>417</a>
|
|
477
|
-
<a name='L418'></a><a href='#L418'>418</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
|
|
441
|
+
<a name='L382'></a><a href='#L382'>382</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
442
|
+
<span class="cline-any cline-yes">34x</span>
|
|
478
443
|
<span class="cline-any cline-neutral"> </span>
|
|
479
444
|
<span class="cline-any cline-neutral"> </span>
|
|
480
445
|
<span class="cline-any cline-neutral"> </span>
|
|
481
446
|
<span class="cline-any cline-neutral"> </span>
|
|
447
|
+
<span class="cline-any cline-yes">34x</span>
|
|
448
|
+
<span class="cline-any cline-yes">34x</span>
|
|
449
|
+
<span class="cline-any cline-yes">34x</span>
|
|
450
|
+
<span class="cline-any cline-yes">34x</span>
|
|
482
451
|
<span class="cline-any cline-neutral"> </span>
|
|
483
452
|
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-yes">39x</span>
|
|
485
|
-
<span class="cline-any cline-yes">39x</span>
|
|
486
|
-
<span class="cline-any cline-yes">39x</span>
|
|
487
453
|
<span class="cline-any cline-neutral"> </span>
|
|
488
454
|
<span class="cline-any cline-neutral"> </span>
|
|
455
|
+
<span class="cline-any cline-yes">34x</span>
|
|
489
456
|
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-yes">39x</span>
|
|
491
457
|
<span class="cline-any cline-neutral"> </span>
|
|
492
458
|
<span class="cline-any cline-neutral"> </span>
|
|
459
|
+
<span class="cline-any cline-yes">34x</span>
|
|
460
|
+
<span class="cline-any cline-yes">34x</span>
|
|
461
|
+
<span class="cline-any cline-yes">34x</span>
|
|
493
462
|
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-
|
|
495
|
-
<span class="cline-any cline-yes">
|
|
496
|
-
<span class="cline-any cline-
|
|
497
|
-
<span class="cline-any cline-
|
|
498
|
-
<span class="cline-any cline-
|
|
499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
500
|
-
<span class="cline-any cline-yes">39x</span>
|
|
501
|
-
<span class="cline-any cline-yes">39x</span>
|
|
502
|
-
<span class="cline-any cline-yes">39x</span>
|
|
503
|
-
<span class="cline-any cline-yes">39x</span>
|
|
504
|
-
<span class="cline-any cline-yes">39x</span>
|
|
505
|
-
<span class="cline-any cline-yes">39x</span>
|
|
506
|
-
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-yes">39x</span>
|
|
508
|
-
<span class="cline-any cline-no"> </span>
|
|
509
|
-
<span class="cline-any cline-no"> </span>
|
|
510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-no"> </span>
|
|
515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-no"> </span>
|
|
517
|
-
<span class="cline-any cline-no"> </span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-neutral"> </span>
|
|
520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-yes">39x</span>
|
|
523
|
-
<span class="cline-any cline-yes">101x</span>
|
|
524
|
-
<span class="cline-any cline-yes">101x</span>
|
|
525
|
-
<span class="cline-any cline-yes">101x</span>
|
|
526
|
-
<span class="cline-any cline-yes">101x</span>
|
|
527
|
-
<span class="cline-any cline-yes">101x</span>
|
|
463
|
+
<span class="cline-any cline-yes">34x</span>
|
|
464
|
+
<span class="cline-any cline-yes">99x</span>
|
|
465
|
+
<span class="cline-any cline-yes">99x</span>
|
|
466
|
+
<span class="cline-any cline-yes">99x</span>
|
|
467
|
+
<span class="cline-any cline-yes">99x</span>
|
|
528
468
|
<span class="cline-any cline-yes">4x</span>
|
|
529
469
|
<span class="cline-any cline-yes">11x</span>
|
|
530
470
|
<span class="cline-any cline-neutral"> </span>
|
|
531
471
|
<span class="cline-any cline-neutral"> </span>
|
|
532
472
|
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-yes">
|
|
473
|
+
<span class="cline-any cline-yes">99x</span>
|
|
534
474
|
<span class="cline-any cline-neutral"> </span>
|
|
535
475
|
<span class="cline-any cline-yes">1x</span>
|
|
536
476
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -541,8 +481,6 @@
|
|
|
541
481
|
<span class="cline-any cline-yes">1x</span>
|
|
542
482
|
<span class="cline-any cline-yes">1x</span>
|
|
543
483
|
<span class="cline-any cline-yes">1x</span>
|
|
544
|
-
<span class="cline-any cline-yes">1x</span>
|
|
545
|
-
<span class="cline-any cline-yes">1x</span>
|
|
546
484
|
<span class="cline-any cline-no"> </span>
|
|
547
485
|
<span class="cline-any cline-no"> </span>
|
|
548
486
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -551,15 +489,13 @@
|
|
|
551
489
|
<span class="cline-any cline-neutral"> </span>
|
|
552
490
|
<span class="cline-any cline-neutral"> </span>
|
|
553
491
|
<span class="cline-any cline-yes">1x</span>
|
|
554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
555
|
-
<span class="cline-any cline-yes">1x</span>
|
|
556
492
|
<span class="cline-any cline-yes">1x</span>
|
|
557
493
|
<span class="cline-any cline-neutral"> </span>
|
|
558
|
-
<span class="cline-any cline-yes">
|
|
494
|
+
<span class="cline-any cline-yes">99x</span>
|
|
559
495
|
<span class="cline-any cline-neutral"> </span>
|
|
560
496
|
<span class="cline-any cline-neutral"> </span>
|
|
561
497
|
<span class="cline-any cline-neutral"> </span>
|
|
562
|
-
<span class="cline-any cline-yes">
|
|
498
|
+
<span class="cline-any cline-yes">34x</span>
|
|
563
499
|
<span class="cline-any cline-yes">4x</span>
|
|
564
500
|
<span class="cline-any cline-no"> </span>
|
|
565
501
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -579,9 +515,9 @@
|
|
|
579
515
|
<span class="cline-any cline-yes">4x</span>
|
|
580
516
|
<span class="cline-any cline-neutral"> </span>
|
|
581
517
|
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-yes">
|
|
583
|
-
<span class="cline-any cline-yes">
|
|
584
|
-
<span class="cline-any cline-yes">
|
|
518
|
+
<span class="cline-any cline-yes">34x</span>
|
|
519
|
+
<span class="cline-any cline-yes">100x</span>
|
|
520
|
+
<span class="cline-any cline-yes">99x</span>
|
|
585
521
|
<span class="cline-any cline-neutral"> </span>
|
|
586
522
|
<span class="cline-any cline-neutral"> </span>
|
|
587
523
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -620,19 +556,15 @@
|
|
|
620
556
|
<span class="cline-any cline-neutral"> </span>
|
|
621
557
|
<span class="cline-any cline-neutral"> </span>
|
|
622
558
|
<span class="cline-any cline-yes">1x</span>
|
|
623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
625
|
-
<span class="cline-any cline-yes">1x</span>
|
|
626
|
-
<span class="cline-any cline-yes">1x</span>
|
|
627
559
|
<span class="cline-any cline-yes">1x</span>
|
|
628
560
|
<span class="cline-any cline-yes">1x</span>
|
|
629
561
|
<span class="cline-any cline-yes">1x</span>
|
|
630
562
|
<span class="cline-any cline-neutral"> </span>
|
|
631
563
|
<span class="cline-any cline-neutral"> </span>
|
|
632
|
-
<span class="cline-any cline-yes">
|
|
633
|
-
<span class="cline-any cline-yes">
|
|
564
|
+
<span class="cline-any cline-yes">34x</span>
|
|
565
|
+
<span class="cline-any cline-yes">99x</span>
|
|
634
566
|
<span class="cline-any cline-neutral"> </span>
|
|
635
|
-
<span class="cline-any cline-yes">
|
|
567
|
+
<span class="cline-any cline-yes">99x</span>
|
|
636
568
|
<span class="cline-any cline-yes">2x</span>
|
|
637
569
|
<span class="cline-any cline-yes">2x</span>
|
|
638
570
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -670,12 +602,12 @@
|
|
|
670
602
|
<span class="cline-any cline-neutral"> </span>
|
|
671
603
|
<span class="cline-any cline-neutral"> </span>
|
|
672
604
|
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-yes">
|
|
605
|
+
<span class="cline-any cline-yes">99x</span>
|
|
674
606
|
<span class="cline-any cline-neutral"> </span>
|
|
675
607
|
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-yes">
|
|
608
|
+
<span class="cline-any cline-yes">34x</span>
|
|
677
609
|
<span class="cline-any cline-neutral"> </span>
|
|
678
|
-
<span class="cline-any cline-yes">
|
|
610
|
+
<span class="cline-any cline-yes">99x</span>
|
|
679
611
|
<span class="cline-any cline-yes">1x</span>
|
|
680
612
|
<span class="cline-any cline-neutral"> </span>
|
|
681
613
|
<span class="cline-any cline-yes">5x</span>
|
|
@@ -683,62 +615,60 @@
|
|
|
683
615
|
<span class="cline-any cline-neutral"> </span>
|
|
684
616
|
<span class="cline-any cline-neutral"> </span>
|
|
685
617
|
<span class="cline-any cline-neutral"> </span>
|
|
686
|
-
<span class="cline-any cline-yes">
|
|
618
|
+
<span class="cline-any cline-yes">99x</span>
|
|
687
619
|
<span class="cline-any cline-neutral"> </span>
|
|
688
620
|
<span class="cline-any cline-neutral"> </span>
|
|
689
621
|
<span class="cline-any cline-neutral"> </span>
|
|
690
622
|
<span class="cline-any cline-neutral"> </span>
|
|
691
|
-
<span class="cline-any cline-yes">
|
|
692
|
-
<span class="cline-any cline-yes">
|
|
693
|
-
<span class="cline-any cline-yes">
|
|
694
|
-
<span class="cline-any cline-yes">
|
|
623
|
+
<span class="cline-any cline-yes">99x</span>
|
|
624
|
+
<span class="cline-any cline-yes">99x</span>
|
|
625
|
+
<span class="cline-any cline-yes">99x</span>
|
|
626
|
+
<span class="cline-any cline-yes">99x</span>
|
|
695
627
|
<span class="cline-any cline-neutral"> </span>
|
|
696
|
-
<span class="cline-any cline-yes">
|
|
628
|
+
<span class="cline-any cline-yes">99x</span>
|
|
629
|
+
<span class="cline-any cline-yes">99x</span>
|
|
697
630
|
<span class="cline-any cline-neutral"> </span>
|
|
631
|
+
<span class="cline-any cline-yes">99x</span>
|
|
698
632
|
<span class="cline-any cline-neutral"> </span>
|
|
699
633
|
<span class="cline-any cline-neutral"> </span>
|
|
700
634
|
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-yes">101x</span>
|
|
702
|
-
<span class="cline-any cline-yes">4x</span>
|
|
703
635
|
<span class="cline-any cline-neutral"> </span>
|
|
704
|
-
<span class="cline-any cline-yes">
|
|
705
|
-
<span class="cline-any cline-yes">
|
|
636
|
+
<span class="cline-any cline-yes">99x</span>
|
|
637
|
+
<span class="cline-any cline-yes">4x</span>
|
|
706
638
|
<span class="cline-any cline-neutral"> </span>
|
|
639
|
+
<span class="cline-any cline-yes">99x</span>
|
|
640
|
+
<span class="cline-any cline-yes">99x</span>
|
|
707
641
|
<span class="cline-any cline-neutral"> </span>
|
|
708
642
|
<span class="cline-any cline-neutral"> </span>
|
|
709
643
|
<span class="cline-any cline-neutral"> </span>
|
|
710
|
-
<span class="cline-any cline-yes">101x</span>
|
|
711
|
-
<span class="cline-any cline-yes">101x</span>
|
|
712
|
-
<span class="cline-any cline-yes">101x</span>
|
|
713
644
|
<span class="cline-any cline-neutral"> </span>
|
|
645
|
+
<span class="cline-any cline-yes">99x</span>
|
|
714
646
|
<span class="cline-any cline-neutral"> </span>
|
|
715
647
|
<span class="cline-any cline-neutral"> </span>
|
|
716
648
|
<span class="cline-any cline-neutral"> </span>
|
|
717
|
-
<span class="cline-any cline-yes">101x</span>
|
|
718
|
-
<span class="cline-any cline-yes">101x</span>
|
|
719
|
-
<span class="cline-any cline-yes">101x</span>
|
|
720
649
|
<span class="cline-any cline-neutral"> </span>
|
|
650
|
+
<span class="cline-any cline-yes">99x</span>
|
|
651
|
+
<span class="cline-any cline-yes">99x</span>
|
|
721
652
|
<span class="cline-any cline-neutral"> </span>
|
|
722
653
|
<span class="cline-any cline-neutral"> </span>
|
|
723
|
-
<span class="cline-any cline-yes">101x</span>
|
|
724
654
|
<span class="cline-any cline-neutral"> </span>
|
|
725
655
|
<span class="cline-any cline-neutral"> </span>
|
|
656
|
+
<span class="cline-any cline-yes">99x</span>
|
|
657
|
+
<span class="cline-any cline-yes">99x</span>
|
|
726
658
|
<span class="cline-any cline-neutral"> </span>
|
|
727
|
-
<span class="cline-any cline-yes">39x</span>
|
|
728
|
-
<span class="cline-any cline-yes">207x</span>
|
|
729
|
-
<span class="cline-any cline-yes">207x</span>
|
|
730
659
|
<span class="cline-any cline-neutral"> </span>
|
|
731
660
|
<span class="cline-any cline-neutral"> </span>
|
|
732
661
|
<span class="cline-any cline-neutral"> </span>
|
|
733
662
|
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-yes">
|
|
663
|
+
<span class="cline-any cline-yes">99x</span>
|
|
735
664
|
<span class="cline-any cline-neutral"> </span>
|
|
736
665
|
<span class="cline-any cline-neutral"> </span>
|
|
737
666
|
<span class="cline-any cline-neutral"> </span>
|
|
667
|
+
<span class="cline-any cline-yes">99x</span>
|
|
738
668
|
<span class="cline-any cline-neutral"> </span>
|
|
739
669
|
<span class="cline-any cline-neutral"> </span>
|
|
740
670
|
<span class="cline-any cline-neutral"> </span>
|
|
741
|
-
<span class="cline-any cline-yes">
|
|
671
|
+
<span class="cline-any cline-yes">34x</span>
|
|
742
672
|
<span class="cline-any cline-no"> </span>
|
|
743
673
|
<span class="cline-any cline-no"> </span>
|
|
744
674
|
<span class="cline-any cline-no"> </span>
|
|
@@ -747,24 +677,22 @@
|
|
|
747
677
|
<span class="cline-any cline-no"> </span>
|
|
748
678
|
<span class="cline-any cline-neutral"> </span>
|
|
749
679
|
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-yes">
|
|
680
|
+
<span class="cline-any cline-yes">34x</span>
|
|
751
681
|
<span class="cline-any cline-no"> </span>
|
|
752
682
|
<span class="cline-any cline-no"> </span>
|
|
753
683
|
<span class="cline-any cline-neutral"> </span>
|
|
754
684
|
<span class="cline-any cline-neutral"> </span>
|
|
755
|
-
<span class="cline-any cline-yes">
|
|
685
|
+
<span class="cline-any cline-yes">34x</span>
|
|
756
686
|
<span class="cline-any cline-yes">30x</span>
|
|
757
687
|
<span class="cline-any cline-yes">30x</span>
|
|
758
688
|
<span class="cline-any cline-no"> </span>
|
|
759
689
|
<span class="cline-any cline-no"> </span>
|
|
760
|
-
<span class="cline-any cline-no"> </span>
|
|
761
|
-
<span class="cline-any cline-no"> </span>
|
|
762
690
|
<span class="cline-any cline-neutral"> </span>
|
|
763
691
|
<span class="cline-any cline-yes">30x</span>
|
|
764
692
|
<span class="cline-any cline-neutral"> </span>
|
|
765
693
|
<span class="cline-any cline-neutral"> </span>
|
|
766
694
|
<span class="cline-any cline-neutral"> </span>
|
|
767
|
-
<span class="cline-any cline-yes">
|
|
695
|
+
<span class="cline-any cline-yes">34x</span>
|
|
768
696
|
<span class="cline-any cline-yes">1x</span>
|
|
769
697
|
<span class="cline-any cline-yes">1x</span>
|
|
770
698
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -836,15 +764,15 @@
|
|
|
836
764
|
<span class="cline-any cline-neutral"> </span>
|
|
837
765
|
<span class="cline-any cline-neutral"> </span>
|
|
838
766
|
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-yes">
|
|
767
|
+
<span class="cline-any cline-yes">34x</span>
|
|
840
768
|
<span class="cline-any cline-no"> </span>
|
|
841
769
|
<span class="cline-any cline-neutral"> </span>
|
|
842
770
|
<span class="cline-any cline-neutral"> </span>
|
|
843
|
-
<span class="cline-any cline-yes">
|
|
771
|
+
<span class="cline-any cline-yes">34x</span>
|
|
844
772
|
<span class="cline-any cline-no"> </span>
|
|
845
773
|
<span class="cline-any cline-neutral"> </span>
|
|
846
774
|
<span class="cline-any cline-neutral"> </span>
|
|
847
|
-
<span class="cline-any cline-yes">
|
|
775
|
+
<span class="cline-any cline-yes">34x</span>
|
|
848
776
|
<span class="cline-any cline-no"> </span>
|
|
849
777
|
<span class="cline-any cline-neutral"> </span>
|
|
850
778
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -856,7 +784,7 @@
|
|
|
856
784
|
<span class="cline-any cline-no"> </span>
|
|
857
785
|
<span class="cline-any cline-neutral"> </span>
|
|
858
786
|
<span class="cline-any cline-neutral"> </span>
|
|
859
|
-
<span class="cline-any cline-yes">
|
|
787
|
+
<span class="cline-any cline-yes">34x</span>
|
|
860
788
|
<span class="cline-any cline-no"> </span>
|
|
861
789
|
<span class="cline-any cline-neutral"> </span>
|
|
862
790
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -873,9 +801,9 @@
|
|
|
873
801
|
<span class="cline-any cline-no"> </span>
|
|
874
802
|
<span class="cline-any cline-neutral"> </span>
|
|
875
803
|
<span class="cline-any cline-neutral"> </span>
|
|
876
|
-
<span class="cline-any cline-yes">
|
|
877
|
-
<span class="cline-any cline-yes">
|
|
878
|
-
<span class="cline-any cline-yes">
|
|
804
|
+
<span class="cline-any cline-yes">34x</span>
|
|
805
|
+
<span class="cline-any cline-yes">99x</span>
|
|
806
|
+
<span class="cline-any cline-yes">95x</span>
|
|
879
807
|
<span class="cline-any cline-neutral"> </span>
|
|
880
808
|
<span class="cline-any cline-yes">4x</span>
|
|
881
809
|
<span class="cline-any cline-yes">11x</span>
|
|
@@ -890,21 +818,17 @@
|
|
|
890
818
|
<span class="cline-any cline-yes">4x</span>
|
|
891
819
|
<span class="cline-any cline-neutral"> </span>
|
|
892
820
|
<span class="cline-any cline-neutral"> </span>
|
|
893
|
-
<span class="cline-any cline-yes">
|
|
894
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
821
|
+
<span class="cline-any cline-yes">34x</span>
|
|
822
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
|
|
823
|
+
const csvParser = require("../../../utilities/csvParser")
|
|
895
824
|
const {
|
|
896
825
|
getRowParams,
|
|
897
826
|
generateRowID,
|
|
898
827
|
InternalTables,
|
|
899
|
-
getTableParams,
|
|
900
|
-
BudibaseInternalDB,
|
|
901
828
|
} = require("../../../db/utils")
|
|
902
|
-
const { isEqual } = require("lodash")
|
|
829
|
+
const { isEqual } = require("lodash/fp")
|
|
903
830
|
const { AutoFieldSubTypes, FieldTypes } = require("../../../constants")
|
|
904
|
-
const {
|
|
905
|
-
inputProcessing,
|
|
906
|
-
cleanupAttachments,
|
|
907
|
-
} = require("../../../utilities/rowProcessor")
|
|
831
|
+
const { inputProcessing } = require("../../../utilities/rowProcessor")
|
|
908
832
|
const {
|
|
909
833
|
USERS_TABLE_SCHEMA,
|
|
910
834
|
SwitchableTypes,
|
|
@@ -913,31 +837,11 @@ const {
|
|
|
913
837
|
const {
|
|
914
838
|
isExternalTable,
|
|
915
839
|
breakExternalTableId,
|
|
916
|
-
isSQL,
|
|
917
840
|
} = require("../../../integrations/utils")
|
|
918
841
|
const { getViews, saveView } = require("../view/utils")
|
|
919
842
|
const viewTemplate = require("../view/viewBuilder")
|
|
920
|
-
const usageQuota = require("../../../utilities/usageQuota")
|
|
921
|
-
const { getAppDB } = require("@budibase/backend-core/context")
|
|
922
|
-
const { cloneDeep } = require("lodash/fp")
|
|
923
843
|
|
|
924
|
-
exports.
|
|
925
|
-
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
926
|
-
const rows = <span class="cstat-no" title="statement not covered" >await db.allDocs(</span>
|
|
927
|
-
getRowParams(table._id, null, {
|
|
928
|
-
include_docs: true,
|
|
929
|
-
})
|
|
930
|
-
)
|
|
931
|
-
<span class="cstat-no" title="statement not covered" > return db.bulkDocs(</span>
|
|
932
|
-
rows.rows.map(<span class="fstat-no" title="function not covered" >({</span> doc }) => {
|
|
933
|
-
<span class="cstat-no" title="statement not covered" > columnNames.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete doc[colName])</span></span>
|
|
934
|
-
<span class="cstat-no" title="statement not covered" > return doc</span>
|
|
935
|
-
})
|
|
936
|
-
)
|
|
937
|
-
}
|
|
938
|
-
|
|
939
|
-
exports.checkForColumnUpdates = async (oldTable, updatedTable) => {
|
|
940
|
-
const db = getAppDB()
|
|
844
|
+
exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => {
|
|
941
845
|
let updatedRows = []
|
|
942
846
|
const rename = updatedTable._rename
|
|
943
847
|
let deletedColumns = []
|
|
@@ -954,22 +858,18 @@ exports.checkForColumnUpdates = async (oldTable, updatedTable) => {
|
|
|
954
858
|
include_docs: true,
|
|
955
859
|
})
|
|
956
860
|
)
|
|
957
|
-
|
|
958
|
-
updatedRows = rawRows.map(row => {
|
|
959
|
-
row = cloneDeep(row)
|
|
861
|
+
updatedRows = rows.rows.map(({ doc }) => {
|
|
960
862
|
if (rename) {
|
|
961
|
-
|
|
962
|
-
delete
|
|
863
|
+
doc[rename.updated] = doc[rename.old]
|
|
864
|
+
delete doc[rename.old]
|
|
963
865
|
} else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="else path not taken" >E</span>if (deletedColumns.length !== 0) {</span>
|
|
964
|
-
<span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete
|
|
866
|
+
<span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete doc[colName])</span></span>
|
|
965
867
|
}
|
|
966
|
-
return
|
|
868
|
+
return doc
|
|
967
869
|
})
|
|
968
870
|
|
|
969
|
-
// cleanup any attachments from object storage for deleted attachment columns
|
|
970
|
-
await cleanupAttachments(updatedTable, { oldTable, rows: rawRows })
|
|
971
871
|
// Update views
|
|
972
|
-
await exports.checkForViewUpdates(updatedTable, rename, deletedColumns)
|
|
872
|
+
await exports.checkForViewUpdates(db, updatedTable, rename, deletedColumns)
|
|
973
873
|
delete updatedTable._rename
|
|
974
874
|
}
|
|
975
875
|
return { rows: updatedRows, table: updatedTable }
|
|
@@ -996,12 +896,12 @@ exports.makeSureTableUpToDate = (table, tableToSave) => {
|
|
|
996
896
|
return tableToSave
|
|
997
897
|
}
|
|
998
898
|
|
|
999
|
-
exports.handleDataImport = async (user, table, dataImport) => {
|
|
899
|
+
exports.handleDataImport = async (appId, user, table, dataImport) => {
|
|
1000
900
|
if (!dataImport || !dataImport.csvString) {
|
|
1001
901
|
return table
|
|
1002
902
|
}
|
|
1003
903
|
|
|
1004
|
-
const db =
|
|
904
|
+
const db = new CouchDB(appId)
|
|
1005
905
|
// Populate the table with rows imported from CSV in a bulk update
|
|
1006
906
|
const data = await csvParser.transform({
|
|
1007
907
|
...dataImport,
|
|
@@ -1036,18 +936,14 @@ exports.handleDataImport = async (user, table, dataImport) => {
|
|
|
1036
936
|
finalData.push(row)
|
|
1037
937
|
}
|
|
1038
938
|
|
|
1039
|
-
await usageQuota.update(usageQuota.Properties.ROW, finalData.length, {
|
|
1040
|
-
dryRun: true,
|
|
1041
|
-
})
|
|
1042
939
|
await db.bulkDocs(finalData)
|
|
1043
|
-
await usageQuota.update(usageQuota.Properties.ROW, finalData.length)
|
|
1044
940
|
let response = await db.put(table)
|
|
1045
941
|
table._rev = response._rev
|
|
1046
942
|
return table
|
|
1047
943
|
}
|
|
1048
944
|
|
|
1049
|
-
exports.handleSearchIndexes = async table => {
|
|
1050
|
-
const db =
|
|
945
|
+
exports.handleSearchIndexes = async (appId, table) => {
|
|
946
|
+
const db = new CouchDB(appId)
|
|
1051
947
|
// create relevant search indexes
|
|
1052
948
|
if (table.indexes && table.indexes.length > 0) {
|
|
1053
949
|
const currentIndexes = await db.getIndexes()
|
|
@@ -1104,9 +1000,12 @@ exports.checkStaticTables = table => {
|
|
|
1104
1000
|
}
|
|
1105
1001
|
|
|
1106
1002
|
class TableSaveFunctions {
|
|
1107
|
-
constructor({
|
|
1108
|
-
this.db =
|
|
1109
|
-
this.
|
|
1003
|
+
constructor({ db, ctx, oldTable, dataImport }) {
|
|
1004
|
+
this.db = db
|
|
1005
|
+
this.ctx = ctx
|
|
1006
|
+
if (this.ctx && this.ctx.user) {
|
|
1007
|
+
this.appId = this.ctx.appId
|
|
1008
|
+
}
|
|
1110
1009
|
this.oldTable = oldTable
|
|
1111
1010
|
this.dataImport = dataImport
|
|
1112
1011
|
// any rows that need updated
|
|
@@ -1124,15 +1023,24 @@ class TableSaveFunctions {
|
|
|
1124
1023
|
|
|
1125
1024
|
// when confirmed valid
|
|
1126
1025
|
async mid(table) {
|
|
1127
|
-
let response = await exports.checkForColumnUpdates(
|
|
1026
|
+
let response = await exports.checkForColumnUpdates(
|
|
1027
|
+
this.db,
|
|
1028
|
+
this.oldTable,
|
|
1029
|
+
table
|
|
1030
|
+
)
|
|
1128
1031
|
this.rows = this.rows.concat(response.rows)
|
|
1129
1032
|
return table
|
|
1130
1033
|
}
|
|
1131
1034
|
|
|
1132
1035
|
// after saving
|
|
1133
1036
|
async after(table) {
|
|
1134
|
-
table = await exports.handleSearchIndexes(table)
|
|
1135
|
-
table = await exports.handleDataImport(
|
|
1037
|
+
table = await exports.handleSearchIndexes(this.appId, table)
|
|
1038
|
+
table = await exports.handleDataImport(
|
|
1039
|
+
this.appId,
|
|
1040
|
+
this.ctx.user,
|
|
1041
|
+
table,
|
|
1042
|
+
this.dataImport
|
|
1043
|
+
)
|
|
1136
1044
|
return table
|
|
1137
1045
|
}
|
|
1138
1046
|
|
|
@@ -1141,22 +1049,8 @@ class TableSaveFunctions {
|
|
|
1141
1049
|
}
|
|
1142
1050
|
}
|
|
1143
1051
|
|
|
1144
|
-
exports.
|
|
1145
|
-
const db =
|
|
1146
|
-
const internalTables = await db.allDocs(
|
|
1147
|
-
getTableParams(null, {
|
|
1148
|
-
include_docs: true,
|
|
1149
|
-
})
|
|
1150
|
-
)
|
|
1151
|
-
return internalTables.rows.map(tableDoc => ({
|
|
1152
|
-
...tableDoc.doc,
|
|
1153
|
-
type: "internal",
|
|
1154
|
-
sourceId: BudibaseInternalDB._id,
|
|
1155
|
-
}))
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
|
-
exports.getAllExternalTables = <span class="fstat-no" title="function not covered" >as</span>ync datasourceId => {
|
|
1159
|
-
const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
|
|
1052
|
+
exports.getAllExternalTables = <span class="fstat-no" title="function not covered" >as</span>ync (appId, datasourceId) => {
|
|
1053
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
|
|
1160
1054
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
1161
1055
|
<span class="cstat-no" title="statement not covered" > if (!datasource || !datasource.entities) {</span>
|
|
1162
1056
|
<span class="cstat-no" title="statement not covered" > throw "Datasource is not configured fully."</span>
|
|
@@ -1164,25 +1058,23 @@ exports.getAllExternalTables = <span class="fstat-no" title="function not covere
|
|
|
1164
1058
|
<span class="cstat-no" title="statement not covered" > return datasource.entities</span>
|
|
1165
1059
|
}
|
|
1166
1060
|
|
|
1167
|
-
exports.getExternalTable = <span class="fstat-no" title="function not covered" >as</span>ync (datasourceId, tableName) => {
|
|
1168
|
-
const entities = <span class="cstat-no" title="statement not covered" >await exports.getAllExternalTables(datasourceId)</span>
|
|
1061
|
+
exports.getExternalTable = <span class="fstat-no" title="function not covered" >as</span>ync (appId, datasourceId, tableName) => {
|
|
1062
|
+
const entities = <span class="cstat-no" title="statement not covered" >await exports.getAllExternalTables(appId, datasourceId)</span>
|
|
1169
1063
|
<span class="cstat-no" title="statement not covered" > return entities[tableName]</span>
|
|
1170
1064
|
}
|
|
1171
1065
|
|
|
1172
|
-
exports.getTable = async tableId => {
|
|
1173
|
-
const db =
|
|
1066
|
+
exports.getTable = async (appId, tableId) => {
|
|
1067
|
+
const db = new CouchDB(appId)
|
|
1174
1068
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (isExternalTable(tableId)) {
|
|
1175
1069
|
let { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
1176
|
-
|
|
1177
|
-
const table = <span class="cstat-no" title="statement not covered" >await exports.getExternalTable(datasourceId, tableName)</span>
|
|
1178
|
-
<span class="cstat-no" title="statement not covered" > return { ...table, sql: isSQL(datasource) }</span>
|
|
1070
|
+
<span class="cstat-no" title="statement not covered" > return exports.getExternalTable(appId, datasourceId, tableName)</span>
|
|
1179
1071
|
} else {
|
|
1180
1072
|
return db.get(tableId)
|
|
1181
1073
|
}
|
|
1182
1074
|
}
|
|
1183
1075
|
|
|
1184
|
-
exports.checkForViewUpdates = async (table, rename, deletedColumns) => {
|
|
1185
|
-
const views = await getViews()
|
|
1076
|
+
exports.checkForViewUpdates = async (db, table, rename, deletedColumns) => {
|
|
1077
|
+
const views = await getViews(db)
|
|
1186
1078
|
const tableViews = views.filter(<span class="fstat-no" title="function not covered" >vi</span>ew => <span class="cstat-no" title="statement not covered" >view.meta.tableId === table._id)</span>
|
|
1187
1079
|
|
|
1188
1080
|
// Check each table view to see if impacted by this table action
|
|
@@ -1244,7 +1136,7 @@ exports.checkForViewUpdates = async (table, rename, deletedColumns) => {
|
|
|
1244
1136
|
// Update view if required
|
|
1245
1137
|
<span class="cstat-no" title="statement not covered" > if (needsUpdated) {</span>
|
|
1246
1138
|
const newViewTemplate = <span class="cstat-no" title="statement not covered" >viewTemplate(view.meta)</span>
|
|
1247
|
-
<span class="cstat-no" title="statement not covered" > await saveView(null, view.name, newViewTemplate)</span>
|
|
1139
|
+
<span class="cstat-no" title="statement not covered" > await saveView(db, null, view.name, newViewTemplate)</span>
|
|
1248
1140
|
<span class="cstat-no" title="statement not covered" > if (!newViewTemplate.meta.schema) {</span>
|
|
1249
1141
|
<span class="cstat-no" title="statement not covered" > newViewTemplate.meta.schema = table.schema</span>
|
|
1250
1142
|
}
|
|
@@ -1315,7 +1207,7 @@ exports.TableSaveFunctions = TableSaveFunctions
|
|
|
1315
1207
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1316
1208
|
Code coverage generated by
|
|
1317
1209
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1318
|
-
at
|
|
1210
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
1319
1211
|
</div>
|
|
1320
1212
|
</div>
|
|
1321
1213
|
<script src="../../../prettify.js"></script>
|
|
@@ -181,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
|
|
|
181
181
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
182
182
|
Code coverage generated by
|
|
183
183
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
184
|
-
at
|
|
184
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
187
187
|
<script src="../../prettify.js"></script>
|