@budibase/server 0.9.140-alpha.1 → 0.9.140-alpha.5
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.e8745f5e.js → index.80d850d1.js} +35 -35
- package/builder/assets/{vendor.d39b3c1e.js → vendor.820de34b.js} +10 -2
- package/builder/index.html +2 -2
- package/coverage/clover.xml +798 -530
- package/coverage/coverage-final.json +19 -16
- package/coverage/lcov-report/api/controllers/analytics.js.html +4 -4
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +3 -3
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +5 -5
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +34 -19
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +242 -47
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1244 -0
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +2 -2
- package/coverage/lcov-report/api/controllers/table/utils.js.html +31 -19
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +32 -17
- package/coverage/lcov-report/api/controllers/view/index.js.html +84 -186
- package/coverage/lcov-report/api/controllers/view/utils.js.html +407 -0
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- 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/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/hosting.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +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 +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +10 -19
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +14 -20
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +31 -31
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +18 -27
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +12 -21
- package/coverage/lcov-report/automations/steps/utils.js.html +23 -23
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/thread.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/automations/utils.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/client.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +224 -0
- package/coverage/lcov-report/db/index.html +34 -19
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +4 -4
- package/coverage/lcov-report/db/linkedRows/index.html +14 -14
- package/coverage/lcov-report/db/linkedRows/index.js.html +18 -9
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +37 -10
- 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 +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +68 -68
- 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 +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- 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 +15 -15
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +58 -13
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +2 -2
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +1405 -886
- package/dist/api/controllers/analytics.js +1 -1
- package/dist/api/controllers/datasource.js +2 -2
- package/dist/api/controllers/row/ExternalRequest.js +4 -0
- package/dist/api/controllers/row/internal.js +97 -23
- package/dist/api/controllers/table/index.js +1 -1
- package/dist/api/controllers/table/utils.js +13 -11
- package/dist/api/controllers/view/index.js +74 -96
- package/dist/api/controllers/view/utils.js +102 -0
- package/dist/automations/steps/createRow.js +5 -8
- package/dist/automations/steps/deleteRow.js +7 -10
- package/dist/automations/steps/queryRows.js +11 -14
- package/dist/automations/steps/updateRow.js +4 -7
- package/dist/db/inMemoryView.js +51 -0
- package/dist/db/linkedRows/index.js +5 -2
- package/dist/db/utils.js +7 -0
- package/dist/environment.js +7 -1
- package/dist/integrations/mysql.js +2 -13
- package/dist/integrations/postgres.js +8 -14
- package/dist/integrations/utils.js +19 -1
- package/dist/package.json +10 -12
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/rowProcessor/index.js +10 -5
- package/package.json +11 -13
- package/scripts/integrations/service-vehicles/docker-compose.yml +28 -0
- package/scripts/integrations/service-vehicles/init.sql +52 -0
- package/scripts/integrations/service-vehicles/reset.sh +3 -0
- package/src/api/controllers/analytics.js +1 -1
- package/src/api/controllers/datasource.js +2 -2
- package/src/api/controllers/row/ExternalRequest.ts +5 -1
- package/src/api/controllers/row/internal.js +88 -23
- package/src/api/controllers/table/index.js +1 -1
- package/src/api/controllers/table/utils.js +16 -12
- package/src/api/controllers/view/index.js +82 -116
- package/src/api/controllers/view/utils.js +109 -0
- package/src/api/routes/tests/view.spec.js +1 -1
- package/src/automations/steps/createRow.js +5 -8
- package/src/automations/steps/deleteRow.js +8 -10
- package/src/automations/steps/queryRows.js +11 -14
- package/src/automations/steps/updateRow.js +7 -10
- package/src/db/inMemoryView.js +48 -0
- package/src/db/linkedRows/index.js +5 -2
- package/src/db/utils.js +9 -0
- package/src/environment.js +8 -1
- package/src/integrations/mysql.ts +2 -13
- package/src/integrations/postgres.ts +9 -16
- package/src/integrations/utils.ts +18 -0
- package/src/utilities/rowProcessor/index.js +20 -5
|
@@ -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">80.68% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>167/207</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">60.34% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>35/58</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">92.31% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>24/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">80.6% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>162/201</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -423,18 +423,88 @@
|
|
|
423
423
|
<a name='L364'></a><a href='#L364'>364</a>
|
|
424
424
|
<a name='L365'></a><a href='#L365'>365</a>
|
|
425
425
|
<a name='L366'></a><a href='#L366'>366</a>
|
|
426
|
-
<a name='L367'></a><a href='#L367'>367</a
|
|
426
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
427
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
428
|
+
<a name='L369'></a><a href='#L369'>369</a>
|
|
429
|
+
<a name='L370'></a><a href='#L370'>370</a>
|
|
430
|
+
<a name='L371'></a><a href='#L371'>371</a>
|
|
431
|
+
<a name='L372'></a><a href='#L372'>372</a>
|
|
432
|
+
<a name='L373'></a><a href='#L373'>373</a>
|
|
433
|
+
<a name='L374'></a><a href='#L374'>374</a>
|
|
434
|
+
<a name='L375'></a><a href='#L375'>375</a>
|
|
435
|
+
<a name='L376'></a><a href='#L376'>376</a>
|
|
436
|
+
<a name='L377'></a><a href='#L377'>377</a>
|
|
437
|
+
<a name='L378'></a><a href='#L378'>378</a>
|
|
438
|
+
<a name='L379'></a><a href='#L379'>379</a>
|
|
439
|
+
<a name='L380'></a><a href='#L380'>380</a>
|
|
440
|
+
<a name='L381'></a><a href='#L381'>381</a>
|
|
441
|
+
<a name='L382'></a><a href='#L382'>382</a>
|
|
442
|
+
<a name='L383'></a><a href='#L383'>383</a>
|
|
443
|
+
<a name='L384'></a><a href='#L384'>384</a>
|
|
444
|
+
<a name='L385'></a><a href='#L385'>385</a>
|
|
445
|
+
<a name='L386'></a><a href='#L386'>386</a>
|
|
446
|
+
<a name='L387'></a><a href='#L387'>387</a>
|
|
447
|
+
<a name='L388'></a><a href='#L388'>388</a>
|
|
448
|
+
<a name='L389'></a><a href='#L389'>389</a>
|
|
449
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
450
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
451
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
452
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
453
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
454
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
455
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
456
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
457
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
458
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
459
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
460
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
461
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
462
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
463
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
464
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
465
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
466
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
467
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
468
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
469
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
470
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
471
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
472
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
473
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
474
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
476
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
477
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
427
492
|
<span class="cline-any cline-yes">34x</span>
|
|
428
493
|
<span class="cline-any cline-neutral"> </span>
|
|
429
494
|
<span class="cline-any cline-neutral"> </span>
|
|
430
495
|
<span class="cline-any cline-neutral"> </span>
|
|
431
496
|
<span class="cline-any cline-neutral"> </span>
|
|
432
497
|
<span class="cline-any cline-neutral"> </span>
|
|
498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
433
499
|
<span class="cline-any cline-yes">34x</span>
|
|
434
500
|
<span class="cline-any cline-yes">34x</span>
|
|
435
501
|
<span class="cline-any cline-neutral"> </span>
|
|
436
502
|
<span class="cline-any cline-neutral"> </span>
|
|
437
503
|
<span class="cline-any cline-neutral"> </span>
|
|
504
|
+
<span class="cline-any cline-neutral"> </span>
|
|
505
|
+
<span class="cline-any cline-yes">34x</span>
|
|
506
|
+
<span class="cline-any cline-yes">34x</span>
|
|
507
|
+
<span class="cline-any cline-yes">34x</span>
|
|
438
508
|
<span class="cline-any cline-yes">34x</span>
|
|
439
509
|
<span class="cline-any cline-yes">34x</span>
|
|
440
510
|
<span class="cline-any cline-yes">34x</span>
|
|
@@ -450,17 +520,84 @@
|
|
|
450
520
|
<span class="cline-any cline-neutral"> </span>
|
|
451
521
|
<span class="cline-any cline-neutral"> </span>
|
|
452
522
|
<span class="cline-any cline-yes">70x</span>
|
|
453
|
-
<span class="cline-any cline-
|
|
523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
454
525
|
<span class="cline-any cline-neutral"> </span>
|
|
455
526
|
<span class="cline-any cline-yes">70x</span>
|
|
456
527
|
<span class="cline-any cline-no"> </span>
|
|
528
|
+
<span class="cline-any cline-no"> </span>
|
|
529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
530
|
+
<span class="cline-any cline-no"> </span>
|
|
531
|
+
<span class="cline-any cline-no"> </span>
|
|
532
|
+
<span class="cline-any cline-no"> </span>
|
|
533
|
+
<span class="cline-any cline-neutral"> </span>
|
|
534
|
+
<span class="cline-any cline-neutral"> </span>
|
|
535
|
+
<span class="cline-any cline-no"> </span>
|
|
536
|
+
<span class="cline-any cline-no"> </span>
|
|
537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
538
|
+
<span class="cline-any cline-no"> </span>
|
|
539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
457
541
|
<span class="cline-any cline-neutral"> </span>
|
|
458
542
|
<span class="cline-any cline-yes">70x</span>
|
|
543
|
+
<span class="cline-any cline-yes">70x</span>
|
|
459
544
|
<span class="cline-any cline-neutral"> </span>
|
|
460
545
|
<span class="cline-any cline-yes">70x</span>
|
|
461
546
|
<span class="cline-any cline-yes">70x</span>
|
|
462
547
|
<span class="cline-any cline-neutral"> </span>
|
|
463
548
|
<span class="cline-any cline-neutral"> </span>
|
|
549
|
+
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-neutral"> </span>
|
|
551
|
+
<span class="cline-any cline-neutral"> </span>
|
|
552
|
+
<span class="cline-any cline-yes">5x</span>
|
|
553
|
+
<span class="cline-any cline-no"> </span>
|
|
554
|
+
<span class="cline-any cline-no"> </span>
|
|
555
|
+
<span class="cline-any cline-neutral"> </span>
|
|
556
|
+
<span class="cline-any cline-yes">5x</span>
|
|
557
|
+
<span class="cline-any cline-neutral"> </span>
|
|
558
|
+
<span class="cline-any cline-neutral"> </span>
|
|
559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-yes">10x</span>
|
|
562
|
+
<span class="cline-any cline-neutral"> </span>
|
|
563
|
+
<span class="cline-any cline-yes">5x</span>
|
|
564
|
+
<span class="cline-any cline-neutral"> </span>
|
|
565
|
+
<span class="cline-any cline-neutral"> </span>
|
|
566
|
+
<span class="cline-any cline-neutral"> </span>
|
|
567
|
+
<span class="cline-any cline-neutral"> </span>
|
|
568
|
+
<span class="cline-any cline-neutral"> </span>
|
|
569
|
+
<span class="cline-any cline-yes">6x</span>
|
|
570
|
+
<span class="cline-any cline-yes">6x</span>
|
|
571
|
+
<span class="cline-any cline-yes">6x</span>
|
|
572
|
+
<span class="cline-any cline-neutral"> </span>
|
|
573
|
+
<span class="cline-any cline-yes">6x</span>
|
|
574
|
+
<span class="cline-any cline-yes">6x</span>
|
|
575
|
+
<span class="cline-any cline-yes">6x</span>
|
|
576
|
+
<span class="cline-any cline-neutral"> </span>
|
|
577
|
+
<span class="cline-any cline-no"> </span>
|
|
578
|
+
<span class="cline-any cline-no"> </span>
|
|
579
|
+
<span class="cline-any cline-no"> </span>
|
|
580
|
+
<span class="cline-any cline-no"> </span>
|
|
581
|
+
<span class="cline-any cline-neutral"> </span>
|
|
582
|
+
<span class="cline-any cline-neutral"> </span>
|
|
583
|
+
<span class="cline-any cline-neutral"> </span>
|
|
584
|
+
<span class="cline-any cline-no"> </span>
|
|
585
|
+
<span class="cline-any cline-no"> </span>
|
|
586
|
+
<span class="cline-any cline-neutral"> </span>
|
|
587
|
+
<span class="cline-any cline-no"> </span>
|
|
588
|
+
<span class="cline-any cline-no"> </span>
|
|
589
|
+
<span class="cline-any cline-neutral"> </span>
|
|
590
|
+
<span class="cline-any cline-neutral"> </span>
|
|
591
|
+
<span class="cline-any cline-neutral"> </span>
|
|
592
|
+
<span class="cline-any cline-yes">6x</span>
|
|
593
|
+
<span class="cline-any cline-no"> </span>
|
|
594
|
+
<span class="cline-any cline-neutral"> </span>
|
|
595
|
+
<span class="cline-any cline-yes">6x</span>
|
|
596
|
+
<span class="cline-any cline-yes">1x</span>
|
|
597
|
+
<span class="cline-any cline-neutral"> </span>
|
|
598
|
+
<span class="cline-any cline-yes">5x</span>
|
|
599
|
+
<span class="cline-any cline-neutral"> </span>
|
|
600
|
+
<span class="cline-any cline-neutral"> </span>
|
|
464
601
|
<span class="cline-any cline-yes">34x</span>
|
|
465
602
|
<span class="cline-any cline-yes">5x</span>
|
|
466
603
|
<span class="cline-any cline-yes">5x</span>
|
|
@@ -565,13 +702,16 @@
|
|
|
565
702
|
<span class="cline-any cline-yes">6x</span>
|
|
566
703
|
<span class="cline-any cline-yes">6x</span>
|
|
567
704
|
<span class="cline-any cline-yes">6x</span>
|
|
568
|
-
<span class="cline-any cline-yes">6x</span>
|
|
569
|
-
<span class="cline-any cline-yes">6x</span>
|
|
570
|
-
<span class="cline-any cline-yes">1x</span>
|
|
571
705
|
<span class="cline-any cline-neutral"> </span>
|
|
572
706
|
<span class="cline-any cline-yes">5x</span>
|
|
707
|
+
<span class="cline-any cline-yes">5x</span>
|
|
708
|
+
<span class="cline-any cline-neutral"> </span>
|
|
709
|
+
<span class="cline-any cline-neutral"> </span>
|
|
573
710
|
<span class="cline-any cline-neutral"> </span>
|
|
574
711
|
<span class="cline-any cline-neutral"> </span>
|
|
712
|
+
<span class="cline-any cline-no"> </span>
|
|
713
|
+
<span class="cline-any cline-no"> </span>
|
|
714
|
+
<span class="cline-any cline-no"> </span>
|
|
575
715
|
<span class="cline-any cline-neutral"> </span>
|
|
576
716
|
<span class="cline-any cline-neutral"> </span>
|
|
577
717
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -616,19 +756,9 @@
|
|
|
616
756
|
<span class="cline-any cline-yes">5x</span>
|
|
617
757
|
<span class="cline-any cline-yes">5x</span>
|
|
618
758
|
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
759
|
<span class="cline-any cline-yes">5x</span>
|
|
621
760
|
<span class="cline-any cline-yes">5x</span>
|
|
622
|
-
<span class="cline-any cline-no"> </span>
|
|
623
|
-
<span class="cline-any cline-no"> </span>
|
|
624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
625
761
|
<span class="cline-any cline-yes">5x</span>
|
|
626
|
-
<span class="cline-any cline-neutral"> </span>
|
|
627
|
-
<span class="cline-any cline-neutral"> </span>
|
|
628
|
-
<span class="cline-any cline-neutral"> </span>
|
|
629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-yes">10x</span>
|
|
631
|
-
<span class="cline-any cline-neutral"> </span>
|
|
632
762
|
<span class="cline-any cline-yes">5x</span>
|
|
633
763
|
<span class="cline-any cline-neutral"> </span>
|
|
634
764
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -796,17 +926,22 @@ const {
|
|
|
796
926
|
generateRowID,
|
|
797
927
|
DocumentTypes,
|
|
798
928
|
InternalTables,
|
|
929
|
+
generateMemoryViewID,
|
|
799
930
|
} = require("../../../db/utils")
|
|
800
931
|
const userController = require("../user")
|
|
801
932
|
const {
|
|
802
933
|
inputProcessing,
|
|
803
934
|
outputProcessing,
|
|
935
|
+
processAutoColumn,
|
|
804
936
|
} = require("../../../utilities/rowProcessor")
|
|
805
937
|
const { FieldTypes } = require("../../../constants")
|
|
806
938
|
const { isEqual } = require("lodash")
|
|
807
939
|
const { validate, findRow } = require("./utils")
|
|
808
940
|
const { fullSearch, paginatedSearch } = require("./internalSearch")
|
|
809
941
|
const { getGlobalUsersFromMetadata } = require("../../../utilities/global")
|
|
942
|
+
const inMemoryViews = require("../../../db/inMemoryView")
|
|
943
|
+
const env = require("../../../environment")
|
|
944
|
+
const { migrateToInMemoryView } = require("../view/utils")
|
|
810
945
|
|
|
811
946
|
const CALCULATION_TYPES = {
|
|
812
947
|
SUM: "sum",
|
|
@@ -816,17 +951,84 @@ const CALCULATION_TYPES = {
|
|
|
816
951
|
|
|
817
952
|
async function storeResponse(ctx, db, row, oldTable, table) {
|
|
818
953
|
row.type = "row"
|
|
819
|
-
const response = await db.put(row)
|
|
820
954
|
// don't worry about rev, tables handle rev/lastID updates
|
|
955
|
+
// if another row has been written since processing this will
|
|
956
|
+
// handle the auto ID clash
|
|
821
957
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!isEqual(oldTable, table)) {
|
|
822
|
-
<span class="cstat-no" title="statement not covered" >
|
|
958
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
959
|
+
<span class="cstat-no" title="statement not covered" > await db.put(table)</span>
|
|
960
|
+
} catch (err) {
|
|
961
|
+
<span class="cstat-no" title="statement not covered" > if (err.status === 409) {</span>
|
|
962
|
+
const updatedTable = <span class="cstat-no" title="statement not covered" >await db.get(table._id)</span>
|
|
963
|
+
let response = <span class="cstat-no" title="statement not covered" >processAutoColumn(null, updatedTable, row, {</span>
|
|
964
|
+
reprocessing: true,
|
|
965
|
+
})
|
|
966
|
+
<span class="cstat-no" title="statement not covered" > await db.put(response.table)</span>
|
|
967
|
+
<span class="cstat-no" title="statement not covered" > row = response.row</span>
|
|
968
|
+
} else {
|
|
969
|
+
<span class="cstat-no" title="statement not covered" > throw err</span>
|
|
970
|
+
}
|
|
971
|
+
}
|
|
823
972
|
}
|
|
973
|
+
const response = await db.put(row)
|
|
824
974
|
row._rev = response.rev
|
|
825
975
|
// process the row before return, to include relationships
|
|
826
976
|
row = await outputProcessing(ctx, table, row, { squash: false })
|
|
827
977
|
return { row, table }
|
|
828
978
|
}
|
|
829
979
|
|
|
980
|
+
// doesn't do the outputProcessing
|
|
981
|
+
async function getRawTableData(ctx, db, tableId) {
|
|
982
|
+
let rows
|
|
983
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
984
|
+
<span class="cstat-no" title="statement not covered" > await userController.fetchMetadata(ctx)</span>
|
|
985
|
+
<span class="cstat-no" title="statement not covered" > rows = ctx.body</span>
|
|
986
|
+
} else {
|
|
987
|
+
const response = await db.allDocs(
|
|
988
|
+
getRowParams(tableId, null, {
|
|
989
|
+
include_docs: true,
|
|
990
|
+
})
|
|
991
|
+
)
|
|
992
|
+
rows = response.rows.map(row => row.doc)
|
|
993
|
+
}
|
|
994
|
+
return rows
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
async function getView(db, viewName) {
|
|
998
|
+
let viewInfo
|
|
999
|
+
async function getFromDesignDoc() {
|
|
1000
|
+
const designDoc = await db.get("_design/database")
|
|
1001
|
+
viewInfo = designDoc.views[viewName]
|
|
1002
|
+
return viewInfo
|
|
1003
|
+
}
|
|
1004
|
+
let migrate = false
|
|
1005
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (env.SELF_HOSTED) {
|
|
1006
|
+
viewInfo = await getFromDesignDoc()
|
|
1007
|
+
} else {
|
|
1008
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1009
|
+
<span class="cstat-no" title="statement not covered" > viewInfo = await db.get(generateMemoryViewID(viewName))</span>
|
|
1010
|
+
<span class="cstat-no" title="statement not covered" > if (viewInfo) {</span>
|
|
1011
|
+
<span class="cstat-no" title="statement not covered" > viewInfo = viewInfo.view</span>
|
|
1012
|
+
}
|
|
1013
|
+
} catch (err) {
|
|
1014
|
+
// check if it can be retrieved from design doc (needs migrated)
|
|
1015
|
+
<span class="cstat-no" title="statement not covered" > if (err.status !== 404) {</span>
|
|
1016
|
+
<span class="cstat-no" title="statement not covered" > viewInfo = null</span>
|
|
1017
|
+
} else {
|
|
1018
|
+
<span class="cstat-no" title="statement not covered" > viewInfo = await getFromDesignDoc()</span>
|
|
1019
|
+
<span class="cstat-no" title="statement not covered" > migrate = !!viewInfo</span>
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (migrate) {
|
|
1024
|
+
<span class="cstat-no" title="statement not covered" > await migrateToInMemoryView(db, viewName)</span>
|
|
1025
|
+
}
|
|
1026
|
+
if (!viewInfo) {
|
|
1027
|
+
throw "View does not exist."
|
|
1028
|
+
}
|
|
1029
|
+
return viewInfo
|
|
1030
|
+
}
|
|
1031
|
+
|
|
830
1032
|
exports.patch = async ctx => {
|
|
831
1033
|
const appId = ctx.appId
|
|
832
1034
|
const db = new CouchDB(appId)
|
|
@@ -930,15 +1132,18 @@ exports.fetchView = async ctx => {
|
|
|
930
1132
|
|
|
931
1133
|
const db = new CouchDB(appId)
|
|
932
1134
|
const { calculation, group, field } = ctx.query
|
|
933
|
-
const
|
|
934
|
-
|
|
935
|
-
if (
|
|
936
|
-
|
|
1135
|
+
const viewInfo = await getView(db, viewName)
|
|
1136
|
+
let response
|
|
1137
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (env.SELF_HOSTED) {
|
|
1138
|
+
response = await db.query(`database/${viewName}`, {
|
|
1139
|
+
include_docs: !calculation,
|
|
1140
|
+
group: !!group,
|
|
1141
|
+
})
|
|
1142
|
+
} else {
|
|
1143
|
+
const tableId = <span class="cstat-no" title="statement not covered" >viewInfo.meta.tableId</span>
|
|
1144
|
+
const data = <span class="cstat-no" title="statement not covered" >await getRawTableData(ctx, db, tableId)</span>
|
|
1145
|
+
<span class="cstat-no" title="statement not covered" > response = await inMemoryViews.runView(viewInfo, calculation, group, data)</span>
|
|
937
1146
|
}
|
|
938
|
-
const response = await db.query(`database/${viewName}`, {
|
|
939
|
-
include_docs: !calculation,
|
|
940
|
-
group: !!group,
|
|
941
|
-
})
|
|
942
1147
|
|
|
943
1148
|
let rows
|
|
944
1149
|
if (!calculation) {
|
|
@@ -982,19 +1187,9 @@ exports.fetch = async ctx => {
|
|
|
982
1187
|
const appId = ctx.appId
|
|
983
1188
|
const db = new CouchDB(appId)
|
|
984
1189
|
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
<span class="cstat-no" title="statement not covered" > await userController.fetchMetadata(ctx)</span>
|
|
989
|
-
<span class="cstat-no" title="statement not covered" > rows = ctx.body</span>
|
|
990
|
-
} else {
|
|
991
|
-
const response = await db.allDocs(
|
|
992
|
-
getRowParams(ctx.params.tableId, null, {
|
|
993
|
-
include_docs: true,
|
|
994
|
-
})
|
|
995
|
-
)
|
|
996
|
-
rows = response.rows.map(row => row.doc)
|
|
997
|
-
}
|
|
1190
|
+
const tableId = ctx.params.tableId
|
|
1191
|
+
let table = await db.get(tableId)
|
|
1192
|
+
let rows = await getRawTableData(ctx, db, tableId)
|
|
998
1193
|
return outputProcessing(ctx, table, rows)
|
|
999
1194
|
}
|
|
1000
1195
|
|
|
@@ -1162,7 +1357,7 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1162
1357
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1163
1358
|
Code coverage generated by
|
|
1164
1359
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1165
|
-
at Wed Sep 22 2021
|
|
1360
|
+
at Wed Sep 22 2021 17:29:03 GMT+0000 (Coordinated Universal Time)
|
|
1166
1361
|
</div>
|
|
1167
1362
|
</div>
|
|
1168
1363
|
<script src="../../../prettify.js"></script>
|