@budibase/server 1.0.49-alpha.1 → 1.0.49-alpha.13
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 +4 -5
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +2 -1
- package/__mocks__/pg.ts +3 -5
- package/builder/assets/{index.ba78c49d.css → index.83c0944f.css} +1 -1
- package/builder/assets/{index.ed1cf508.js → index.f686d3cd.js} +184 -184
- package/builder/index.html +2 -2
- package/coverage/clover.xml +2656 -2712
- package/coverage/coverage-final.json +104 -105
- 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 +157 -136
- package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
- package/coverage/lcov-report/api/controllers/automation.js.html +39 -69
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
- package/coverage/lcov-report/api/controllers/component.js.html +10 -13
- package/coverage/lcov-report/api/controllers/datasource.js.html +31 -37
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/api/controllers/index.html +69 -54
- 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 +6 -21
- package/coverage/lcov-report/{migrations/usageQuotas/syncApps.js.html → api/controllers/migrations.js.html} +30 -45
- 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 +38 -35
- 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 +7 -10
- package/coverage/lcov-report/api/controllers/row/external.js.html +48 -141
- package/coverage/lcov-report/api/controllers/row/index.html +28 -28
- package/coverage/lcov-report/api/controllers/row/index.js.html +13 -13
- package/coverage/lcov-report/api/controllers/row/internal.js.html +60 -105
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +25 -31
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +21 -24
- package/coverage/lcov-report/api/controllers/row/utils.js.html +27 -24
- package/coverage/lcov-report/api/controllers/screen.js.html +15 -21
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +27 -57
- package/coverage/lcov-report/api/controllers/table/external.js.html +25 -34
- package/coverage/lcov-report/api/controllers/table/index.html +37 -37
- package/coverage/lcov-report/api/controllers/table/index.js.html +20 -20
- package/coverage/lcov-report/api/controllers/table/internal.js.html +45 -54
- package/coverage/lcov-report/api/controllers/table/utils.js.html +67 -103
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +43 -52
- 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 +27 -33
- package/coverage/lcov-report/api/controllers/view/utils.js.html +35 -20
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
- package/coverage/lcov-report/api/controllers/webhook.js.html +34 -28
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +3 -3
- 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/index.html +22 -7
- package/coverage/lcov-report/api/routes/index.js.html +10 -4
- 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/{migrations/usageQuotas/index.js.html → api/routes/migrations.js.html} +25 -55
- 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 +1 -1
- 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 +7 -10
- 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 +7 -10
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +7 -7
- 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 +1 -1
- 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 +61 -55
- package/coverage/lcov-report/automations/utils.js.html +54 -42
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +26 -26
- 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 +1 -1
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +15 -27
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +40 -82
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +40 -40
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +74 -74
- 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 +97 -112
- 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 +21 -15
- package/coverage/lcov-report/middleware/builder.js.html +3 -3
- package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
- package/coverage/lcov-report/middleware/index.html +28 -28
- 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 +29 -35
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +30 -24
- package/coverage/lcov-report/threads/index.html +25 -25
- package/coverage/lcov-report/threads/index.js.html +10 -10
- package/coverage/lcov-report/threads/query.js.html +26 -47
- 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 +57 -48
- package/coverage/lcov-report/utilities/index.html +27 -27
- package/coverage/lcov-report/utilities/index.js.html +42 -72
- 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 +11 -11
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +32 -74
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +4 -4
- 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/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +13 -10
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +9 -9
- package/coverage/lcov-report/utilities/workerRequests.js.html +16 -16
- package/coverage/lcov.info +4018 -4092
- package/dist/api/controllers/application.js +49 -48
- package/dist/api/controllers/auth.js +4 -5
- package/dist/api/controllers/automation.js +14 -19
- package/dist/api/controllers/cloud.js +2 -3
- package/dist/api/controllers/component.js +3 -4
- package/dist/api/controllers/datasource.js +9 -10
- package/dist/api/controllers/deploy/Deployment.js +3 -6
- package/dist/api/controllers/deploy/index.js +12 -13
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/layout.js +3 -3
- package/dist/api/controllers/metadata.js +4 -4
- package/dist/api/controllers/migrations.js +21 -0
- package/dist/api/controllers/permission.js +4 -4
- package/dist/api/controllers/query/import/index.js +4 -6
- package/dist/api/controllers/query/index.js +11 -10
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +5 -6
- package/dist/api/controllers/row/ExternalRequest.js +90 -67
- package/dist/api/controllers/row/external.js +14 -22
- package/dist/api/controllers/row/internal.js +29 -44
- package/dist/api/controllers/row/internalSearch.js +11 -13
- package/dist/api/controllers/row/staticFormula.js +11 -11
- package/dist/api/controllers/row/utils.js +7 -6
- package/dist/api/controllers/screen.js +5 -7
- package/dist/api/controllers/static/index.js +4 -4
- package/dist/api/controllers/table/bulkFormula.js +14 -15
- package/dist/api/controllers/table/external.js +7 -10
- package/dist/api/controllers/table/index.js +5 -5
- package/dist/api/controllers/table/internal.js +16 -19
- package/dist/api/controllers/table/utils.js +29 -31
- package/dist/api/controllers/user.js +16 -20
- package/dist/api/controllers/view/index.js +8 -10
- package/dist/api/controllers/view/utils.js +9 -4
- package/dist/api/controllers/webhook.js +10 -8
- package/dist/api/routes/index.js +2 -0
- package/dist/api/routes/migrations.js +9 -0
- package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
- package/dist/app.js +35 -5
- package/dist/automations/automationUtils.js +2 -3
- package/dist/automations/steps/createRow.js +1 -1
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +27 -25
- package/dist/automations/utils.js +10 -5
- package/dist/db/linkedRows/LinkController.js +3 -7
- package/dist/db/linkedRows/index.js +16 -26
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +9 -10
- package/dist/environment.js +3 -1
- package/dist/integrations/base/sql.js +49 -15
- package/dist/integrations/utils.js +3 -0
- package/dist/middleware/authorized.js +5 -3
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +41 -37
- package/dist/middleware/usageQuota.js +2 -4
- package/dist/migrations/functions/appUrls.js +46 -0
- package/dist/migrations/functions/quotas1.js +50 -0
- package/dist/migrations/{usageQuotas → functions/usageQuotas}/index.js +6 -10
- package/dist/migrations/{usageQuotas → functions/usageQuotas}/syncApps.js +12 -9
- package/dist/migrations/{usageQuotas → functions/usageQuotas}/syncRows.js +16 -12
- package/dist/migrations/functions/userEmailViewCasing.js +24 -0
- package/dist/migrations/index.js +62 -0
- package/dist/package.json +4 -4
- package/dist/tests/utilities/TestConfiguration.js +70 -44
- package/dist/threads/automation.js +13 -11
- package/dist/threads/query.js +13 -19
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +4 -3
- package/dist/utilities/global.js +15 -12
- package/dist/utilities/index.js +7 -17
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +9 -10
- package/dist/utilities/usageQuota/index.js +1 -0
- package/dist/utilities/usageQuota/rows.js +1 -0
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +4 -4
- package/package.json +5 -5
- package/scripts/integrations/mssql/data/Dockerfile +1 -1
- package/scripts/integrations/mssql/data/setup.sql +17 -4
- package/scripts/integrations/postgres/init.sql +11 -6
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +38 -31
- package/src/api/controllers/auth.js +4 -5
- package/src/api/controllers/automation.js +13 -23
- package/src/api/controllers/cloud.js +2 -3
- package/src/api/controllers/component.js +3 -4
- package/src/api/controllers/datasource.js +9 -11
- package/src/api/controllers/deploy/Deployment.js +3 -7
- package/src/api/controllers/deploy/index.js +20 -13
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +4 -9
- package/src/api/controllers/migrations.js +13 -0
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +4 -6
- package/src/api/controllers/query/import/tests/index.spec.js +2 -1
- package/src/api/controllers/query/index.js +11 -10
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +5 -6
- package/src/api/controllers/row/ExternalRequest.ts +67 -43
- package/src/api/controllers/row/external.js +27 -58
- package/src/api/controllers/row/internal.js +29 -44
- package/src/api/controllers/row/internalSearch.js +11 -13
- package/src/api/controllers/row/staticFormula.js +10 -11
- package/src/api/controllers/row/utils.js +7 -6
- package/src/api/controllers/screen.js +5 -7
- package/src/api/controllers/static/index.js +4 -4
- package/src/api/controllers/table/bulkFormula.js +13 -23
- package/src/api/controllers/table/external.js +7 -10
- package/src/api/controllers/table/index.js +5 -5
- package/src/api/controllers/table/internal.js +18 -21
- package/src/api/controllers/table/utils.js +29 -41
- package/src/api/controllers/user.js +17 -20
- package/src/api/controllers/view/index.js +8 -10
- package/src/api/controllers/view/utils.js +9 -4
- package/src/api/controllers/webhook.js +10 -8
- package/src/api/routes/index.js +2 -0
- package/src/api/routes/migrations.js +14 -0
- package/src/api/routes/tests/automation.spec.js +1 -0
- package/src/api/routes/tests/misc.spec.js +0 -1
- package/src/api/routes/tests/routing.spec.js +21 -12
- package/src/api/routes/tests/row.spec.js +7 -4
- package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
- package/src/app.ts +18 -5
- package/src/automations/automationUtils.js +2 -3
- package/src/automations/steps/createRow.js +0 -1
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +33 -31
- package/src/automations/utils.js +9 -5
- package/src/db/linkedRows/LinkController.js +3 -7
- package/src/db/linkedRows/index.js +16 -30
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +0 -1
- package/src/db/tests/linkTests.spec.js +5 -6
- package/src/db/views/staticViews.js +8 -10
- package/src/environment.js +3 -1
- package/src/integrations/base/sql.ts +61 -22
- package/src/integrations/utils.ts +4 -1
- package/src/middleware/authorized.js +5 -3
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +50 -46
- package/src/middleware/tests/authorized.spec.js +7 -2
- package/src/middleware/tests/currentapp.spec.js +6 -0
- package/src/middleware/usageQuota.js +2 -4
- package/src/migrations/functions/appUrls.ts +34 -0
- package/src/migrations/functions/quotas1.ts +20 -0
- package/src/migrations/functions/tests/appUrls.spec.js +29 -0
- package/src/migrations/{tests/usageQuotas/index.spec.js → functions/tests/quotas1.spec.js} +5 -5
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +25 -0
- package/src/migrations/functions/usageQuotas/index.ts +8 -0
- package/src/migrations/{usageQuotas/syncApps.js → functions/usageQuotas/syncApps.ts} +6 -6
- package/src/migrations/functions/usageQuotas/syncRows.ts +22 -0
- package/src/migrations/{tests/usageQuotas → functions/usageQuotas/tests}/syncApps.spec.js +4 -4
- package/src/migrations/{tests/usageQuotas → functions/usageQuotas/tests}/syncRows.spec.js +4 -4
- package/src/migrations/functions/userEmailViewCasing.ts +13 -0
- package/src/migrations/index.ts +56 -0
- package/src/module.d.ts +3 -0
- package/src/tests/utilities/TestConfiguration.js +73 -50
- package/src/threads/automation.js +17 -15
- package/src/threads/query.js +14 -21
- package/src/utilities/fileSystem/index.js +4 -3
- package/src/utilities/global.js +15 -12
- package/src/utilities/index.js +7 -17
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +9 -23
- package/src/utilities/usageQuota/index.js +1 -0
- package/src/utilities/usageQuota/rows.js +1 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +4 -4
- package/tsconfig.json +2 -1
- package/coverage/lcov-report/migrations/usageQuotas/index.html +0 -141
- package/coverage/lcov-report/migrations/usageQuotas/syncRows.js.html +0 -143
- package/src/migrations/usageQuotas/index.js +0 -24
- package/src/migrations/usageQuotas/syncRows.js +0 -21
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">79.
|
|
26
|
+
<span class="strong">79.71% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>165/207</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">80.09% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>161/201</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -499,19 +499,25 @@
|
|
|
499
499
|
<a name='L440'></a><a href='#L440'>440</a>
|
|
500
500
|
<a name='L441'></a><a href='#L441'>441</a>
|
|
501
501
|
<a name='L442'></a><a href='#L442'>442</a>
|
|
502
|
-
<a name='L443'></a><a href='#L443'>443</a
|
|
503
|
-
<
|
|
504
|
-
<
|
|
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>
|
|
505
511
|
<span class="cline-any cline-neutral"> </span>
|
|
506
512
|
<span class="cline-any cline-neutral"> </span>
|
|
507
513
|
<span class="cline-any cline-neutral"> </span>
|
|
508
514
|
<span class="cline-any cline-neutral"> </span>
|
|
509
|
-
<span class="cline-any cline-yes">
|
|
515
|
+
<span class="cline-any cline-yes">38x</span>
|
|
510
516
|
<span class="cline-any cline-neutral"> </span>
|
|
511
517
|
<span class="cline-any cline-neutral"> </span>
|
|
512
518
|
<span class="cline-any cline-neutral"> </span>
|
|
513
519
|
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">
|
|
520
|
+
<span class="cline-any cline-yes">38x</span>
|
|
515
521
|
<span class="cline-any cline-neutral"> </span>
|
|
516
522
|
<span class="cline-any cline-neutral"> </span>
|
|
517
523
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -519,108 +525,116 @@
|
|
|
519
525
|
<span class="cline-any cline-neutral"> </span>
|
|
520
526
|
<span class="cline-any cline-neutral"> </span>
|
|
521
527
|
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-yes">
|
|
528
|
+
<span class="cline-any cline-yes">38x</span>
|
|
523
529
|
<span class="cline-any cline-neutral"> </span>
|
|
524
530
|
<span class="cline-any cline-neutral"> </span>
|
|
525
531
|
<span class="cline-any cline-neutral"> </span>
|
|
526
|
-
<span class="cline-any cline-yes">
|
|
527
|
-
<span class="cline-any cline-yes">
|
|
528
|
-
<span class="cline-any cline-yes">
|
|
529
|
-
<span class="cline-any cline-yes">
|
|
532
|
+
<span class="cline-any cline-yes">38x</span>
|
|
533
|
+
<span class="cline-any cline-yes">38x</span>
|
|
534
|
+
<span class="cline-any cline-yes">38x</span>
|
|
535
|
+
<span class="cline-any cline-yes">38x</span>
|
|
530
536
|
<span class="cline-any cline-neutral"> </span>
|
|
531
537
|
<span class="cline-any cline-neutral"> </span>
|
|
532
538
|
<span class="cline-any cline-neutral"> </span>
|
|
533
539
|
<span class="cline-any cline-neutral"> </span>
|
|
534
540
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-yes">
|
|
536
|
-
<span class="cline-any cline-yes">
|
|
537
|
-
<span class="cline-any cline-yes">
|
|
538
|
-
<span class="cline-any cline-yes">
|
|
539
|
-
<span class="cline-any cline-yes">
|
|
541
|
+
<span class="cline-any cline-yes">38x</span>
|
|
542
|
+
<span class="cline-any cline-yes">38x</span>
|
|
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>
|
|
540
546
|
<span class="cline-any cline-neutral"> </span>
|
|
541
547
|
<span class="cline-any cline-neutral"> </span>
|
|
542
548
|
<span class="cline-any cline-neutral"> </span>
|
|
543
549
|
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-yes">
|
|
545
|
-
<span class="cline-any cline-yes">
|
|
546
|
-
<span class="cline-any cline-yes">
|
|
547
|
-
<span class="cline-any cline-yes">
|
|
548
|
-
<span class="cline-any cline-yes">
|
|
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>
|
|
549
555
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-yes">36x</span>
|
|
551
556
|
<span class="cline-any cline-neutral"> </span>
|
|
552
557
|
<span class="cline-any cline-neutral"> </span>
|
|
553
558
|
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-yes">
|
|
559
|
+
<span class="cline-any cline-yes">38x</span>
|
|
555
560
|
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-yes">38x</span>
|
|
556
562
|
<span class="cline-any cline-neutral"> </span>
|
|
557
563
|
<span class="cline-any cline-neutral"> </span>
|
|
558
564
|
<span class="cline-any cline-neutral"> </span>
|
|
565
|
+
<span class="cline-any cline-yes">205x</span>
|
|
566
|
+
<span class="cline-any cline-yes">205x</span>
|
|
559
567
|
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-yes">404x</span>
|
|
561
568
|
<span class="cline-any cline-neutral"> </span>
|
|
562
569
|
<span class="cline-any cline-neutral"> </span>
|
|
563
570
|
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-yes">202x</span>
|
|
565
571
|
<span class="cline-any cline-neutral"> </span>
|
|
572
|
+
<span class="cline-any cline-yes">410x</span>
|
|
566
573
|
<span class="cline-any cline-neutral"> </span>
|
|
567
574
|
<span class="cline-any cline-neutral"> </span>
|
|
568
575
|
<span class="cline-any cline-neutral"> </span>
|
|
576
|
+
<span class="cline-any cline-yes">205x</span>
|
|
577
|
+
<span class="cline-any cline-yes">205x</span>
|
|
578
|
+
<span class="cline-any cline-neutral"> </span>
|
|
569
579
|
<span class="cline-any cline-neutral"> </span>
|
|
570
|
-
<span class="cline-any cline-yes">12x</span>
|
|
571
580
|
<span class="cline-any cline-neutral"> </span>
|
|
572
581
|
<span class="cline-any cline-neutral"> </span>
|
|
573
582
|
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-yes">
|
|
583
|
+
<span class="cline-any cline-yes">12x</span>
|
|
584
|
+
<span class="cline-any cline-neutral"> </span>
|
|
585
|
+
<span class="cline-any cline-neutral"> </span>
|
|
575
586
|
<span class="cline-any cline-neutral"> </span>
|
|
587
|
+
<span class="cline-any cline-yes">203x</span>
|
|
576
588
|
<span class="cline-any cline-neutral"> </span>
|
|
577
589
|
<span class="cline-any cline-neutral"> </span>
|
|
578
590
|
<span class="cline-any cline-neutral"> </span>
|
|
579
591
|
<span class="cline-any cline-neutral"> </span>
|
|
592
|
+
<span class="cline-any cline-yes">38x</span>
|
|
580
593
|
<span class="cline-any cline-neutral"> </span>
|
|
581
594
|
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-yes">
|
|
595
|
+
<span class="cline-any cline-yes">198x</span>
|
|
583
596
|
<span class="cline-any cline-neutral"> </span>
|
|
584
597
|
<span class="cline-any cline-no"> </span>
|
|
585
|
-
<span class="cline-any cline-yes">
|
|
598
|
+
<span class="cline-any cline-yes">198x</span>
|
|
586
599
|
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-yes">
|
|
600
|
+
<span class="cline-any cline-yes">198x</span>
|
|
588
601
|
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-yes">
|
|
590
|
-
<span class="cline-any cline-yes">
|
|
602
|
+
<span class="cline-any cline-yes">198x</span>
|
|
603
|
+
<span class="cline-any cline-yes">198x</span>
|
|
591
604
|
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-yes">
|
|
605
|
+
<span class="cline-any cline-yes">198x</span>
|
|
593
606
|
<span class="cline-any cline-neutral"> </span>
|
|
594
607
|
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-yes">
|
|
596
|
-
<span class="cline-any cline-yes">
|
|
608
|
+
<span class="cline-any cline-yes">38x</span>
|
|
609
|
+
<span class="cline-any cline-yes">197x</span>
|
|
597
610
|
<span class="cline-any cline-yes">2x</span>
|
|
598
611
|
<span class="cline-any cline-neutral"> </span>
|
|
599
|
-
<span class="cline-any cline-yes">
|
|
612
|
+
<span class="cline-any cline-yes">733x</span>
|
|
600
613
|
<span class="cline-any cline-no"> </span>
|
|
601
614
|
<span class="cline-any cline-neutral"> </span>
|
|
602
615
|
<span class="cline-any cline-neutral"> </span>
|
|
603
616
|
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-yes">
|
|
617
|
+
<span class="cline-any cline-yes">38x</span>
|
|
605
618
|
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-yes">
|
|
619
|
+
<span class="cline-any cline-yes">197x</span>
|
|
607
620
|
<span class="cline-any cline-no"> </span>
|
|
608
621
|
<span class="cline-any cline-neutral"> </span>
|
|
609
|
-
<span class="cline-any cline-yes">
|
|
622
|
+
<span class="cline-any cline-yes">197x</span>
|
|
610
623
|
<span class="cline-any cline-yes">2x</span>
|
|
611
624
|
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-yes">
|
|
625
|
+
<span class="cline-any cline-yes">733x</span>
|
|
613
626
|
<span class="cline-any cline-no"> </span>
|
|
614
627
|
<span class="cline-any cline-neutral"> </span>
|
|
615
628
|
<span class="cline-any cline-neutral"> </span>
|
|
616
629
|
<span class="cline-any cline-neutral"> </span>
|
|
617
630
|
<span class="cline-any cline-neutral"> </span>
|
|
618
|
-
<span class="cline-any cline-yes">
|
|
619
|
-
<span class="cline-any cline-yes">
|
|
620
|
-
<span class="cline-any cline-yes">
|
|
631
|
+
<span class="cline-any cline-yes">195x</span>
|
|
632
|
+
<span class="cline-any cline-yes">195x</span>
|
|
633
|
+
<span class="cline-any cline-yes">195x</span>
|
|
634
|
+
<span class="cline-any cline-yes">195x</span>
|
|
621
635
|
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-yes">
|
|
623
|
-
<span class="cline-any cline-yes">
|
|
636
|
+
<span class="cline-any cline-yes">195x</span>
|
|
637
|
+
<span class="cline-any cline-yes">195x</span>
|
|
624
638
|
<span class="cline-any cline-neutral"> </span>
|
|
625
639
|
<span class="cline-any cline-neutral"> </span>
|
|
626
640
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -629,18 +643,18 @@
|
|
|
629
643
|
<span class="cline-any cline-neutral"> </span>
|
|
630
644
|
<span class="cline-any cline-neutral"> </span>
|
|
631
645
|
<span class="cline-any cline-neutral"> </span>
|
|
632
|
-
<span class="cline-any cline-yes">
|
|
633
|
-
<span class="cline-any cline-yes">
|
|
634
|
-
<span class="cline-any cline-yes">
|
|
646
|
+
<span class="cline-any cline-yes">195x</span>
|
|
647
|
+
<span class="cline-any cline-yes">195x</span>
|
|
648
|
+
<span class="cline-any cline-yes">195x</span>
|
|
635
649
|
<span class="cline-any cline-neutral"> </span>
|
|
636
650
|
<span class="cline-any cline-neutral"> </span>
|
|
637
651
|
<span class="cline-any cline-neutral"> </span>
|
|
638
|
-
<span class="cline-any cline-yes">
|
|
652
|
+
<span class="cline-any cline-yes">195x</span>
|
|
639
653
|
<span class="cline-any cline-no"> </span>
|
|
640
654
|
<span class="cline-any cline-no"> </span>
|
|
641
655
|
<span class="cline-any cline-no"> </span>
|
|
642
656
|
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-yes">
|
|
657
|
+
<span class="cline-any cline-yes">195x</span>
|
|
644
658
|
<span class="cline-any cline-neutral"> </span>
|
|
645
659
|
<span class="cline-any cline-neutral"> </span>
|
|
646
660
|
<span class="cline-any cline-no"> </span>
|
|
@@ -648,13 +662,13 @@
|
|
|
648
662
|
<span class="cline-any cline-neutral"> </span>
|
|
649
663
|
<span class="cline-any cline-neutral"> </span>
|
|
650
664
|
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-yes">
|
|
665
|
+
<span class="cline-any cline-yes">195x</span>
|
|
652
666
|
<span class="cline-any cline-neutral"> </span>
|
|
653
667
|
<span class="cline-any cline-neutral"> </span>
|
|
654
|
-
<span class="cline-any cline-yes">
|
|
668
|
+
<span class="cline-any cline-yes">195x</span>
|
|
655
669
|
<span class="cline-any cline-neutral"> </span>
|
|
656
670
|
<span class="cline-any cline-neutral"> </span>
|
|
657
|
-
<span class="cline-any cline-yes">
|
|
671
|
+
<span class="cline-any cline-yes">38x</span>
|
|
658
672
|
<span class="cline-any cline-yes">10x</span>
|
|
659
673
|
<span class="cline-any cline-yes">10x</span>
|
|
660
674
|
<span class="cline-any cline-yes">10x</span>
|
|
@@ -679,8 +693,7 @@
|
|
|
679
693
|
<span class="cline-any cline-yes">10x</span>
|
|
680
694
|
<span class="cline-any cline-neutral"> </span>
|
|
681
695
|
<span class="cline-any cline-neutral"> </span>
|
|
682
|
-
<span class="cline-any cline-yes">
|
|
683
|
-
<span class="cline-any cline-yes">1x</span>
|
|
696
|
+
<span class="cline-any cline-yes">38x</span>
|
|
684
697
|
<span class="cline-any cline-yes">1x</span>
|
|
685
698
|
<span class="cline-any cline-yes">1x</span>
|
|
686
699
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -695,20 +708,20 @@
|
|
|
695
708
|
<span class="cline-any cline-neutral"> </span>
|
|
696
709
|
<span class="cline-any cline-neutral"> </span>
|
|
697
710
|
<span class="cline-any cline-neutral"> </span>
|
|
698
|
-
<span class="cline-any cline-yes">
|
|
699
|
-
<span class="cline-any cline-yes">
|
|
700
|
-
<span class="cline-any cline-yes">
|
|
701
|
-
<span class="cline-any cline-yes">
|
|
702
|
-
<span class="cline-any cline-yes">
|
|
711
|
+
<span class="cline-any cline-yes">38x</span>
|
|
712
|
+
<span class="cline-any cline-yes">204x</span>
|
|
713
|
+
<span class="cline-any cline-yes">204x</span>
|
|
714
|
+
<span class="cline-any cline-yes">204x</span>
|
|
715
|
+
<span class="cline-any cline-yes">204x</span>
|
|
703
716
|
<span class="cline-any cline-neutral"> </span>
|
|
704
717
|
<span class="cline-any cline-neutral"> </span>
|
|
705
|
-
<span class="cline-any cline-yes">
|
|
706
|
-
<span class="cline-any cline-yes">
|
|
707
|
-
<span class="cline-any cline-yes">
|
|
708
|
-
<span class="cline-any cline-yes">
|
|
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>
|
|
709
722
|
<span class="cline-any cline-neutral"> </span>
|
|
710
723
|
<span class="cline-any cline-neutral"> </span>
|
|
711
|
-
<span class="cline-any cline-yes">
|
|
724
|
+
<span class="cline-any cline-yes">204x</span>
|
|
712
725
|
<span class="cline-any cline-neutral"> </span>
|
|
713
726
|
<span class="cline-any cline-neutral"> </span>
|
|
714
727
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -716,35 +729,35 @@
|
|
|
716
729
|
<span class="cline-any cline-neutral"> </span>
|
|
717
730
|
<span class="cline-any cline-neutral"> </span>
|
|
718
731
|
<span class="cline-any cline-neutral"> </span>
|
|
719
|
-
<span class="cline-any cline-yes">
|
|
720
|
-
<span class="cline-any cline-yes">
|
|
721
|
-
<span class="cline-any cline-yes">
|
|
722
|
-
<span class="cline-any cline-yes">
|
|
723
|
-
<span class="cline-any cline-yes">
|
|
724
|
-
<span class="cline-any cline-yes">
|
|
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>
|
|
725
738
|
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-yes">
|
|
727
|
-
<span class="cline-any cline-yes">
|
|
739
|
+
<span class="cline-any cline-yes">195x</span>
|
|
740
|
+
<span class="cline-any cline-yes">195x</span>
|
|
728
741
|
<span class="cline-any cline-neutral"> </span>
|
|
729
742
|
<span class="cline-any cline-neutral"> </span>
|
|
730
743
|
<span class="cline-any cline-neutral"> </span>
|
|
731
744
|
<span class="cline-any cline-neutral"> </span>
|
|
732
|
-
<span class="cline-any cline-yes">
|
|
745
|
+
<span class="cline-any cline-yes">195x</span>
|
|
733
746
|
<span class="cline-any cline-no"> </span>
|
|
734
747
|
<span class="cline-any cline-neutral"> </span>
|
|
735
|
-
<span class="cline-any cline-yes">
|
|
736
|
-
<span class="cline-any cline-yes">
|
|
748
|
+
<span class="cline-any cline-yes">195x</span>
|
|
749
|
+
<span class="cline-any cline-yes">195x</span>
|
|
737
750
|
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-yes">
|
|
751
|
+
<span class="cline-any cline-yes">195x</span>
|
|
739
752
|
<span class="cline-any cline-neutral"> </span>
|
|
740
|
-
<span class="cline-any cline-yes">
|
|
753
|
+
<span class="cline-any cline-yes">195x</span>
|
|
741
754
|
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-yes">
|
|
755
|
+
<span class="cline-any cline-yes">195x</span>
|
|
743
756
|
<span class="cline-any cline-no"> </span>
|
|
744
757
|
<span class="cline-any cline-neutral"> </span>
|
|
745
758
|
<span class="cline-any cline-neutral"> </span>
|
|
746
759
|
<span class="cline-any cline-neutral"> </span>
|
|
747
|
-
<span class="cline-any cline-yes">
|
|
760
|
+
<span class="cline-any cline-yes">195x</span>
|
|
748
761
|
<span class="cline-any cline-neutral"> </span>
|
|
749
762
|
<span class="cline-any cline-neutral"> </span>
|
|
750
763
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -759,13 +772,13 @@
|
|
|
759
772
|
<span class="cline-any cline-neutral"> </span>
|
|
760
773
|
<span class="cline-any cline-neutral"> </span>
|
|
761
774
|
<span class="cline-any cline-neutral"> </span>
|
|
762
|
-
<span class="cline-any cline-yes">
|
|
763
|
-
<span class="cline-any cline-yes">
|
|
775
|
+
<span class="cline-any cline-yes">195x</span>
|
|
776
|
+
<span class="cline-any cline-yes">195x</span>
|
|
764
777
|
<span class="cline-any cline-neutral"> </span>
|
|
765
778
|
<span class="cline-any cline-neutral"> </span>
|
|
766
779
|
<span class="cline-any cline-neutral"> </span>
|
|
767
|
-
<span class="cline-any cline-yes">
|
|
768
|
-
<span class="cline-any cline-yes">
|
|
780
|
+
<span class="cline-any cline-yes">195x</span>
|
|
781
|
+
<span class="cline-any cline-yes">195x</span>
|
|
769
782
|
<span class="cline-any cline-neutral"> </span>
|
|
770
783
|
<span class="cline-any cline-neutral"> </span>
|
|
771
784
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -773,14 +786,14 @@
|
|
|
773
786
|
<span class="cline-any cline-neutral"> </span>
|
|
774
787
|
<span class="cline-any cline-neutral"> </span>
|
|
775
788
|
<span class="cline-any cline-neutral"> </span>
|
|
776
|
-
<span class="cline-any cline-yes">
|
|
777
|
-
<span class="cline-any cline-yes">
|
|
778
|
-
<span class="cline-any cline-yes">
|
|
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>
|
|
779
792
|
<span class="cline-any cline-neutral"> </span>
|
|
780
793
|
<span class="cline-any cline-neutral"> </span>
|
|
781
794
|
<span class="cline-any cline-neutral"> </span>
|
|
782
795
|
<span class="cline-any cline-neutral"> </span>
|
|
783
|
-
<span class="cline-any cline-yes">
|
|
796
|
+
<span class="cline-any cline-yes">38x</span>
|
|
784
797
|
<span class="cline-any cline-yes">2x</span>
|
|
785
798
|
<span class="cline-any cline-neutral"> </span>
|
|
786
799
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -798,7 +811,7 @@
|
|
|
798
811
|
<span class="cline-any cline-yes">2x</span>
|
|
799
812
|
<span class="cline-any cline-neutral"> </span>
|
|
800
813
|
<span class="cline-any cline-neutral"> </span>
|
|
801
|
-
<span class="cline-any cline-yes">
|
|
814
|
+
<span class="cline-any cline-yes">38x</span>
|
|
802
815
|
<span class="cline-any cline-neutral"> </span>
|
|
803
816
|
<span class="cline-any cline-yes">2x</span>
|
|
804
817
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -820,7 +833,7 @@
|
|
|
820
833
|
<span class="cline-any cline-yes">2x</span>
|
|
821
834
|
<span class="cline-any cline-neutral"> </span>
|
|
822
835
|
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-yes">
|
|
836
|
+
<span class="cline-any cline-yes">38x</span>
|
|
824
837
|
<span class="cline-any cline-neutral"> </span>
|
|
825
838
|
<span class="cline-any cline-yes">1x</span>
|
|
826
839
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -843,7 +856,7 @@
|
|
|
843
856
|
<span class="cline-any cline-yes">1x</span>
|
|
844
857
|
<span class="cline-any cline-neutral"> </span>
|
|
845
858
|
<span class="cline-any cline-neutral"> </span>
|
|
846
|
-
<span class="cline-any cline-yes">
|
|
859
|
+
<span class="cline-any cline-yes">38x</span>
|
|
847
860
|
<span class="cline-any cline-yes">11x</span>
|
|
848
861
|
<span class="cline-any cline-neutral"> </span>
|
|
849
862
|
<span class="cline-any cline-yes">11x</span>
|
|
@@ -862,7 +875,7 @@
|
|
|
862
875
|
<span class="cline-any cline-yes">11x</span>
|
|
863
876
|
<span class="cline-any cline-neutral"> </span>
|
|
864
877
|
<span class="cline-any cline-neutral"> </span>
|
|
865
|
-
<span class="cline-any cline-yes">
|
|
878
|
+
<span class="cline-any cline-yes">38x</span>
|
|
866
879
|
<span class="cline-any cline-no"> </span>
|
|
867
880
|
<span class="cline-any cline-no"> </span>
|
|
868
881
|
<span class="cline-any cline-no"> </span>
|
|
@@ -872,6 +885,7 @@
|
|
|
872
885
|
<span class="cline-any cline-no"> </span>
|
|
873
886
|
<span class="cline-any cline-neutral"> </span>
|
|
874
887
|
<span class="cline-any cline-no"> </span>
|
|
888
|
+
<span class="cline-any cline-neutral"> </span>
|
|
875
889
|
<span class="cline-any cline-no"> </span>
|
|
876
890
|
<span class="cline-any cline-no"> </span>
|
|
877
891
|
<span class="cline-any cline-no"> </span>
|
|
@@ -911,7 +925,7 @@
|
|
|
911
925
|
<span class="cline-any cline-neutral"> </span>
|
|
912
926
|
<span class="cline-any cline-neutral"> </span>
|
|
913
927
|
<span class="cline-any cline-neutral"> </span>
|
|
914
|
-
<span class="cline-any cline-yes">
|
|
928
|
+
<span class="cline-any cline-yes">38x</span>
|
|
915
929
|
<span class="cline-any cline-yes">5x</span>
|
|
916
930
|
<span class="cline-any cline-yes">5x</span>
|
|
917
931
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -930,19 +944,18 @@
|
|
|
930
944
|
<span class="cline-any cline-yes">5x</span>
|
|
931
945
|
<span class="cline-any cline-neutral"> </span>
|
|
932
946
|
<span class="cline-any cline-neutral"> </span>
|
|
933
|
-
<span class="cline-any cline-yes">
|
|
934
|
-
<span class="cline-any cline-yes">
|
|
947
|
+
<span class="cline-any cline-yes">38x</span>
|
|
948
|
+
<span class="cline-any cline-yes">195x</span>
|
|
935
949
|
<span class="cline-any cline-neutral"> </span>
|
|
936
|
-
<span class="cline-any cline-yes">
|
|
937
|
-
<span class="cline-any cline-yes">
|
|
938
|
-
<span class="cline-any cline-yes">
|
|
939
|
-
<span class="cline-any cline-yes">
|
|
950
|
+
<span class="cline-any cline-yes">195x</span>
|
|
951
|
+
<span class="cline-any cline-yes">195x</span>
|
|
952
|
+
<span class="cline-any cline-yes">390x</span>
|
|
953
|
+
<span class="cline-any cline-yes">390x</span>
|
|
940
954
|
<span class="cline-any cline-neutral"> </span>
|
|
941
955
|
<span class="cline-any cline-neutral"> </span>
|
|
942
|
-
<span class="cline-any cline-yes">
|
|
956
|
+
<span class="cline-any cline-yes">195x</span>
|
|
943
957
|
<span class="cline-any cline-neutral"> </span>
|
|
944
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
945
|
-
const env = require("../../environment")
|
|
958
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const env = require("../../environment")
|
|
946
959
|
const packageJson = require("../../../package.json")
|
|
947
960
|
const {
|
|
948
961
|
createLinkView,
|
|
@@ -972,7 +985,7 @@ const { processObject } = require("@budibase/string-templates")
|
|
|
972
985
|
const {
|
|
973
986
|
getAllApps,
|
|
974
987
|
isDevAppID,
|
|
975
|
-
|
|
988
|
+
getProdAppID,
|
|
976
989
|
Replication,
|
|
977
990
|
} = require("@budibase/backend-core/db")
|
|
978
991
|
const { USERS_TABLE_SCHEMA } = require("../../constants")
|
|
@@ -988,11 +1001,17 @@ const { getTenantId, isMultiTenant } = require("@budibase/backend-core/tenancy")
|
|
|
988
1001
|
const { syncGlobalUsers } = require("./user")
|
|
989
1002
|
const { app: appCache } = require("@budibase/backend-core/cache")
|
|
990
1003
|
const { cleanupAutomations } = require("../../automations/utils")
|
|
1004
|
+
const {
|
|
1005
|
+
getAppDB,
|
|
1006
|
+
getProdAppDB,
|
|
1007
|
+
updateAppId,
|
|
1008
|
+
} = require("@budibase/backend-core/context")
|
|
991
1009
|
|
|
992
1010
|
const URL_REGEX_SLASH = /\/|\\/g
|
|
993
1011
|
|
|
994
1012
|
// utility function, need to do away with this
|
|
995
|
-
async function getLayouts(
|
|
1013
|
+
async function getLayouts() {
|
|
1014
|
+
const db = getAppDB()
|
|
996
1015
|
return (
|
|
997
1016
|
await db.allDocs(
|
|
998
1017
|
getLayoutParams(null, {
|
|
@@ -1002,7 +1021,8 @@ async function getLayouts(db) {
|
|
|
1002
1021
|
).rows.map(row => row.doc)
|
|
1003
1022
|
}
|
|
1004
1023
|
|
|
1005
|
-
async function getScreens(
|
|
1024
|
+
async function getScreens() {
|
|
1025
|
+
const db = getAppDB()
|
|
1006
1026
|
return (
|
|
1007
1027
|
await db.allDocs(
|
|
1008
1028
|
getScreenParams(null, {
|
|
@@ -1018,7 +1038,7 @@ function getUserRoleId(ctx) {
|
|
|
1018
1038
|
: ctx.user.role._id
|
|
1019
1039
|
}
|
|
1020
1040
|
|
|
1021
|
-
|
|
1041
|
+
exports.getAppUrl = ctx => {
|
|
1022
1042
|
// construct the url
|
|
1023
1043
|
let url
|
|
1024
1044
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.body.url) {
|
|
@@ -1060,8 +1080,9 @@ async function createInstance(template) {
|
|
|
1060
1080
|
const tenantId = isMultiTenant() ? <span class="branch-0 cbranch-no" title="branch not covered" >getTenantId() </span>: null
|
|
1061
1081
|
const baseAppId = generateAppID(tenantId)
|
|
1062
1082
|
const appId = generateDevAppID(baseAppId)
|
|
1083
|
+
updateAppId(appId)
|
|
1063
1084
|
|
|
1064
|
-
const db =
|
|
1085
|
+
const db = getAppDB()
|
|
1065
1086
|
await db.put({
|
|
1066
1087
|
_id: "_design/database",
|
|
1067
1088
|
// view collation information, read before writing any complex views:
|
|
@@ -1071,9 +1092,9 @@ async function createInstance(template) {
|
|
|
1071
1092
|
|
|
1072
1093
|
// NOTE: indexes need to be created before any tables/templates
|
|
1073
1094
|
// add view for linked rows
|
|
1074
|
-
await createLinkView(
|
|
1075
|
-
await createRoutingView(
|
|
1076
|
-
await createAllSearchIndex(
|
|
1095
|
+
await createLinkView()
|
|
1096
|
+
await createRoutingView()
|
|
1097
|
+
await createAllSearchIndex()
|
|
1077
1098
|
|
|
1078
1099
|
// replicate the template data to the instance DB
|
|
1079
1100
|
// this is currently very hard to test, downloading and importing template files
|
|
@@ -1099,7 +1120,7 @@ async function createInstance(template) {
|
|
|
1099
1120
|
exports.fetch = async ctx => {
|
|
1100
1121
|
const dev = ctx.query && ctx.query.status === AppStatus.DEV
|
|
1101
1122
|
const all = ctx.query && ctx.query.status === AppStatus.ALL
|
|
1102
|
-
const apps = await getAllApps(
|
|
1123
|
+
const apps = await getAllApps({ dev, all })
|
|
1103
1124
|
|
|
1104
1125
|
// get the locks for all the dev apps
|
|
1105
1126
|
if (dev || <span class="branch-1 cbranch-no" title="branch not covered" >all)</span> {
|
|
@@ -1122,12 +1143,11 @@ exports.fetch = async ctx => {
|
|
|
1122
1143
|
}
|
|
1123
1144
|
|
|
1124
1145
|
exports.fetchAppDefinition = async ctx => {
|
|
1125
|
-
const
|
|
1126
|
-
const layouts = await getLayouts(db)
|
|
1146
|
+
const layouts = await getLayouts()
|
|
1127
1147
|
const userRoleId = getUserRoleId(ctx)
|
|
1128
|
-
const accessController = new AccessController(
|
|
1148
|
+
const accessController = new AccessController()
|
|
1129
1149
|
const screens = await accessController.checkScreensAccess(
|
|
1130
|
-
await getScreens(
|
|
1150
|
+
await getScreens(),
|
|
1131
1151
|
userRoleId
|
|
1132
1152
|
)
|
|
1133
1153
|
ctx.body = {
|
|
@@ -1138,15 +1158,15 @@ exports.fetchAppDefinition = async ctx => {
|
|
|
1138
1158
|
}
|
|
1139
1159
|
|
|
1140
1160
|
exports.fetchAppPackage = async ctx => {
|
|
1141
|
-
const db =
|
|
1161
|
+
const db = getAppDB()
|
|
1142
1162
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1143
|
-
const layouts = await getLayouts(
|
|
1144
|
-
let screens = await getScreens(
|
|
1163
|
+
const layouts = await getLayouts()
|
|
1164
|
+
let screens = await getScreens()
|
|
1145
1165
|
|
|
1146
1166
|
// Only filter screens if the user is not a builder
|
|
1147
1167
|
if (!(ctx.user.builder && ctx.user.builder.global)) {
|
|
1148
1168
|
const userRoleId = getUserRoleId(ctx)
|
|
1149
|
-
const accessController = new AccessController(
|
|
1169
|
+
const accessController = new AccessController()
|
|
1150
1170
|
screens = await accessController.checkScreensAccess(screens, userRoleId)
|
|
1151
1171
|
}
|
|
1152
1172
|
|
|
@@ -1159,10 +1179,10 @@ exports.fetchAppPackage = async ctx => {
|
|
|
1159
1179
|
}
|
|
1160
1180
|
|
|
1161
1181
|
exports.create = async ctx => {
|
|
1162
|
-
const apps = await getAllApps(
|
|
1182
|
+
const apps = await getAllApps({ dev: true })
|
|
1163
1183
|
const name = ctx.request.body.name
|
|
1164
1184
|
checkAppName(ctx, apps, name)
|
|
1165
|
-
const url =
|
|
1185
|
+
const url = exports.getAppUrl(ctx)
|
|
1166
1186
|
checkAppUrl(ctx, apps, url)
|
|
1167
1187
|
|
|
1168
1188
|
const { useTemplate, templateKey, templateString } = ctx.request.body
|
|
@@ -1177,7 +1197,7 @@ exports.create = async ctx => {
|
|
|
1177
1197
|
const instance = await createInstance(instanceConfig)
|
|
1178
1198
|
const appId = instance._id
|
|
1179
1199
|
|
|
1180
|
-
const db =
|
|
1200
|
+
const db = getAppDB()
|
|
1181
1201
|
let _rev
|
|
1182
1202
|
try {
|
|
1183
1203
|
// if template there will be an existing doc
|
|
@@ -1223,13 +1243,13 @@ exports.create = async ctx => {
|
|
|
1223
1243
|
// This endpoint currently operates as a PATCH rather than a PUT
|
|
1224
1244
|
// Thus name and url fields are handled only if present
|
|
1225
1245
|
exports.update = async ctx => {
|
|
1226
|
-
const apps = await getAllApps(
|
|
1246
|
+
const apps = await getAllApps({ dev: true })
|
|
1227
1247
|
// validation
|
|
1228
1248
|
const name = ctx.request.body.name
|
|
1229
1249
|
if (name) {
|
|
1230
1250
|
checkAppName(ctx, apps, name, ctx.params.appId)
|
|
1231
1251
|
}
|
|
1232
|
-
const url = await getAppUrl(ctx)
|
|
1252
|
+
const url = await exports.getAppUrl(ctx)
|
|
1233
1253
|
if (url) {
|
|
1234
1254
|
checkAppUrl(ctx, apps, url, ctx.params.appId)
|
|
1235
1255
|
ctx.request.body.url = url
|
|
@@ -1242,7 +1262,7 @@ exports.update = async ctx => {
|
|
|
1242
1262
|
|
|
1243
1263
|
exports.updateClient = async ctx => {
|
|
1244
1264
|
// Get current app version
|
|
1245
|
-
const db =
|
|
1265
|
+
const db = getAppDB()
|
|
1246
1266
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1247
1267
|
const currentVersion = application.version
|
|
1248
1268
|
|
|
@@ -1264,7 +1284,7 @@ exports.updateClient = async ctx => {
|
|
|
1264
1284
|
|
|
1265
1285
|
exports.revertClient = async ctx => {
|
|
1266
1286
|
// Check app can be reverted
|
|
1267
|
-
const db =
|
|
1287
|
+
const db = getAppDB()
|
|
1268
1288
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1269
1289
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!application.revertableVersion) {
|
|
1270
1290
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "There is no version to revert to")</span>
|
|
@@ -1286,7 +1306,7 @@ exports.revertClient = async ctx => {
|
|
|
1286
1306
|
}
|
|
1287
1307
|
|
|
1288
1308
|
exports.delete = async ctx => {
|
|
1289
|
-
const db =
|
|
1309
|
+
const db = getAppDB()
|
|
1290
1310
|
|
|
1291
1311
|
const result = await db.destroy()
|
|
1292
1312
|
/* istanbul ignore next */
|
|
@@ -1311,10 +1331,11 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1311
1331
|
}
|
|
1312
1332
|
|
|
1313
1333
|
// replicate prod to dev
|
|
1314
|
-
const prodAppId = <span class="cstat-no" title="statement not covered" >
|
|
1334
|
+
const prodAppId = <span class="cstat-no" title="statement not covered" >getProdAppID(appId)</span>
|
|
1315
1335
|
|
|
1316
1336
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1317
|
-
|
|
1337
|
+
// specific case, want to make sure setup is skipped
|
|
1338
|
+
const prodDb = <span class="cstat-no" title="statement not covered" >getProdAppDB({ skip_setup: true })</span>
|
|
1318
1339
|
const info = <span class="cstat-no" title="statement not covered" >await prodDb.info()</span>
|
|
1319
1340
|
<span class="cstat-no" title="statement not covered" > if (info.error) <span class="cstat-no" title="statement not covered" >throw info.error</span></span>
|
|
1320
1341
|
} catch (err) {
|
|
@@ -1342,7 +1363,7 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1342
1363
|
}
|
|
1343
1364
|
|
|
1344
1365
|
// sync the users
|
|
1345
|
-
<span class="cstat-no" title="statement not covered" > await syncGlobalUsers(
|
|
1366
|
+
<span class="cstat-no" title="statement not covered" > await syncGlobalUsers()</span>
|
|
1346
1367
|
|
|
1347
1368
|
<span class="cstat-no" title="statement not covered" > if (error) {</span>
|
|
1348
1369
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, error)</span>
|
|
@@ -1354,7 +1375,7 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1354
1375
|
}
|
|
1355
1376
|
|
|
1356
1377
|
const updateAppPackage = async (appPackage, appId) => {
|
|
1357
|
-
const db =
|
|
1378
|
+
const db = getAppDB()
|
|
1358
1379
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1359
1380
|
|
|
1360
1381
|
const newAppPackage = { ...application, ...appPackage }
|
|
@@ -1373,7 +1394,7 @@ const updateAppPackage = async (appPackage, appId) => {
|
|
|
1373
1394
|
}
|
|
1374
1395
|
|
|
1375
1396
|
const createEmptyAppPackage = async (ctx, app) => {
|
|
1376
|
-
const db =
|
|
1397
|
+
const db = getAppDB()
|
|
1377
1398
|
|
|
1378
1399
|
let screensAndLayouts = []
|
|
1379
1400
|
for (let layout of BASE_LAYOUTS) {
|
|
@@ -1390,7 +1411,7 @@ const createEmptyAppPackage = async (ctx, app) => {
|
|
|
1390
1411
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1391
1412
|
Code coverage generated by
|
|
1392
1413
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1393
|
-
at Mon
|
|
1414
|
+
at Mon Feb 07 2022 10:27:17 GMT+0000 (Coordinated Universal Time)
|
|
1394
1415
|
</div>
|
|
1395
1416
|
</div>
|
|
1396
1417
|
<script src="../../prettify.js"></script>
|