@budibase/server 1.0.48 → 1.0.49-alpha.3
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/builder/assets/{index.e083dcaf.js → index.21e57eb4.js} +234 -231
- package/builder/assets/index.83c0944f.css +1 -0
- package/builder/assets/{vendor.f9faf6ab.js → vendor.d526bfe8.js} +12 -12
- package/builder/index.html +3 -3
- package/coverage/clover.xml +2338 -2028
- package/coverage/coverage-final.json +100 -95
- 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 +210 -126
- package/coverage/lcov-report/api/controllers/auth.js.html +18 -6
- package/coverage/lcov-report/api/controllers/automation.js.html +21 -21
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +4 -4
- package/coverage/lcov-report/api/controllers/datasource.js.html +72 -36
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +53 -53
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +6 -6
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +119 -0
- package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.js.html +19 -19
- package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
- package/coverage/lcov-report/api/controllers/role.js.html +9 -9
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +16 -16
- package/coverage/lcov-report/api/controllers/row/index.html +48 -33
- package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
- package/coverage/lcov-report/api/controllers/row/internal.js.html +95 -158
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +41 -17
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +551 -0
- package/coverage/lcov-report/api/controllers/row/utils.js.html +39 -57
- package/coverage/lcov-report/api/controllers/screen.js.html +7 -7
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +629 -0
- package/coverage/lcov-report/api/controllers/table/external.js.html +12 -12
- package/coverage/lcov-report/api/controllers/table/index.html +46 -31
- package/coverage/lcov-report/api/controllers/table/index.js.html +53 -77
- package/coverage/lcov-report/api/controllers/table/internal.js.html +59 -35
- package/coverage/lcov-report/api/controllers/table/utils.js.html +217 -73
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +30 -24
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +14 -14
- package/coverage/lcov-report/api/controllers/view/utils.js.html +11 -11
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
- package/coverage/lcov-report/api/controllers/webhook.js.html +15 -15
- 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/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/{hosting.js.html → migrations.js.html} +17 -14
- 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 +17 -2
- 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 +5 -5
- package/coverage/lcov-report/automations/bullboard.js.html +16 -16
- package/coverage/lcov-report/automations/index.html +1 -1
- 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 +13 -19
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +11 -20
- 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 +6 -6
- 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 +18 -18
- package/coverage/lcov-report/automations/utils.js.html +32 -32
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +53 -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 +15 -15
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +18 -18
- package/coverage/lcov-report/db/linkedRows/index.html +10 -10
- package/coverage/lcov-report/db/linkedRows/index.js.html +38 -41
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +15 -15
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +86 -86
- 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 +114 -99
- 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 +166 -64
- package/coverage/lcov-report/middleware/builder.js.html +8 -8
- package/coverage/lcov-report/middleware/currentapp.js.html +29 -29
- package/coverage/lcov-report/middleware/index.html +30 -30
- 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 +270 -42
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +1 -1
- package/coverage/lcov-report/threads/index.html +15 -15
- package/coverage/lcov-report/threads/index.js.html +10 -10
- package/coverage/lcov-report/threads/query.js.html +23 -8
- 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 +26 -26
- package/coverage/lcov-report/utilities/index.html +19 -19
- package/coverage/lcov-report/utilities/index.js.html +25 -25
- 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 +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +27 -27
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +115 -79
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +75 -27
- 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 +141 -0
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +356 -0
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +302 -0
- package/coverage/lcov-report/{api/controllers/hosting.js.html → utilities/usageQuota/usageQuoteReset.js.html} +36 -48
- package/coverage/lcov-report/utilities/users.js.html +5 -5
- package/coverage/lcov-report/utilities/workerRequests.js.html +39 -108
- package/coverage/lcov.info +3656 -3057
- package/dist/api/controllers/application.js +61 -34
- package/dist/api/controllers/auth.js +4 -0
- package/dist/api/controllers/datasource.js +11 -0
- package/dist/api/controllers/migrations.js +21 -0
- package/dist/api/controllers/row/internal.js +30 -53
- package/dist/api/controllers/row/internalSearch.js +12 -4
- package/dist/api/controllers/row/staticFormula.js +147 -0
- package/dist/api/controllers/row/utils.js +6 -8
- package/dist/api/controllers/static/index.js +59 -10
- package/dist/api/controllers/table/bulkFormula.js +160 -0
- package/dist/api/controllers/table/index.js +12 -9
- package/dist/api/controllers/table/internal.js +9 -0
- package/dist/api/controllers/table/utils.js +41 -12
- package/dist/api/controllers/user.js +2 -0
- package/dist/api/routes/index.js +2 -2
- package/dist/api/routes/migrations.js +9 -0
- package/dist/api/routes/static.js +2 -1
- package/dist/app.js +35 -5
- package/dist/automations/steps/createRow.js +2 -4
- package/dist/automations/steps/deleteRow.js +1 -4
- package/dist/constants/index.js +7 -0
- package/dist/db/linkedRows/index.js +4 -5
- package/dist/definitions/datasource.js +1 -0
- package/dist/environment.js +2 -0
- package/dist/integrations/base/sql.js +13 -6
- package/dist/integrations/googlesheets.js +340 -0
- package/dist/integrations/index.js +3 -0
- package/dist/integrations/utils.js +57 -9
- package/dist/middleware/authorized.js +55 -30
- package/dist/middleware/usageQuota.js +80 -13
- package/dist/migrations/functions/appUrls.js +46 -0
- package/dist/migrations/functions/quotas1.js +50 -0
- package/dist/migrations/functions/usageQuotas/index.js +20 -0
- package/dist/migrations/functions/usageQuotas/syncApps.js +32 -0
- package/dist/migrations/functions/usageQuotas/syncRows.js +35 -0
- package/dist/migrations/functions/userEmailViewCasing.js +24 -0
- package/dist/migrations/index.js +62 -0
- package/dist/package.json +8 -5
- package/dist/tests/utilities/TestConfiguration.js +13 -6
- package/dist/threads/query.js +4 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/rowProcessor/index.js +18 -11
- package/dist/utilities/rowProcessor/utils.js +14 -4
- package/dist/utilities/{usageQuota.js → usageQuota/index.js} +44 -31
- package/dist/utilities/usageQuota/rows.js +77 -0
- package/dist/utilities/usageQuota/usageQuoteReset.js +16 -0
- package/dist/utilities/workerRequests.js +0 -20
- package/nodemon.json +1 -1
- package/package.json +9 -6
- package/src/api/controllers/application.js +52 -24
- package/src/api/controllers/auth.js +4 -0
- package/src/api/controllers/datasource.js +12 -0
- package/src/api/controllers/migrations.js +13 -0
- package/src/api/controllers/row/internal.js +29 -50
- package/src/api/controllers/row/internalSearch.js +12 -4
- package/src/api/controllers/row/staticFormula.js +157 -0
- package/src/api/controllers/row/utils.js +6 -12
- package/src/api/controllers/static/index.js +63 -10
- package/src/api/controllers/table/bulkFormula.js +183 -0
- package/src/api/controllers/table/index.js +16 -24
- package/src/api/controllers/table/internal.js +9 -1
- package/src/api/controllers/table/utils.js +57 -9
- package/src/api/controllers/user.js +2 -0
- package/src/api/routes/index.js +2 -2
- package/src/api/routes/migrations.js +14 -0
- package/src/api/routes/static.js +5 -0
- package/src/api/routes/tests/application.spec.js +2 -2
- package/src/api/routes/tests/auth.spec.js +1 -2
- package/src/api/routes/tests/static.spec.js +98 -0
- package/src/app.ts +18 -5
- package/src/automations/steps/createRow.js +2 -4
- package/src/automations/steps/deleteRow.js +1 -4
- package/src/constants/index.js +9 -0
- package/src/db/linkedRows/index.js +4 -5
- package/src/definitions/common.ts +3 -0
- package/src/definitions/datasource.ts +3 -0
- package/src/environment.js +2 -0
- package/src/integrations/base/sql.ts +14 -7
- package/src/integrations/googlesheets.ts +353 -0
- package/src/integrations/index.ts +3 -0
- package/src/integrations/tests/sql.spec.js +16 -0
- package/src/integrations/utils.ts +71 -11
- package/src/middleware/authorized.js +64 -30
- package/src/middleware/tests/authorized.spec.js +6 -4
- package/src/middleware/tests/usageQuota.spec.js +18 -24
- package/src/middleware/usageQuota.js +91 -15
- 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/functions/tests/quotas1.spec.js +27 -0
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +25 -0
- package/src/migrations/functions/usageQuotas/index.ts +8 -0
- package/src/migrations/functions/usageQuotas/syncApps.ts +18 -0
- package/src/migrations/functions/usageQuotas/syncRows.ts +21 -0
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +37 -0
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +43 -0
- package/src/migrations/functions/userEmailViewCasing.ts +13 -0
- package/src/migrations/index.ts +56 -0
- package/src/tests/utilities/TestConfiguration.js +14 -6
- package/src/threads/query.js +5 -0
- package/src/utilities/rowProcessor/index.js +24 -12
- package/src/utilities/rowProcessor/utils.js +23 -7
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +72 -0
- package/src/utilities/usageQuota/index.js +92 -0
- package/src/utilities/usageQuota/rows.js +74 -0
- package/src/utilities/usageQuota/usageQuoteReset.js +18 -0
- package/src/utilities/workerRequests.js +0 -23
- package/builder/assets/index.39e01193.css +0 -1
- package/dist/api/controllers/hosting.js +0 -30
- package/dist/api/routes/hosting.js +0 -11
- package/src/api/controllers/hosting.js +0 -22
- package/src/api/routes/hosting.js +0 -13
- package/src/api/routes/tests/hosting.spec.js +0 -36
- package/src/utilities/usageQuota.js +0 -73
|
@@ -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">79.51% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>163/205</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">55.12% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>43/78</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">88.46% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>23/26</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">79.89% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>159/199</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -471,19 +471,47 @@
|
|
|
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
|
-
<
|
|
474
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
476
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
477
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
|
|
503
|
+
<span class="cline-any cline-yes">38x</span>
|
|
504
|
+
<span class="cline-any cline-yes">38x</span>
|
|
477
505
|
<span class="cline-any cline-neutral"> </span>
|
|
478
506
|
<span class="cline-any cline-neutral"> </span>
|
|
479
507
|
<span class="cline-any cline-neutral"> </span>
|
|
480
508
|
<span class="cline-any cline-neutral"> </span>
|
|
481
|
-
<span class="cline-any cline-yes">
|
|
509
|
+
<span class="cline-any cline-yes">38x</span>
|
|
482
510
|
<span class="cline-any cline-neutral"> </span>
|
|
483
511
|
<span class="cline-any cline-neutral"> </span>
|
|
484
512
|
<span class="cline-any cline-neutral"> </span>
|
|
485
513
|
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-yes">
|
|
514
|
+
<span class="cline-any cline-yes">38x</span>
|
|
487
515
|
<span class="cline-any cline-neutral"> </span>
|
|
488
516
|
<span class="cline-any cline-neutral"> </span>
|
|
489
517
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -491,98 +519,108 @@
|
|
|
491
519
|
<span class="cline-any cline-neutral"> </span>
|
|
492
520
|
<span class="cline-any cline-neutral"> </span>
|
|
493
521
|
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-yes">
|
|
522
|
+
<span class="cline-any cline-yes">38x</span>
|
|
495
523
|
<span class="cline-any cline-neutral"> </span>
|
|
496
524
|
<span class="cline-any cline-neutral"> </span>
|
|
497
525
|
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-yes">
|
|
499
|
-
<span class="cline-any cline-yes">
|
|
500
|
-
<span class="cline-any cline-yes">
|
|
501
|
-
<span class="cline-any cline-yes">
|
|
526
|
+
<span class="cline-any cline-yes">38x</span>
|
|
527
|
+
<span class="cline-any cline-yes">38x</span>
|
|
528
|
+
<span class="cline-any cline-yes">38x</span>
|
|
529
|
+
<span class="cline-any cline-yes">38x</span>
|
|
502
530
|
<span class="cline-any cline-neutral"> </span>
|
|
503
531
|
<span class="cline-any cline-neutral"> </span>
|
|
504
532
|
<span class="cline-any cline-neutral"> </span>
|
|
505
533
|
<span class="cline-any cline-neutral"> </span>
|
|
506
534
|
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-yes">
|
|
508
|
-
<span class="cline-any cline-yes">
|
|
535
|
+
<span class="cline-any cline-yes">38x</span>
|
|
536
|
+
<span class="cline-any cline-yes">38x</span>
|
|
537
|
+
<span class="cline-any cline-yes">38x</span>
|
|
538
|
+
<span class="cline-any cline-yes">38x</span>
|
|
539
|
+
<span class="cline-any cline-yes">38x</span>
|
|
509
540
|
<span class="cline-any cline-neutral"> </span>
|
|
510
541
|
<span class="cline-any cline-neutral"> </span>
|
|
511
542
|
<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>
|
|
515
543
|
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-yes">38x</span>
|
|
545
|
+
<span class="cline-any cline-yes">38x</span>
|
|
546
|
+
<span class="cline-any cline-yes">38x</span>
|
|
547
|
+
<span class="cline-any cline-yes">38x</span>
|
|
548
|
+
<span class="cline-any cline-yes">38x</span>
|
|
516
549
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-yes">38x</span>
|
|
517
551
|
<span class="cline-any cline-neutral"> </span>
|
|
518
552
|
<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>
|
|
524
553
|
<span class="cline-any cline-neutral"> </span>
|
|
525
|
-
<span class="cline-any cline-yes">
|
|
554
|
+
<span class="cline-any cline-yes">205x</span>
|
|
526
555
|
<span class="cline-any cline-neutral"> </span>
|
|
527
556
|
<span class="cline-any cline-neutral"> </span>
|
|
528
557
|
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-yes">195x</span>
|
|
530
558
|
<span class="cline-any cline-neutral"> </span>
|
|
531
559
|
<span class="cline-any cline-neutral"> </span>
|
|
560
|
+
<span class="cline-any cline-yes">410x</span>
|
|
532
561
|
<span class="cline-any cline-neutral"> </span>
|
|
533
562
|
<span class="cline-any cline-neutral"> </span>
|
|
534
563
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-yes">
|
|
564
|
+
<span class="cline-any cline-yes">205x</span>
|
|
536
565
|
<span class="cline-any cline-neutral"> </span>
|
|
537
566
|
<span class="cline-any cline-neutral"> </span>
|
|
538
567
|
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-yes">195x</span>
|
|
540
568
|
<span class="cline-any cline-neutral"> </span>
|
|
541
569
|
<span class="cline-any cline-neutral"> </span>
|
|
570
|
+
<span class="cline-any cline-yes">12x</span>
|
|
542
571
|
<span class="cline-any cline-neutral"> </span>
|
|
543
572
|
<span class="cline-any cline-neutral"> </span>
|
|
544
573
|
<span class="cline-any cline-neutral"> </span>
|
|
545
|
-
<span class="cline-any cline-yes">
|
|
574
|
+
<span class="cline-any cline-yes">203x</span>
|
|
546
575
|
<span class="cline-any cline-neutral"> </span>
|
|
547
576
|
<span class="cline-any cline-neutral"> </span>
|
|
548
577
|
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-yes">193x</span>
|
|
550
578
|
<span class="cline-any cline-neutral"> </span>
|
|
579
|
+
<span class="cline-any cline-yes">38x</span>
|
|
551
580
|
<span class="cline-any cline-neutral"> </span>
|
|
552
581
|
<span class="cline-any cline-neutral"> </span>
|
|
582
|
+
<span class="cline-any cline-yes">198x</span>
|
|
553
583
|
<span class="cline-any cline-neutral"> </span>
|
|
584
|
+
<span class="cline-any cline-no"> </span>
|
|
585
|
+
<span class="cline-any cline-yes">198x</span>
|
|
554
586
|
<span class="cline-any cline-neutral"> </span>
|
|
587
|
+
<span class="cline-any cline-yes">198x</span>
|
|
555
588
|
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-yes">
|
|
557
|
-
<span class="cline-any cline-
|
|
558
|
-
<span class="cline-any cline-yes">190x</span>
|
|
559
|
-
<span class="cline-any cline-yes">187x</span>
|
|
589
|
+
<span class="cline-any cline-yes">198x</span>
|
|
590
|
+
<span class="cline-any cline-yes">198x</span>
|
|
560
591
|
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-yes">
|
|
562
|
-
<span class="cline-any cline-yes">187x</span>
|
|
592
|
+
<span class="cline-any cline-yes">198x</span>
|
|
563
593
|
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-yes">190x</span>
|
|
565
|
-
<span class="cline-any cline-yes">15x</span>
|
|
566
594
|
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-yes">
|
|
568
|
-
<span class="cline-any cline-yes">
|
|
595
|
+
<span class="cline-any cline-yes">38x</span>
|
|
596
|
+
<span class="cline-any cline-yes">197x</span>
|
|
597
|
+
<span class="cline-any cline-yes">2x</span>
|
|
569
598
|
<span class="cline-any cline-neutral"> </span>
|
|
599
|
+
<span class="cline-any cline-yes">733x</span>
|
|
600
|
+
<span class="cline-any cline-no"> </span>
|
|
570
601
|
<span class="cline-any cline-neutral"> </span>
|
|
571
602
|
<span class="cline-any cline-neutral"> </span>
|
|
572
603
|
<span class="cline-any cline-neutral"> </span>
|
|
604
|
+
<span class="cline-any cline-yes">38x</span>
|
|
573
605
|
<span class="cline-any cline-neutral"> </span>
|
|
606
|
+
<span class="cline-any cline-yes">197x</span>
|
|
574
607
|
<span class="cline-any cline-no"> </span>
|
|
575
608
|
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-yes">
|
|
609
|
+
<span class="cline-any cline-yes">197x</span>
|
|
610
|
+
<span class="cline-any cline-yes">2x</span>
|
|
577
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>
|
|
578
614
|
<span class="cline-any cline-neutral"> </span>
|
|
579
615
|
<span class="cline-any cline-neutral"> </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>
|
|
583
616
|
<span class="cline-any cline-neutral"> </span>
|
|
584
|
-
<span class="cline-any cline-
|
|
585
|
-
<span class="cline-any cline-yes">
|
|
617
|
+
<span class="cline-any cline-neutral"> </span>
|
|
618
|
+
<span class="cline-any cline-yes">195x</span>
|
|
619
|
+
<span class="cline-any cline-yes">195x</span>
|
|
620
|
+
<span class="cline-any cline-yes">195x</span>
|
|
621
|
+
<span class="cline-any cline-neutral"> </span>
|
|
622
|
+
<span class="cline-any cline-yes">195x</span>
|
|
623
|
+
<span class="cline-any cline-yes">195x</span>
|
|
586
624
|
<span class="cline-any cline-neutral"> </span>
|
|
587
625
|
<span class="cline-any cline-neutral"> </span>
|
|
588
626
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -591,18 +629,18 @@
|
|
|
591
629
|
<span class="cline-any cline-neutral"> </span>
|
|
592
630
|
<span class="cline-any cline-neutral"> </span>
|
|
593
631
|
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-yes">
|
|
595
|
-
<span class="cline-any cline-yes">
|
|
596
|
-
<span class="cline-any cline-yes">
|
|
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>
|
|
597
635
|
<span class="cline-any cline-neutral"> </span>
|
|
598
636
|
<span class="cline-any cline-neutral"> </span>
|
|
599
637
|
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-yes">
|
|
638
|
+
<span class="cline-any cline-yes">195x</span>
|
|
601
639
|
<span class="cline-any cline-no"> </span>
|
|
602
640
|
<span class="cline-any cline-no"> </span>
|
|
603
641
|
<span class="cline-any cline-no"> </span>
|
|
604
642
|
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-yes">
|
|
643
|
+
<span class="cline-any cline-yes">195x</span>
|
|
606
644
|
<span class="cline-any cline-neutral"> </span>
|
|
607
645
|
<span class="cline-any cline-neutral"> </span>
|
|
608
646
|
<span class="cline-any cline-no"> </span>
|
|
@@ -610,13 +648,13 @@
|
|
|
610
648
|
<span class="cline-any cline-neutral"> </span>
|
|
611
649
|
<span class="cline-any cline-neutral"> </span>
|
|
612
650
|
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-yes">
|
|
651
|
+
<span class="cline-any cline-yes">195x</span>
|
|
614
652
|
<span class="cline-any cline-neutral"> </span>
|
|
615
653
|
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-yes">
|
|
654
|
+
<span class="cline-any cline-yes">195x</span>
|
|
617
655
|
<span class="cline-any cline-neutral"> </span>
|
|
618
656
|
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-yes">
|
|
657
|
+
<span class="cline-any cline-yes">38x</span>
|
|
620
658
|
<span class="cline-any cline-yes">10x</span>
|
|
621
659
|
<span class="cline-any cline-yes">10x</span>
|
|
622
660
|
<span class="cline-any cline-yes">10x</span>
|
|
@@ -641,7 +679,7 @@
|
|
|
641
679
|
<span class="cline-any cline-yes">10x</span>
|
|
642
680
|
<span class="cline-any cline-neutral"> </span>
|
|
643
681
|
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-yes">
|
|
682
|
+
<span class="cline-any cline-yes">38x</span>
|
|
645
683
|
<span class="cline-any cline-yes">1x</span>
|
|
646
684
|
<span class="cline-any cline-yes">1x</span>
|
|
647
685
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -657,20 +695,20 @@
|
|
|
657
695
|
<span class="cline-any cline-neutral"> </span>
|
|
658
696
|
<span class="cline-any cline-neutral"> </span>
|
|
659
697
|
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-yes">
|
|
661
|
-
<span class="cline-any cline-yes">
|
|
662
|
-
<span class="cline-any cline-yes">
|
|
663
|
-
<span class="cline-any cline-yes">
|
|
664
|
-
<span class="cline-any cline-yes">
|
|
698
|
+
<span class="cline-any cline-yes">38x</span>
|
|
699
|
+
<span class="cline-any cline-yes">204x</span>
|
|
700
|
+
<span class="cline-any cline-yes">204x</span>
|
|
701
|
+
<span class="cline-any cline-yes">204x</span>
|
|
702
|
+
<span class="cline-any cline-yes">204x</span>
|
|
665
703
|
<span class="cline-any cline-neutral"> </span>
|
|
666
704
|
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-yes">
|
|
668
|
-
<span class="cline-any cline-yes">
|
|
669
|
-
<span class="cline-any cline-yes">
|
|
670
|
-
<span class="cline-any cline-yes">
|
|
705
|
+
<span class="cline-any cline-yes">204x</span>
|
|
706
|
+
<span class="cline-any cline-yes">202x</span>
|
|
707
|
+
<span class="cline-any cline-yes">202x</span>
|
|
708
|
+
<span class="cline-any cline-yes">202x</span>
|
|
671
709
|
<span class="cline-any cline-neutral"> </span>
|
|
672
710
|
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-yes">
|
|
711
|
+
<span class="cline-any cline-yes">204x</span>
|
|
674
712
|
<span class="cline-any cline-neutral"> </span>
|
|
675
713
|
<span class="cline-any cline-neutral"> </span>
|
|
676
714
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -678,30 +716,35 @@
|
|
|
678
716
|
<span class="cline-any cline-neutral"> </span>
|
|
679
717
|
<span class="cline-any cline-neutral"> </span>
|
|
680
718
|
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-yes">
|
|
682
|
-
<span class="cline-any cline-yes">
|
|
683
|
-
<span class="cline-any cline-yes">
|
|
719
|
+
<span class="cline-any cline-yes">38x</span>
|
|
720
|
+
<span class="cline-any cline-yes">195x</span>
|
|
721
|
+
<span class="cline-any cline-yes">195x</span>
|
|
722
|
+
<span class="cline-any cline-yes">195x</span>
|
|
723
|
+
<span class="cline-any cline-yes">195x</span>
|
|
724
|
+
<span class="cline-any cline-yes">195x</span>
|
|
684
725
|
<span class="cline-any cline-neutral"> </span>
|
|
726
|
+
<span class="cline-any cline-yes">195x</span>
|
|
727
|
+
<span class="cline-any cline-yes">195x</span>
|
|
685
728
|
<span class="cline-any cline-neutral"> </span>
|
|
686
729
|
<span class="cline-any cline-neutral"> </span>
|
|
687
730
|
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-
|
|
731
|
+
<span class="cline-any cline-neutral"> </span>
|
|
732
|
+
<span class="cline-any cline-yes">195x</span>
|
|
689
733
|
<span class="cline-any cline-no"> </span>
|
|
690
734
|
<span class="cline-any cline-neutral"> </span>
|
|
691
|
-
<span class="cline-any cline-yes">
|
|
692
|
-
<span class="cline-any cline-yes">
|
|
735
|
+
<span class="cline-any cline-yes">195x</span>
|
|
736
|
+
<span class="cline-any cline-yes">195x</span>
|
|
693
737
|
<span class="cline-any cline-neutral"> </span>
|
|
694
|
-
<span class="cline-any cline-yes">
|
|
695
|
-
<span class="cline-any cline-yes">185x</span>
|
|
738
|
+
<span class="cline-any cline-yes">195x</span>
|
|
696
739
|
<span class="cline-any cline-neutral"> </span>
|
|
697
|
-
<span class="cline-any cline-yes">
|
|
740
|
+
<span class="cline-any cline-yes">195x</span>
|
|
698
741
|
<span class="cline-any cline-neutral"> </span>
|
|
699
|
-
<span class="cline-any cline-yes">
|
|
742
|
+
<span class="cline-any cline-yes">195x</span>
|
|
700
743
|
<span class="cline-any cline-no"> </span>
|
|
701
744
|
<span class="cline-any cline-neutral"> </span>
|
|
702
745
|
<span class="cline-any cline-neutral"> </span>
|
|
703
746
|
<span class="cline-any cline-neutral"> </span>
|
|
704
|
-
<span class="cline-any cline-yes">
|
|
747
|
+
<span class="cline-any cline-yes">195x</span>
|
|
705
748
|
<span class="cline-any cline-neutral"> </span>
|
|
706
749
|
<span class="cline-any cline-neutral"> </span>
|
|
707
750
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -716,32 +759,46 @@
|
|
|
716
759
|
<span class="cline-any cline-neutral"> </span>
|
|
717
760
|
<span class="cline-any cline-neutral"> </span>
|
|
718
761
|
<span class="cline-any cline-neutral"> </span>
|
|
719
|
-
<span class="cline-any cline-yes">
|
|
720
|
-
<span class="cline-any cline-yes">
|
|
762
|
+
<span class="cline-any cline-yes">195x</span>
|
|
763
|
+
<span class="cline-any cline-yes">195x</span>
|
|
721
764
|
<span class="cline-any cline-neutral"> </span>
|
|
722
765
|
<span class="cline-any cline-neutral"> </span>
|
|
723
766
|
<span class="cline-any cline-neutral"> </span>
|
|
724
|
-
<span class="cline-any cline-yes">
|
|
725
|
-
<span class="cline-any cline-yes">
|
|
767
|
+
<span class="cline-any cline-yes">195x</span>
|
|
768
|
+
<span class="cline-any cline-yes">195x</span>
|
|
769
|
+
<span class="cline-any cline-neutral"> </span>
|
|
726
770
|
<span class="cline-any cline-neutral"> </span>
|
|
727
771
|
<span class="cline-any cline-neutral"> </span>
|
|
728
772
|
<span class="cline-any cline-neutral"> </span>
|
|
729
773
|
<span class="cline-any cline-neutral"> </span>
|
|
730
774
|
<span class="cline-any cline-neutral"> </span>
|
|
731
775
|
<span class="cline-any cline-neutral"> </span>
|
|
776
|
+
<span class="cline-any cline-yes">195x</span>
|
|
777
|
+
<span class="cline-any cline-yes">195x</span>
|
|
778
|
+
<span class="cline-any cline-yes">195x</span>
|
|
732
779
|
<span class="cline-any cline-neutral"> </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>
|
|
736
780
|
<span class="cline-any cline-neutral"> </span>
|
|
737
781
|
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-
|
|
782
|
+
<span class="cline-any cline-neutral"> </span>
|
|
783
|
+
<span class="cline-any cline-yes">38x</span>
|
|
784
|
+
<span class="cline-any cline-yes">2x</span>
|
|
785
|
+
<span class="cline-any cline-neutral"> </span>
|
|
786
|
+
<span class="cline-any cline-yes">2x</span>
|
|
787
|
+
<span class="cline-any cline-yes">2x</span>
|
|
788
|
+
<span class="cline-any cline-yes">2x</span>
|
|
789
|
+
<span class="cline-any cline-neutral"> </span>
|
|
790
|
+
<span class="cline-any cline-yes">2x</span>
|
|
791
|
+
<span class="cline-any cline-yes">2x</span>
|
|
792
|
+
<span class="cline-any cline-yes">2x</span>
|
|
793
|
+
<span class="cline-any cline-yes">2x</span>
|
|
794
|
+
<span class="cline-any cline-neutral"> </span>
|
|
795
|
+
<span class="cline-any cline-neutral"> </span>
|
|
739
796
|
<span class="cline-any cline-yes">2x</span>
|
|
740
797
|
<span class="cline-any cline-yes">2x</span>
|
|
741
798
|
<span class="cline-any cline-yes">2x</span>
|
|
742
799
|
<span class="cline-any cline-neutral"> </span>
|
|
743
800
|
<span class="cline-any cline-neutral"> </span>
|
|
744
|
-
<span class="cline-any cline-yes">
|
|
801
|
+
<span class="cline-any cline-yes">38x</span>
|
|
745
802
|
<span class="cline-any cline-neutral"> </span>
|
|
746
803
|
<span class="cline-any cline-yes">2x</span>
|
|
747
804
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -763,7 +820,7 @@
|
|
|
763
820
|
<span class="cline-any cline-yes">2x</span>
|
|
764
821
|
<span class="cline-any cline-neutral"> </span>
|
|
765
822
|
<span class="cline-any cline-neutral"> </span>
|
|
766
|
-
<span class="cline-any cline-yes">
|
|
823
|
+
<span class="cline-any cline-yes">38x</span>
|
|
767
824
|
<span class="cline-any cline-neutral"> </span>
|
|
768
825
|
<span class="cline-any cline-yes">1x</span>
|
|
769
826
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -786,7 +843,7 @@
|
|
|
786
843
|
<span class="cline-any cline-yes">1x</span>
|
|
787
844
|
<span class="cline-any cline-neutral"> </span>
|
|
788
845
|
<span class="cline-any cline-neutral"> </span>
|
|
789
|
-
<span class="cline-any cline-yes">
|
|
846
|
+
<span class="cline-any cline-yes">38x</span>
|
|
790
847
|
<span class="cline-any cline-yes">11x</span>
|
|
791
848
|
<span class="cline-any cline-neutral"> </span>
|
|
792
849
|
<span class="cline-any cline-yes">11x</span>
|
|
@@ -805,7 +862,7 @@
|
|
|
805
862
|
<span class="cline-any cline-yes">11x</span>
|
|
806
863
|
<span class="cline-any cline-neutral"> </span>
|
|
807
864
|
<span class="cline-any cline-neutral"> </span>
|
|
808
|
-
<span class="cline-any cline-yes">
|
|
865
|
+
<span class="cline-any cline-yes">38x</span>
|
|
809
866
|
<span class="cline-any cline-no"> </span>
|
|
810
867
|
<span class="cline-any cline-no"> </span>
|
|
811
868
|
<span class="cline-any cline-no"> </span>
|
|
@@ -854,8 +911,7 @@
|
|
|
854
911
|
<span class="cline-any cline-neutral"> </span>
|
|
855
912
|
<span class="cline-any cline-neutral"> </span>
|
|
856
913
|
<span class="cline-any cline-neutral"> </span>
|
|
857
|
-
<span class="cline-any cline-yes">
|
|
858
|
-
<span class="cline-any cline-yes">5x</span>
|
|
914
|
+
<span class="cline-any cline-yes">38x</span>
|
|
859
915
|
<span class="cline-any cline-yes">5x</span>
|
|
860
916
|
<span class="cline-any cline-yes">5x</span>
|
|
861
917
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -874,16 +930,16 @@
|
|
|
874
930
|
<span class="cline-any cline-yes">5x</span>
|
|
875
931
|
<span class="cline-any cline-neutral"> </span>
|
|
876
932
|
<span class="cline-any cline-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-yes">
|
|
878
|
-
<span class="cline-any cline-yes">
|
|
933
|
+
<span class="cline-any cline-yes">38x</span>
|
|
934
|
+
<span class="cline-any cline-yes">195x</span>
|
|
879
935
|
<span class="cline-any cline-neutral"> </span>
|
|
880
|
-
<span class="cline-any cline-yes">
|
|
881
|
-
<span class="cline-any cline-yes">
|
|
882
|
-
<span class="cline-any cline-yes">
|
|
883
|
-
<span class="cline-any cline-yes">
|
|
936
|
+
<span class="cline-any cline-yes">195x</span>
|
|
937
|
+
<span class="cline-any cline-yes">195x</span>
|
|
938
|
+
<span class="cline-any cline-yes">390x</span>
|
|
939
|
+
<span class="cline-any cline-yes">390x</span>
|
|
884
940
|
<span class="cline-any cline-neutral"> </span>
|
|
885
941
|
<span class="cline-any cline-neutral"> </span>
|
|
886
|
-
<span class="cline-any cline-yes">
|
|
942
|
+
<span class="cline-any cline-yes">195x</span>
|
|
887
943
|
<span class="cline-any cline-neutral"> </span>
|
|
888
944
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
|
|
889
945
|
const env = require("../../environment")
|
|
@@ -920,10 +976,7 @@ const {
|
|
|
920
976
|
Replication,
|
|
921
977
|
} = require("@budibase/backend-core/db")
|
|
922
978
|
const { USERS_TABLE_SCHEMA } = require("../../constants")
|
|
923
|
-
const {
|
|
924
|
-
getDeployedApps,
|
|
925
|
-
removeAppFromUserRoles,
|
|
926
|
-
} = require("../../utilities/workerRequests")
|
|
979
|
+
const { removeAppFromUserRoles } = require("../../utilities/workerRequests")
|
|
927
980
|
const { clientLibraryPath, stringToReadStream } = require("../../utilities")
|
|
928
981
|
const { getAllLocks } = require("../../utilities/redis")
|
|
929
982
|
const {
|
|
@@ -965,29 +1018,42 @@ function getUserRoleId(ctx) {
|
|
|
965
1018
|
: ctx.user.role._id
|
|
966
1019
|
}
|
|
967
1020
|
|
|
968
|
-
|
|
1021
|
+
exports.getAppUrl = ctx => {
|
|
1022
|
+
// construct the url
|
|
969
1023
|
let url
|
|
970
1024
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.body.url) {
|
|
1025
|
+
// if the url is provided, use that
|
|
971
1026
|
<span class="cstat-no" title="statement not covered" > url = encodeURI(ctx.request.body.url)</span>
|
|
972
1027
|
} else if (ctx.request.body.name) {
|
|
1028
|
+
// otherwise use the name
|
|
973
1029
|
url = encodeURI(`${ctx.request.body.name}`)
|
|
974
1030
|
}
|
|
975
1031
|
if (url) {
|
|
976
1032
|
url = `/${url.replace(URL_REGEX_SLASH, "")}`.toLowerCase()
|
|
977
1033
|
}
|
|
978
|
-
|
|
979
|
-
|
|
1034
|
+
return url
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
const checkAppUrl = (ctx, apps, url, currentAppId) => {
|
|
1038
|
+
if (currentAppId) {
|
|
1039
|
+
apps = apps.filter(app => app.appId !== currentAppId)
|
|
980
1040
|
}
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
<span class="
|
|
1041
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (apps.some(app => app.url === url)) {
|
|
1042
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "App URL is already in use.")</span>
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
const checkAppName = (ctx, apps, name, currentAppId) => {
|
|
1047
|
+
// TODO: Replace with Joi
|
|
1048
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!name) {
|
|
1049
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Name is required")</span>
|
|
1050
|
+
}
|
|
1051
|
+
if (currentAppId) {
|
|
1052
|
+
apps = apps.filter(app => app.appId !== currentAppId)
|
|
1053
|
+
}
|
|
1054
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (apps.some(app => app.name === name)) {
|
|
1055
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "App name is already in use.")</span>
|
|
989
1056
|
}
|
|
990
|
-
return url
|
|
991
1057
|
}
|
|
992
1058
|
|
|
993
1059
|
async function createInstance(template) {
|
|
@@ -1093,6 +1159,12 @@ exports.fetchAppPackage = async ctx => {
|
|
|
1093
1159
|
}
|
|
1094
1160
|
|
|
1095
1161
|
exports.create = async ctx => {
|
|
1162
|
+
const apps = await getAllApps(CouchDB, { dev: true })
|
|
1163
|
+
const name = ctx.request.body.name
|
|
1164
|
+
checkAppName(ctx, apps, name)
|
|
1165
|
+
const url = exports.getAppUrl(ctx)
|
|
1166
|
+
checkAppUrl(ctx, apps, url)
|
|
1167
|
+
|
|
1096
1168
|
const { useTemplate, templateKey, templateString } = ctx.request.body
|
|
1097
1169
|
const instanceConfig = {
|
|
1098
1170
|
useTemplate,
|
|
@@ -1105,7 +1177,6 @@ exports.create = async ctx => {
|
|
|
1105
1177
|
const instance = await createInstance(instanceConfig)
|
|
1106
1178
|
const appId = instance._id
|
|
1107
1179
|
|
|
1108
|
-
const url = await getAppUrlIfNotInUse(ctx)
|
|
1109
1180
|
const db = new CouchDB(appId)
|
|
1110
1181
|
let _rev
|
|
1111
1182
|
try {
|
|
@@ -1122,7 +1193,7 @@ exports.create = async ctx => {
|
|
|
1122
1193
|
type: "app",
|
|
1123
1194
|
version: packageJson.version,
|
|
1124
1195
|
componentLibraries: ["@budibase/standard-components"],
|
|
1125
|
-
name:
|
|
1196
|
+
name: name,
|
|
1126
1197
|
url: url,
|
|
1127
1198
|
template: ctx.request.body.template,
|
|
1128
1199
|
instance: instance,
|
|
@@ -1149,8 +1220,22 @@ exports.create = async ctx => {
|
|
|
1149
1220
|
ctx.body = newApplication
|
|
1150
1221
|
}
|
|
1151
1222
|
|
|
1223
|
+
// This endpoint currently operates as a PATCH rather than a PUT
|
|
1224
|
+
// Thus name and url fields are handled only if present
|
|
1152
1225
|
exports.update = async ctx => {
|
|
1153
|
-
const
|
|
1226
|
+
const apps = await getAllApps(CouchDB, { dev: true })
|
|
1227
|
+
// validation
|
|
1228
|
+
const name = ctx.request.body.name
|
|
1229
|
+
if (name) {
|
|
1230
|
+
checkAppName(ctx, apps, name, ctx.params.appId)
|
|
1231
|
+
}
|
|
1232
|
+
const url = await exports.getAppUrl(ctx)
|
|
1233
|
+
if (url) {
|
|
1234
|
+
checkAppUrl(ctx, apps, url, ctx.params.appId)
|
|
1235
|
+
ctx.request.body.url = url
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
const data = await updateAppPackage(ctx.request.body, ctx.params.appId)
|
|
1154
1239
|
ctx.status = 200
|
|
1155
1240
|
ctx.body = data
|
|
1156
1241
|
}
|
|
@@ -1172,7 +1257,7 @@ exports.updateClient = async ctx => {
|
|
|
1172
1257
|
version: packageJson.version,
|
|
1173
1258
|
revertableVersion: currentVersion,
|
|
1174
1259
|
}
|
|
1175
|
-
const data = await updateAppPackage(
|
|
1260
|
+
const data = await updateAppPackage(appPackageUpdates, ctx.params.appId)
|
|
1176
1261
|
ctx.status = 200
|
|
1177
1262
|
ctx.body = data
|
|
1178
1263
|
}
|
|
@@ -1195,7 +1280,7 @@ exports.revertClient = async ctx => {
|
|
|
1195
1280
|
version: application.revertableVersion,
|
|
1196
1281
|
revertableVersion: null,
|
|
1197
1282
|
}
|
|
1198
|
-
const data = await updateAppPackage(
|
|
1283
|
+
const data = await updateAppPackage(appPackageUpdates, ctx.params.appId)
|
|
1199
1284
|
ctx.status = 200
|
|
1200
1285
|
ctx.body = data
|
|
1201
1286
|
}
|
|
@@ -1268,12 +1353,11 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1268
1353
|
}
|
|
1269
1354
|
}
|
|
1270
1355
|
|
|
1271
|
-
const updateAppPackage = async (
|
|
1272
|
-
const url = await getAppUrlIfNotInUse(ctx)
|
|
1356
|
+
const updateAppPackage = async (appPackage, appId) => {
|
|
1273
1357
|
const db = new CouchDB(appId)
|
|
1274
1358
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1275
1359
|
|
|
1276
|
-
const newAppPackage = { ...application, ...appPackage
|
|
1360
|
+
const newAppPackage = { ...application, ...appPackage }
|
|
1277
1361
|
if (appPackage._rev !== application._rev) {
|
|
1278
1362
|
newAppPackage._rev = application._rev
|
|
1279
1363
|
}
|
|
@@ -1306,7 +1390,7 @@ const createEmptyAppPackage = async (ctx, app) => {
|
|
|
1306
1390
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1307
1391
|
Code coverage generated by
|
|
1308
1392
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1309
|
-
at Mon Jan 31 2022
|
|
1393
|
+
at Mon Jan 31 2022 17:55:41 GMT+0000 (Coordinated Universal Time)
|
|
1310
1394
|
</div>
|
|
1311
1395
|
</div>
|
|
1312
1396
|
<script src="../../prettify.js"></script>
|