@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,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">78.02% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>142/182</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">56.94% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>41/72</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">85% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>17/20</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.88% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>142/180</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -471,53 +471,19 @@
|
|
|
471
471
|
<a name='L412'></a><a href='#L412'>412</a>
|
|
472
472
|
<a name='L413'></a><a href='#L413'>413</a>
|
|
473
473
|
<a name='L414'></a><a href='#L414'>414</a>
|
|
474
|
-
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
|
-
<
|
|
476
|
-
<
|
|
477
|
-
<a name='L418'></a><a href='#L418'>418</a>
|
|
478
|
-
<a name='L419'></a><a href='#L419'>419</a>
|
|
479
|
-
<a name='L420'></a><a href='#L420'>420</a>
|
|
480
|
-
<a name='L421'></a><a href='#L421'>421</a>
|
|
481
|
-
<a name='L422'></a><a href='#L422'>422</a>
|
|
482
|
-
<a name='L423'></a><a href='#L423'>423</a>
|
|
483
|
-
<a name='L424'></a><a href='#L424'>424</a>
|
|
484
|
-
<a name='L425'></a><a href='#L425'>425</a>
|
|
485
|
-
<a name='L426'></a><a href='#L426'>426</a>
|
|
486
|
-
<a name='L427'></a><a href='#L427'>427</a>
|
|
487
|
-
<a name='L428'></a><a href='#L428'>428</a>
|
|
488
|
-
<a name='L429'></a><a href='#L429'>429</a>
|
|
489
|
-
<a name='L430'></a><a href='#L430'>430</a>
|
|
490
|
-
<a name='L431'></a><a href='#L431'>431</a>
|
|
491
|
-
<a name='L432'></a><a href='#L432'>432</a>
|
|
492
|
-
<a name='L433'></a><a href='#L433'>433</a>
|
|
493
|
-
<a name='L434'></a><a href='#L434'>434</a>
|
|
494
|
-
<a name='L435'></a><a href='#L435'>435</a>
|
|
495
|
-
<a name='L436'></a><a href='#L436'>436</a>
|
|
496
|
-
<a name='L437'></a><a href='#L437'>437</a>
|
|
497
|
-
<a name='L438'></a><a href='#L438'>438</a>
|
|
498
|
-
<a name='L439'></a><a href='#L439'>439</a>
|
|
499
|
-
<a name='L440'></a><a href='#L440'>440</a>
|
|
500
|
-
<a name='L441'></a><a href='#L441'>441</a>
|
|
501
|
-
<a name='L442'></a><a href='#L442'>442</a>
|
|
502
|
-
<a name='L443'></a><a href='#L443'>443</a>
|
|
503
|
-
<a name='L444'></a><a href='#L444'>444</a>
|
|
504
|
-
<a name='L445'></a><a href='#L445'>445</a>
|
|
505
|
-
<a name='L446'></a><a href='#L446'>446</a>
|
|
506
|
-
<a name='L447'></a><a href='#L447'>447</a>
|
|
507
|
-
<a name='L448'></a><a href='#L448'>448</a>
|
|
508
|
-
<a name='L449'></a><a href='#L449'>449</a>
|
|
509
|
-
<a name='L450'></a><a href='#L450'>450</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
|
|
510
|
-
<span class="cline-any cline-yes">38x</span>
|
|
474
|
+
<a name='L415'></a><a href='#L415'>415</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
|
|
475
|
+
<span class="cline-any cline-yes">33x</span>
|
|
476
|
+
<span class="cline-any cline-yes">33x</span>
|
|
511
477
|
<span class="cline-any cline-neutral"> </span>
|
|
512
478
|
<span class="cline-any cline-neutral"> </span>
|
|
513
479
|
<span class="cline-any cline-neutral"> </span>
|
|
514
480
|
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-yes">
|
|
481
|
+
<span class="cline-any cline-yes">33x</span>
|
|
516
482
|
<span class="cline-any cline-neutral"> </span>
|
|
517
483
|
<span class="cline-any cline-neutral"> </span>
|
|
518
484
|
<span class="cline-any cline-neutral"> </span>
|
|
519
485
|
<span class="cline-any cline-neutral"> </span>
|
|
520
|
-
<span class="cline-any cline-yes">
|
|
486
|
+
<span class="cline-any cline-yes">33x</span>
|
|
521
487
|
<span class="cline-any cline-neutral"> </span>
|
|
522
488
|
<span class="cline-any cline-neutral"> </span>
|
|
523
489
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -525,56 +491,52 @@
|
|
|
525
491
|
<span class="cline-any cline-neutral"> </span>
|
|
526
492
|
<span class="cline-any cline-neutral"> </span>
|
|
527
493
|
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-yes">
|
|
494
|
+
<span class="cline-any cline-yes">33x</span>
|
|
529
495
|
<span class="cline-any cline-neutral"> </span>
|
|
530
496
|
<span class="cline-any cline-neutral"> </span>
|
|
531
497
|
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-yes">
|
|
533
|
-
<span class="cline-any cline-yes">
|
|
534
|
-
<span class="cline-any cline-yes">
|
|
535
|
-
<span class="cline-any cline-yes">
|
|
498
|
+
<span class="cline-any cline-yes">33x</span>
|
|
499
|
+
<span class="cline-any cline-yes">33x</span>
|
|
500
|
+
<span class="cline-any cline-yes">33x</span>
|
|
501
|
+
<span class="cline-any cline-yes">33x</span>
|
|
536
502
|
<span class="cline-any cline-neutral"> </span>
|
|
537
503
|
<span class="cline-any cline-neutral"> </span>
|
|
538
504
|
<span class="cline-any cline-neutral"> </span>
|
|
539
505
|
<span class="cline-any cline-neutral"> </span>
|
|
540
506
|
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-yes">
|
|
542
|
-
<span class="cline-any cline-yes">
|
|
543
|
-
<span class="cline-any cline-yes">38x</span>
|
|
544
|
-
<span class="cline-any cline-yes">38x</span>
|
|
545
|
-
<span class="cline-any cline-yes">38x</span>
|
|
507
|
+
<span class="cline-any cline-yes">33x</span>
|
|
508
|
+
<span class="cline-any cline-yes">33x</span>
|
|
546
509
|
<span class="cline-any cline-neutral"> </span>
|
|
547
510
|
<span class="cline-any cline-neutral"> </span>
|
|
548
511
|
<span class="cline-any cline-neutral"> </span>
|
|
512
|
+
<span class="cline-any cline-yes">33x</span>
|
|
513
|
+
<span class="cline-any cline-yes">33x</span>
|
|
514
|
+
<span class="cline-any cline-yes">33x</span>
|
|
549
515
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-yes">38x</span>
|
|
551
|
-
<span class="cline-any cline-yes">38x</span>
|
|
552
|
-
<span class="cline-any cline-yes">38x</span>
|
|
553
|
-
<span class="cline-any cline-yes">38x</span>
|
|
554
|
-
<span class="cline-any cline-yes">38x</span>
|
|
555
516
|
<span class="cline-any cline-neutral"> </span>
|
|
556
517
|
<span class="cline-any cline-neutral"> </span>
|
|
557
518
|
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-yes">33x</span>
|
|
520
|
+
<span class="cline-any cline-yes">33x</span>
|
|
521
|
+
<span class="cline-any cline-yes">33x</span>
|
|
522
|
+
<span class="cline-any cline-yes">33x</span>
|
|
523
|
+
<span class="cline-any cline-yes">33x</span>
|
|
558
524
|
<span class="cline-any cline-neutral"> </span>
|
|
559
|
-
<span class="cline-any cline-yes">
|
|
525
|
+
<span class="cline-any cline-yes">33x</span>
|
|
560
526
|
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-yes">38x</span>
|
|
562
527
|
<span class="cline-any cline-neutral"> </span>
|
|
563
528
|
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-
|
|
565
|
-
<span class="cline-any cline-yes">205x</span>
|
|
566
|
-
<span class="cline-any cline-yes">205x</span>
|
|
529
|
+
<span class="cline-any cline-yes">195x</span>
|
|
567
530
|
<span class="cline-any cline-neutral"> </span>
|
|
568
531
|
<span class="cline-any cline-neutral"> </span>
|
|
569
532
|
<span class="cline-any cline-neutral"> </span>
|
|
570
533
|
<span class="cline-any cline-neutral"> </span>
|
|
571
534
|
<span class="cline-any cline-neutral"> </span>
|
|
572
|
-
<span class="cline-any cline-yes">
|
|
535
|
+
<span class="cline-any cline-yes">390x</span>
|
|
573
536
|
<span class="cline-any cline-neutral"> </span>
|
|
574
537
|
<span class="cline-any cline-neutral"> </span>
|
|
575
538
|
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-yes">
|
|
577
|
-
<span class="cline-any cline-yes">205x</span>
|
|
539
|
+
<span class="cline-any cline-yes">195x</span>
|
|
578
540
|
<span class="cline-any cline-neutral"> </span>
|
|
579
541
|
<span class="cline-any cline-neutral"> </span>
|
|
580
542
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -584,57 +546,43 @@
|
|
|
584
546
|
<span class="cline-any cline-neutral"> </span>
|
|
585
547
|
<span class="cline-any cline-neutral"> </span>
|
|
586
548
|
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-yes">
|
|
588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
549
|
+
<span class="cline-any cline-yes">193x</span>
|
|
589
550
|
<span class="cline-any cline-neutral"> </span>
|
|
590
551
|
<span class="cline-any cline-neutral"> </span>
|
|
591
552
|
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-yes">38x</span>
|
|
593
553
|
<span class="cline-any cline-neutral"> </span>
|
|
594
554
|
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-yes">198x</span>
|
|
596
555
|
<span class="cline-any cline-neutral"> </span>
|
|
556
|
+
<span class="cline-any cline-yes">190x</span>
|
|
597
557
|
<span class="cline-any cline-no"> </span>
|
|
598
|
-
<span class="cline-any cline-yes">
|
|
599
|
-
<span class="cline-any cline-
|
|
600
|
-
<span class="cline-any cline-yes">198x</span>
|
|
558
|
+
<span class="cline-any cline-yes">190x</span>
|
|
559
|
+
<span class="cline-any cline-yes">187x</span>
|
|
601
560
|
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-yes">
|
|
603
|
-
<span class="cline-any cline-yes">
|
|
561
|
+
<span class="cline-any cline-yes">190x</span>
|
|
562
|
+
<span class="cline-any cline-yes">187x</span>
|
|
604
563
|
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-yes">
|
|
606
|
-
<span class="cline-any cline-
|
|
607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-yes">38x</span>
|
|
609
|
-
<span class="cline-any cline-yes">197x</span>
|
|
610
|
-
<span class="cline-any cline-yes">2x</span>
|
|
611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-yes">733x</span>
|
|
613
|
-
<span class="cline-any cline-no"> </span>
|
|
564
|
+
<span class="cline-any cline-yes">190x</span>
|
|
565
|
+
<span class="cline-any cline-yes">15x</span>
|
|
614
566
|
<span class="cline-any cline-neutral"> </span>
|
|
567
|
+
<span class="cline-any cline-yes">175x</span>
|
|
568
|
+
<span class="cline-any cline-yes">175x</span>
|
|
615
569
|
<span class="cline-any cline-neutral"> </span>
|
|
616
570
|
<span class="cline-any cline-neutral"> </span>
|
|
617
|
-
<span class="cline-any cline-yes">38x</span>
|
|
618
571
|
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-yes">197x</span>
|
|
620
|
-
<span class="cline-any cline-no"> </span>
|
|
621
572
|
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-yes">197x</span>
|
|
623
|
-
<span class="cline-any cline-yes">2x</span>
|
|
624
573
|
<span class="cline-any cline-neutral"> </span>
|
|
625
|
-
<span class="cline-any cline-yes">733x</span>
|
|
626
574
|
<span class="cline-any cline-no"> </span>
|
|
627
575
|
<span class="cline-any cline-neutral"> </span>
|
|
576
|
+
<span class="cline-any cline-yes">175x</span>
|
|
628
577
|
<span class="cline-any cline-neutral"> </span>
|
|
629
578
|
<span class="cline-any cline-neutral"> </span>
|
|
630
579
|
<span class="cline-any cline-neutral"> </span>
|
|
631
|
-
<span class="cline-any cline-yes">
|
|
632
|
-
<span class="cline-any cline-yes">
|
|
633
|
-
<span class="cline-any cline-yes">
|
|
634
|
-
<span class="cline-any cline-yes">195x</span>
|
|
580
|
+
<span class="cline-any cline-yes">185x</span>
|
|
581
|
+
<span class="cline-any cline-yes">185x</span>
|
|
582
|
+
<span class="cline-any cline-yes">185x</span>
|
|
635
583
|
<span class="cline-any cline-neutral"> </span>
|
|
636
|
-
<span class="cline-any cline-yes">
|
|
637
|
-
<span class="cline-any cline-yes">
|
|
584
|
+
<span class="cline-any cline-yes">185x</span>
|
|
585
|
+
<span class="cline-any cline-yes">185x</span>
|
|
638
586
|
<span class="cline-any cline-neutral"> </span>
|
|
639
587
|
<span class="cline-any cline-neutral"> </span>
|
|
640
588
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -643,18 +591,18 @@
|
|
|
643
591
|
<span class="cline-any cline-neutral"> </span>
|
|
644
592
|
<span class="cline-any cline-neutral"> </span>
|
|
645
593
|
<span class="cline-any cline-neutral"> </span>
|
|
646
|
-
<span class="cline-any cline-yes">
|
|
647
|
-
<span class="cline-any cline-yes">
|
|
648
|
-
<span class="cline-any cline-yes">
|
|
594
|
+
<span class="cline-any cline-yes">185x</span>
|
|
595
|
+
<span class="cline-any cline-yes">185x</span>
|
|
596
|
+
<span class="cline-any cline-yes">185x</span>
|
|
649
597
|
<span class="cline-any cline-neutral"> </span>
|
|
650
598
|
<span class="cline-any cline-neutral"> </span>
|
|
651
599
|
<span class="cline-any cline-neutral"> </span>
|
|
652
|
-
<span class="cline-any cline-yes">
|
|
600
|
+
<span class="cline-any cline-yes">185x</span>
|
|
653
601
|
<span class="cline-any cline-no"> </span>
|
|
654
602
|
<span class="cline-any cline-no"> </span>
|
|
655
603
|
<span class="cline-any cline-no"> </span>
|
|
656
604
|
<span class="cline-any cline-neutral"> </span>
|
|
657
|
-
<span class="cline-any cline-yes">
|
|
605
|
+
<span class="cline-any cline-yes">185x</span>
|
|
658
606
|
<span class="cline-any cline-neutral"> </span>
|
|
659
607
|
<span class="cline-any cline-neutral"> </span>
|
|
660
608
|
<span class="cline-any cline-no"> </span>
|
|
@@ -662,13 +610,13 @@
|
|
|
662
610
|
<span class="cline-any cline-neutral"> </span>
|
|
663
611
|
<span class="cline-any cline-neutral"> </span>
|
|
664
612
|
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-yes">
|
|
613
|
+
<span class="cline-any cline-yes">185x</span>
|
|
666
614
|
<span class="cline-any cline-neutral"> </span>
|
|
667
615
|
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-yes">
|
|
616
|
+
<span class="cline-any cline-yes">185x</span>
|
|
669
617
|
<span class="cline-any cline-neutral"> </span>
|
|
670
618
|
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-yes">
|
|
619
|
+
<span class="cline-any cline-yes">33x</span>
|
|
672
620
|
<span class="cline-any cline-yes">10x</span>
|
|
673
621
|
<span class="cline-any cline-yes">10x</span>
|
|
674
622
|
<span class="cline-any cline-yes">10x</span>
|
|
@@ -693,7 +641,8 @@
|
|
|
693
641
|
<span class="cline-any cline-yes">10x</span>
|
|
694
642
|
<span class="cline-any cline-neutral"> </span>
|
|
695
643
|
<span class="cline-any cline-neutral"> </span>
|
|
696
|
-
<span class="cline-any cline-yes">
|
|
644
|
+
<span class="cline-any cline-yes">33x</span>
|
|
645
|
+
<span class="cline-any cline-yes">1x</span>
|
|
697
646
|
<span class="cline-any cline-yes">1x</span>
|
|
698
647
|
<span class="cline-any cline-yes">1x</span>
|
|
699
648
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -708,56 +657,51 @@
|
|
|
708
657
|
<span class="cline-any cline-neutral"> </span>
|
|
709
658
|
<span class="cline-any cline-neutral"> </span>
|
|
710
659
|
<span class="cline-any cline-neutral"> </span>
|
|
711
|
-
<span class="cline-any cline-yes">
|
|
712
|
-
<span class="cline-any cline-yes">
|
|
713
|
-
<span class="cline-any cline-yes">
|
|
714
|
-
<span class="cline-any cline-yes">
|
|
715
|
-
<span class="cline-any cline-yes">
|
|
716
|
-
<span class="cline-any cline-neutral"> </span>
|
|
660
|
+
<span class="cline-any cline-yes">33x</span>
|
|
661
|
+
<span class="cline-any cline-yes">194x</span>
|
|
662
|
+
<span class="cline-any cline-yes">194x</span>
|
|
663
|
+
<span class="cline-any cline-yes">194x</span>
|
|
664
|
+
<span class="cline-any cline-yes">194x</span>
|
|
717
665
|
<span class="cline-any cline-neutral"> </span>
|
|
718
|
-
<span class="cline-any cline-yes">204x</span>
|
|
719
|
-
<span class="cline-any cline-yes">202x</span>
|
|
720
|
-
<span class="cline-any cline-yes">202x</span>
|
|
721
|
-
<span class="cline-any cline-yes">202x</span>
|
|
722
666
|
<span class="cline-any cline-neutral"> </span>
|
|
667
|
+
<span class="cline-any cline-yes">194x</span>
|
|
668
|
+
<span class="cline-any cline-yes">192x</span>
|
|
669
|
+
<span class="cline-any cline-yes">192x</span>
|
|
670
|
+
<span class="cline-any cline-yes">192x</span>
|
|
723
671
|
<span class="cline-any cline-neutral"> </span>
|
|
724
|
-
<span class="cline-any cline-yes">204x</span>
|
|
725
672
|
<span class="cline-any cline-neutral"> </span>
|
|
673
|
+
<span class="cline-any cline-yes">194x</span>
|
|
726
674
|
<span class="cline-any cline-neutral"> </span>
|
|
727
675
|
<span class="cline-any cline-neutral"> </span>
|
|
728
676
|
<span class="cline-any cline-neutral"> </span>
|
|
729
677
|
<span class="cline-any cline-neutral"> </span>
|
|
730
678
|
<span class="cline-any cline-neutral"> </span>
|
|
731
679
|
<span class="cline-any cline-neutral"> </span>
|
|
732
|
-
<span class="cline-any cline-yes">38x</span>
|
|
733
|
-
<span class="cline-any cline-yes">195x</span>
|
|
734
|
-
<span class="cline-any cline-yes">195x</span>
|
|
735
|
-
<span class="cline-any cline-yes">195x</span>
|
|
736
|
-
<span class="cline-any cline-yes">195x</span>
|
|
737
|
-
<span class="cline-any cline-yes">195x</span>
|
|
738
680
|
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-yes">
|
|
740
|
-
<span class="cline-any cline-yes">
|
|
681
|
+
<span class="cline-any cline-yes">33x</span>
|
|
682
|
+
<span class="cline-any cline-yes">185x</span>
|
|
683
|
+
<span class="cline-any cline-yes">185x</span>
|
|
741
684
|
<span class="cline-any cline-neutral"> </span>
|
|
742
685
|
<span class="cline-any cline-neutral"> </span>
|
|
743
686
|
<span class="cline-any cline-neutral"> </span>
|
|
744
687
|
<span class="cline-any cline-neutral"> </span>
|
|
745
|
-
<span class="cline-any cline-yes">
|
|
688
|
+
<span class="cline-any cline-yes">185x</span>
|
|
746
689
|
<span class="cline-any cline-no"> </span>
|
|
747
690
|
<span class="cline-any cline-neutral"> </span>
|
|
748
|
-
<span class="cline-any cline-yes">
|
|
749
|
-
<span class="cline-any cline-yes">
|
|
691
|
+
<span class="cline-any cline-yes">185x</span>
|
|
692
|
+
<span class="cline-any cline-yes">185x</span>
|
|
750
693
|
<span class="cline-any cline-neutral"> </span>
|
|
751
|
-
<span class="cline-any cline-yes">
|
|
694
|
+
<span class="cline-any cline-yes">185x</span>
|
|
695
|
+
<span class="cline-any cline-yes">185x</span>
|
|
752
696
|
<span class="cline-any cline-neutral"> </span>
|
|
753
|
-
<span class="cline-any cline-yes">
|
|
697
|
+
<span class="cline-any cline-yes">185x</span>
|
|
754
698
|
<span class="cline-any cline-neutral"> </span>
|
|
755
|
-
<span class="cline-any cline-yes">
|
|
699
|
+
<span class="cline-any cline-yes">185x</span>
|
|
756
700
|
<span class="cline-any cline-no"> </span>
|
|
757
701
|
<span class="cline-any cline-neutral"> </span>
|
|
758
702
|
<span class="cline-any cline-neutral"> </span>
|
|
759
703
|
<span class="cline-any cline-neutral"> </span>
|
|
760
|
-
<span class="cline-any cline-yes">
|
|
704
|
+
<span class="cline-any cline-yes">185x</span>
|
|
761
705
|
<span class="cline-any cline-neutral"> </span>
|
|
762
706
|
<span class="cline-any cline-neutral"> </span>
|
|
763
707
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -772,46 +716,32 @@
|
|
|
772
716
|
<span class="cline-any cline-neutral"> </span>
|
|
773
717
|
<span class="cline-any cline-neutral"> </span>
|
|
774
718
|
<span class="cline-any cline-neutral"> </span>
|
|
775
|
-
<span class="cline-any cline-yes">
|
|
776
|
-
<span class="cline-any cline-yes">
|
|
777
|
-
<span class="cline-any cline-neutral"> </span>
|
|
778
|
-
<span class="cline-any cline-neutral"> </span>
|
|
779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
780
|
-
<span class="cline-any cline-yes">195x</span>
|
|
781
|
-
<span class="cline-any cline-yes">195x</span>
|
|
782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
719
|
+
<span class="cline-any cline-yes">185x</span>
|
|
720
|
+
<span class="cline-any cline-yes">185x</span>
|
|
783
721
|
<span class="cline-any cline-neutral"> </span>
|
|
784
722
|
<span class="cline-any cline-neutral"> </span>
|
|
785
723
|
<span class="cline-any cline-neutral"> </span>
|
|
724
|
+
<span class="cline-any cline-yes">185x</span>
|
|
725
|
+
<span class="cline-any cline-yes">185x</span>
|
|
786
726
|
<span class="cline-any cline-neutral"> </span>
|
|
787
727
|
<span class="cline-any cline-neutral"> </span>
|
|
788
728
|
<span class="cline-any cline-neutral"> </span>
|
|
789
|
-
<span class="cline-any cline-yes">195x</span>
|
|
790
|
-
<span class="cline-any cline-yes">195x</span>
|
|
791
|
-
<span class="cline-any cline-yes">195x</span>
|
|
792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
793
|
-
<span class="cline-any cline-neutral"> </span>
|
|
794
729
|
<span class="cline-any cline-neutral"> </span>
|
|
795
730
|
<span class="cline-any cline-neutral"> </span>
|
|
796
|
-
<span class="cline-any cline-yes">38x</span>
|
|
797
|
-
<span class="cline-any cline-yes">2x</span>
|
|
798
731
|
<span class="cline-any cline-neutral"> </span>
|
|
799
|
-
<span class="cline-any cline-yes">2x</span>
|
|
800
|
-
<span class="cline-any cline-yes">2x</span>
|
|
801
|
-
<span class="cline-any cline-yes">2x</span>
|
|
802
732
|
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-yes">
|
|
804
|
-
<span class="cline-any cline-yes">
|
|
805
|
-
<span class="cline-any cline-yes">
|
|
806
|
-
<span class="cline-any cline-yes">2x</span>
|
|
733
|
+
<span class="cline-any cline-yes">185x</span>
|
|
734
|
+
<span class="cline-any cline-yes">185x</span>
|
|
735
|
+
<span class="cline-any cline-yes">185x</span>
|
|
807
736
|
<span class="cline-any cline-neutral"> </span>
|
|
808
737
|
<span class="cline-any cline-neutral"> </span>
|
|
738
|
+
<span class="cline-any cline-yes">33x</span>
|
|
809
739
|
<span class="cline-any cline-yes">2x</span>
|
|
810
740
|
<span class="cline-any cline-yes">2x</span>
|
|
811
741
|
<span class="cline-any cline-yes">2x</span>
|
|
812
742
|
<span class="cline-any cline-neutral"> </span>
|
|
813
743
|
<span class="cline-any cline-neutral"> </span>
|
|
814
|
-
<span class="cline-any cline-yes">
|
|
744
|
+
<span class="cline-any cline-yes">33x</span>
|
|
815
745
|
<span class="cline-any cline-neutral"> </span>
|
|
816
746
|
<span class="cline-any cline-yes">2x</span>
|
|
817
747
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -833,7 +763,7 @@
|
|
|
833
763
|
<span class="cline-any cline-yes">2x</span>
|
|
834
764
|
<span class="cline-any cline-neutral"> </span>
|
|
835
765
|
<span class="cline-any cline-neutral"> </span>
|
|
836
|
-
<span class="cline-any cline-yes">
|
|
766
|
+
<span class="cline-any cline-yes">33x</span>
|
|
837
767
|
<span class="cline-any cline-neutral"> </span>
|
|
838
768
|
<span class="cline-any cline-yes">1x</span>
|
|
839
769
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -856,7 +786,7 @@
|
|
|
856
786
|
<span class="cline-any cline-yes">1x</span>
|
|
857
787
|
<span class="cline-any cline-neutral"> </span>
|
|
858
788
|
<span class="cline-any cline-neutral"> </span>
|
|
859
|
-
<span class="cline-any cline-yes">
|
|
789
|
+
<span class="cline-any cline-yes">33x</span>
|
|
860
790
|
<span class="cline-any cline-yes">11x</span>
|
|
861
791
|
<span class="cline-any cline-neutral"> </span>
|
|
862
792
|
<span class="cline-any cline-yes">11x</span>
|
|
@@ -875,7 +805,7 @@
|
|
|
875
805
|
<span class="cline-any cline-yes">11x</span>
|
|
876
806
|
<span class="cline-any cline-neutral"> </span>
|
|
877
807
|
<span class="cline-any cline-neutral"> </span>
|
|
878
|
-
<span class="cline-any cline-yes">
|
|
808
|
+
<span class="cline-any cline-yes">33x</span>
|
|
879
809
|
<span class="cline-any cline-no"> </span>
|
|
880
810
|
<span class="cline-any cline-no"> </span>
|
|
881
811
|
<span class="cline-any cline-no"> </span>
|
|
@@ -885,7 +815,6 @@
|
|
|
885
815
|
<span class="cline-any cline-no"> </span>
|
|
886
816
|
<span class="cline-any cline-neutral"> </span>
|
|
887
817
|
<span class="cline-any cline-no"> </span>
|
|
888
|
-
<span class="cline-any cline-neutral"> </span>
|
|
889
818
|
<span class="cline-any cline-no"> </span>
|
|
890
819
|
<span class="cline-any cline-no"> </span>
|
|
891
820
|
<span class="cline-any cline-no"> </span>
|
|
@@ -925,7 +854,8 @@
|
|
|
925
854
|
<span class="cline-any cline-neutral"> </span>
|
|
926
855
|
<span class="cline-any cline-neutral"> </span>
|
|
927
856
|
<span class="cline-any cline-neutral"> </span>
|
|
928
|
-
<span class="cline-any cline-yes">
|
|
857
|
+
<span class="cline-any cline-yes">33x</span>
|
|
858
|
+
<span class="cline-any cline-yes">5x</span>
|
|
929
859
|
<span class="cline-any cline-yes">5x</span>
|
|
930
860
|
<span class="cline-any cline-yes">5x</span>
|
|
931
861
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -944,18 +874,19 @@
|
|
|
944
874
|
<span class="cline-any cline-yes">5x</span>
|
|
945
875
|
<span class="cline-any cline-neutral"> </span>
|
|
946
876
|
<span class="cline-any cline-neutral"> </span>
|
|
947
|
-
<span class="cline-any cline-yes">
|
|
948
|
-
<span class="cline-any cline-yes">
|
|
877
|
+
<span class="cline-any cline-yes">33x</span>
|
|
878
|
+
<span class="cline-any cline-yes">185x</span>
|
|
949
879
|
<span class="cline-any cline-neutral"> </span>
|
|
950
|
-
<span class="cline-any cline-yes">
|
|
951
|
-
<span class="cline-any cline-yes">
|
|
952
|
-
<span class="cline-any cline-yes">
|
|
953
|
-
<span class="cline-any cline-yes">
|
|
880
|
+
<span class="cline-any cline-yes">185x</span>
|
|
881
|
+
<span class="cline-any cline-yes">185x</span>
|
|
882
|
+
<span class="cline-any cline-yes">370x</span>
|
|
883
|
+
<span class="cline-any cline-yes">370x</span>
|
|
954
884
|
<span class="cline-any cline-neutral"> </span>
|
|
955
885
|
<span class="cline-any cline-neutral"> </span>
|
|
956
|
-
<span class="cline-any cline-yes">
|
|
886
|
+
<span class="cline-any cline-yes">185x</span>
|
|
957
887
|
<span class="cline-any cline-neutral"> </span>
|
|
958
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
888
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
|
|
889
|
+
const env = require("../../environment")
|
|
959
890
|
const packageJson = require("../../../package.json")
|
|
960
891
|
const {
|
|
961
892
|
createLinkView,
|
|
@@ -985,11 +916,14 @@ const { processObject } = require("@budibase/string-templates")
|
|
|
985
916
|
const {
|
|
986
917
|
getAllApps,
|
|
987
918
|
isDevAppID,
|
|
988
|
-
|
|
919
|
+
getDeployedAppID,
|
|
989
920
|
Replication,
|
|
990
921
|
} = require("@budibase/backend-core/db")
|
|
991
922
|
const { USERS_TABLE_SCHEMA } = require("../../constants")
|
|
992
|
-
const {
|
|
923
|
+
const {
|
|
924
|
+
getDeployedApps,
|
|
925
|
+
removeAppFromUserRoles,
|
|
926
|
+
} = require("../../utilities/workerRequests")
|
|
993
927
|
const { clientLibraryPath, stringToReadStream } = require("../../utilities")
|
|
994
928
|
const { getAllLocks } = require("../../utilities/redis")
|
|
995
929
|
const {
|
|
@@ -1001,17 +935,11 @@ const { getTenantId, isMultiTenant } = require("@budibase/backend-core/tenancy")
|
|
|
1001
935
|
const { syncGlobalUsers } = require("./user")
|
|
1002
936
|
const { app: appCache } = require("@budibase/backend-core/cache")
|
|
1003
937
|
const { cleanupAutomations } = require("../../automations/utils")
|
|
1004
|
-
const {
|
|
1005
|
-
getAppDB,
|
|
1006
|
-
getProdAppDB,
|
|
1007
|
-
updateAppId,
|
|
1008
|
-
} = require("@budibase/backend-core/context")
|
|
1009
938
|
|
|
1010
939
|
const URL_REGEX_SLASH = /\/|\\/g
|
|
1011
940
|
|
|
1012
941
|
// utility function, need to do away with this
|
|
1013
|
-
async function getLayouts() {
|
|
1014
|
-
const db = getAppDB()
|
|
942
|
+
async function getLayouts(db) {
|
|
1015
943
|
return (
|
|
1016
944
|
await db.allDocs(
|
|
1017
945
|
getLayoutParams(null, {
|
|
@@ -1021,8 +949,7 @@ async function getLayouts() {
|
|
|
1021
949
|
).rows.map(row => row.doc)
|
|
1022
950
|
}
|
|
1023
951
|
|
|
1024
|
-
async function getScreens() {
|
|
1025
|
-
const db = getAppDB()
|
|
952
|
+
async function getScreens(db) {
|
|
1026
953
|
return (
|
|
1027
954
|
await db.allDocs(
|
|
1028
955
|
getScreenParams(null, {
|
|
@@ -1038,51 +965,37 @@ function getUserRoleId(ctx) {
|
|
|
1038
965
|
: ctx.user.role._id
|
|
1039
966
|
}
|
|
1040
967
|
|
|
1041
|
-
|
|
1042
|
-
// construct the url
|
|
968
|
+
async function getAppUrlIfNotInUse(ctx) {
|
|
1043
969
|
let url
|
|
1044
970
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.body.url) {
|
|
1045
|
-
// if the url is provided, use that
|
|
1046
971
|
<span class="cstat-no" title="statement not covered" > url = encodeURI(ctx.request.body.url)</span>
|
|
1047
972
|
} else if (ctx.request.body.name) {
|
|
1048
|
-
// otherwise use the name
|
|
1049
973
|
url = encodeURI(`${ctx.request.body.name}`)
|
|
1050
974
|
}
|
|
1051
975
|
if (url) {
|
|
1052
976
|
url = `/${url.replace(URL_REGEX_SLASH, "")}`.toLowerCase()
|
|
1053
977
|
}
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
const checkAppUrl = (ctx, apps, url, currentAppId) => {
|
|
1058
|
-
if (currentAppId) {
|
|
1059
|
-
apps = apps.filter(app => app.appId !== currentAppId)
|
|
978
|
+
if (!env.SELF_HOSTED) {
|
|
979
|
+
return url
|
|
1060
980
|
}
|
|
1061
|
-
|
|
1062
|
-
<span class="
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Name is required")</span>
|
|
1070
|
-
}
|
|
1071
|
-
if (currentAppId) {
|
|
1072
|
-
apps = apps.filter(app => app.appId !== currentAppId)
|
|
1073
|
-
}
|
|
1074
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (apps.some(app => app.name === name)) {
|
|
1075
|
-
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "App name is already in use.")</span>
|
|
981
|
+
const deployedApps = await getDeployedApps()
|
|
982
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
983
|
+
url &&
|
|
984
|
+
deployedApps[url] != null &&
|
|
985
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > ctx.params != null </span>&&
|
|
986
|
+
<span class="branch-3 cbranch-no" title="branch not covered" > deployedApps[url].appId !== ctx.params.appId</span>
|
|
987
|
+
) {
|
|
988
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "App name/URL is already in use.")</span>
|
|
1076
989
|
}
|
|
990
|
+
return url
|
|
1077
991
|
}
|
|
1078
992
|
|
|
1079
993
|
async function createInstance(template) {
|
|
1080
994
|
const tenantId = isMultiTenant() ? <span class="branch-0 cbranch-no" title="branch not covered" >getTenantId() </span>: null
|
|
1081
995
|
const baseAppId = generateAppID(tenantId)
|
|
1082
996
|
const appId = generateDevAppID(baseAppId)
|
|
1083
|
-
updateAppId(appId)
|
|
1084
997
|
|
|
1085
|
-
const db =
|
|
998
|
+
const db = new CouchDB(appId)
|
|
1086
999
|
await db.put({
|
|
1087
1000
|
_id: "_design/database",
|
|
1088
1001
|
// view collation information, read before writing any complex views:
|
|
@@ -1092,9 +1005,9 @@ async function createInstance(template) {
|
|
|
1092
1005
|
|
|
1093
1006
|
// NOTE: indexes need to be created before any tables/templates
|
|
1094
1007
|
// add view for linked rows
|
|
1095
|
-
await createLinkView()
|
|
1096
|
-
await createRoutingView()
|
|
1097
|
-
await createAllSearchIndex()
|
|
1008
|
+
await createLinkView(appId)
|
|
1009
|
+
await createRoutingView(appId)
|
|
1010
|
+
await createAllSearchIndex(appId)
|
|
1098
1011
|
|
|
1099
1012
|
// replicate the template data to the instance DB
|
|
1100
1013
|
// this is currently very hard to test, downloading and importing template files
|
|
@@ -1120,7 +1033,7 @@ async function createInstance(template) {
|
|
|
1120
1033
|
exports.fetch = async ctx => {
|
|
1121
1034
|
const dev = ctx.query && ctx.query.status === AppStatus.DEV
|
|
1122
1035
|
const all = ctx.query && ctx.query.status === AppStatus.ALL
|
|
1123
|
-
const apps = await getAllApps({ dev, all })
|
|
1036
|
+
const apps = await getAllApps(CouchDB, { dev, all })
|
|
1124
1037
|
|
|
1125
1038
|
// get the locks for all the dev apps
|
|
1126
1039
|
if (dev || <span class="branch-1 cbranch-no" title="branch not covered" >all)</span> {
|
|
@@ -1143,11 +1056,12 @@ exports.fetch = async ctx => {
|
|
|
1143
1056
|
}
|
|
1144
1057
|
|
|
1145
1058
|
exports.fetchAppDefinition = async ctx => {
|
|
1146
|
-
const
|
|
1059
|
+
const db = new CouchDB(ctx.params.appId)
|
|
1060
|
+
const layouts = await getLayouts(db)
|
|
1147
1061
|
const userRoleId = getUserRoleId(ctx)
|
|
1148
|
-
const accessController = new AccessController()
|
|
1062
|
+
const accessController = new AccessController(ctx.params.appId)
|
|
1149
1063
|
const screens = await accessController.checkScreensAccess(
|
|
1150
|
-
await getScreens(),
|
|
1064
|
+
await getScreens(db),
|
|
1151
1065
|
userRoleId
|
|
1152
1066
|
)
|
|
1153
1067
|
ctx.body = {
|
|
@@ -1158,15 +1072,15 @@ exports.fetchAppDefinition = async ctx => {
|
|
|
1158
1072
|
}
|
|
1159
1073
|
|
|
1160
1074
|
exports.fetchAppPackage = async ctx => {
|
|
1161
|
-
const db =
|
|
1075
|
+
const db = new CouchDB(ctx.params.appId)
|
|
1162
1076
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1163
|
-
const layouts = await getLayouts()
|
|
1164
|
-
let screens = await getScreens()
|
|
1077
|
+
const layouts = await getLayouts(db)
|
|
1078
|
+
let screens = await getScreens(db)
|
|
1165
1079
|
|
|
1166
1080
|
// Only filter screens if the user is not a builder
|
|
1167
1081
|
if (!(ctx.user.builder && ctx.user.builder.global)) {
|
|
1168
1082
|
const userRoleId = getUserRoleId(ctx)
|
|
1169
|
-
const accessController = new AccessController()
|
|
1083
|
+
const accessController = new AccessController(ctx.params.appId)
|
|
1170
1084
|
screens = await accessController.checkScreensAccess(screens, userRoleId)
|
|
1171
1085
|
}
|
|
1172
1086
|
|
|
@@ -1179,12 +1093,6 @@ exports.fetchAppPackage = async ctx => {
|
|
|
1179
1093
|
}
|
|
1180
1094
|
|
|
1181
1095
|
exports.create = async ctx => {
|
|
1182
|
-
const apps = await getAllApps({ dev: true })
|
|
1183
|
-
const name = ctx.request.body.name
|
|
1184
|
-
checkAppName(ctx, apps, name)
|
|
1185
|
-
const url = exports.getAppUrl(ctx)
|
|
1186
|
-
checkAppUrl(ctx, apps, url)
|
|
1187
|
-
|
|
1188
1096
|
const { useTemplate, templateKey, templateString } = ctx.request.body
|
|
1189
1097
|
const instanceConfig = {
|
|
1190
1098
|
useTemplate,
|
|
@@ -1197,7 +1105,8 @@ exports.create = async ctx => {
|
|
|
1197
1105
|
const instance = await createInstance(instanceConfig)
|
|
1198
1106
|
const appId = instance._id
|
|
1199
1107
|
|
|
1200
|
-
const
|
|
1108
|
+
const url = await getAppUrlIfNotInUse(ctx)
|
|
1109
|
+
const db = new CouchDB(appId)
|
|
1201
1110
|
let _rev
|
|
1202
1111
|
try {
|
|
1203
1112
|
// if template there will be an existing doc
|
|
@@ -1213,7 +1122,7 @@ exports.create = async ctx => {
|
|
|
1213
1122
|
type: "app",
|
|
1214
1123
|
version: packageJson.version,
|
|
1215
1124
|
componentLibraries: ["@budibase/standard-components"],
|
|
1216
|
-
name: name,
|
|
1125
|
+
name: ctx.request.body.name,
|
|
1217
1126
|
url: url,
|
|
1218
1127
|
template: ctx.request.body.template,
|
|
1219
1128
|
instance: instance,
|
|
@@ -1240,29 +1149,15 @@ exports.create = async ctx => {
|
|
|
1240
1149
|
ctx.body = newApplication
|
|
1241
1150
|
}
|
|
1242
1151
|
|
|
1243
|
-
// This endpoint currently operates as a PATCH rather than a PUT
|
|
1244
|
-
// Thus name and url fields are handled only if present
|
|
1245
1152
|
exports.update = async ctx => {
|
|
1246
|
-
const
|
|
1247
|
-
// validation
|
|
1248
|
-
const name = ctx.request.body.name
|
|
1249
|
-
if (name) {
|
|
1250
|
-
checkAppName(ctx, apps, name, ctx.params.appId)
|
|
1251
|
-
}
|
|
1252
|
-
const url = await exports.getAppUrl(ctx)
|
|
1253
|
-
if (url) {
|
|
1254
|
-
checkAppUrl(ctx, apps, url, ctx.params.appId)
|
|
1255
|
-
ctx.request.body.url = url
|
|
1256
|
-
}
|
|
1257
|
-
|
|
1258
|
-
const data = await updateAppPackage(ctx.request.body, ctx.params.appId)
|
|
1153
|
+
const data = await updateAppPackage(ctx, ctx.request.body, ctx.params.appId)
|
|
1259
1154
|
ctx.status = 200
|
|
1260
1155
|
ctx.body = data
|
|
1261
1156
|
}
|
|
1262
1157
|
|
|
1263
1158
|
exports.updateClient = async ctx => {
|
|
1264
1159
|
// Get current app version
|
|
1265
|
-
const db =
|
|
1160
|
+
const db = new CouchDB(ctx.params.appId)
|
|
1266
1161
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1267
1162
|
const currentVersion = application.version
|
|
1268
1163
|
|
|
@@ -1277,14 +1172,14 @@ exports.updateClient = async ctx => {
|
|
|
1277
1172
|
version: packageJson.version,
|
|
1278
1173
|
revertableVersion: currentVersion,
|
|
1279
1174
|
}
|
|
1280
|
-
const data = await updateAppPackage(appPackageUpdates, ctx.params.appId)
|
|
1175
|
+
const data = await updateAppPackage(ctx, appPackageUpdates, ctx.params.appId)
|
|
1281
1176
|
ctx.status = 200
|
|
1282
1177
|
ctx.body = data
|
|
1283
1178
|
}
|
|
1284
1179
|
|
|
1285
1180
|
exports.revertClient = async ctx => {
|
|
1286
1181
|
// Check app can be reverted
|
|
1287
|
-
const db =
|
|
1182
|
+
const db = new CouchDB(ctx.params.appId)
|
|
1288
1183
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1289
1184
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!application.revertableVersion) {
|
|
1290
1185
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "There is no version to revert to")</span>
|
|
@@ -1300,13 +1195,13 @@ exports.revertClient = async ctx => {
|
|
|
1300
1195
|
version: application.revertableVersion,
|
|
1301
1196
|
revertableVersion: null,
|
|
1302
1197
|
}
|
|
1303
|
-
const data = await updateAppPackage(appPackageUpdates, ctx.params.appId)
|
|
1198
|
+
const data = await updateAppPackage(ctx, appPackageUpdates, ctx.params.appId)
|
|
1304
1199
|
ctx.status = 200
|
|
1305
1200
|
ctx.body = data
|
|
1306
1201
|
}
|
|
1307
1202
|
|
|
1308
1203
|
exports.delete = async ctx => {
|
|
1309
|
-
const db =
|
|
1204
|
+
const db = new CouchDB(ctx.params.appId)
|
|
1310
1205
|
|
|
1311
1206
|
const result = await db.destroy()
|
|
1312
1207
|
/* istanbul ignore next */
|
|
@@ -1331,11 +1226,10 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1331
1226
|
}
|
|
1332
1227
|
|
|
1333
1228
|
// replicate prod to dev
|
|
1334
|
-
const prodAppId = <span class="cstat-no" title="statement not covered" >
|
|
1229
|
+
const prodAppId = <span class="cstat-no" title="statement not covered" >getDeployedAppID(appId)</span>
|
|
1335
1230
|
|
|
1336
1231
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1337
|
-
|
|
1338
|
-
const prodDb = <span class="cstat-no" title="statement not covered" >getProdAppDB({ skip_setup: true })</span>
|
|
1232
|
+
const prodDb = <span class="cstat-no" title="statement not covered" >new CouchDB(prodAppId, { skip_setup: true })</span>
|
|
1339
1233
|
const info = <span class="cstat-no" title="statement not covered" >await prodDb.info()</span>
|
|
1340
1234
|
<span class="cstat-no" title="statement not covered" > if (info.error) <span class="cstat-no" title="statement not covered" >throw info.error</span></span>
|
|
1341
1235
|
} catch (err) {
|
|
@@ -1363,7 +1257,7 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1363
1257
|
}
|
|
1364
1258
|
|
|
1365
1259
|
// sync the users
|
|
1366
|
-
<span class="cstat-no" title="statement not covered" > await syncGlobalUsers()</span>
|
|
1260
|
+
<span class="cstat-no" title="statement not covered" > await syncGlobalUsers(appId)</span>
|
|
1367
1261
|
|
|
1368
1262
|
<span class="cstat-no" title="statement not covered" > if (error) {</span>
|
|
1369
1263
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, error)</span>
|
|
@@ -1374,11 +1268,12 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1374
1268
|
}
|
|
1375
1269
|
}
|
|
1376
1270
|
|
|
1377
|
-
const updateAppPackage = async (appPackage, appId) => {
|
|
1378
|
-
const
|
|
1271
|
+
const updateAppPackage = async (ctx, appPackage, appId) => {
|
|
1272
|
+
const url = await getAppUrlIfNotInUse(ctx)
|
|
1273
|
+
const db = new CouchDB(appId)
|
|
1379
1274
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1380
1275
|
|
|
1381
|
-
const newAppPackage = { ...application, ...appPackage }
|
|
1276
|
+
const newAppPackage = { ...application, ...appPackage, url }
|
|
1382
1277
|
if (appPackage._rev !== application._rev) {
|
|
1383
1278
|
newAppPackage._rev = application._rev
|
|
1384
1279
|
}
|
|
@@ -1394,7 +1289,7 @@ const updateAppPackage = async (appPackage, appId) => {
|
|
|
1394
1289
|
}
|
|
1395
1290
|
|
|
1396
1291
|
const createEmptyAppPackage = async (ctx, app) => {
|
|
1397
|
-
const db =
|
|
1292
|
+
const db = new CouchDB(app.appId)
|
|
1398
1293
|
|
|
1399
1294
|
let screensAndLayouts = []
|
|
1400
1295
|
for (let layout of BASE_LAYOUTS) {
|
|
@@ -1411,7 +1306,7 @@ const createEmptyAppPackage = async (ctx, app) => {
|
|
|
1411
1306
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1412
1307
|
Code coverage generated by
|
|
1413
1308
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1414
|
-
at
|
|
1309
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
1415
1310
|
</div>
|
|
1416
1311
|
</div>
|
|
1417
1312
|
<script src="../../prettify.js"></script>
|