@budibase/server 1.0.49-alpha.0 → 1.0.49-alpha.1
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.dd9e386f.css → index.ba78c49d.css} +1 -1
- package/builder/assets/{index.8184eed9.js → index.ed1cf508.js} +205 -204
- package/builder/assets/{vendor.3bd2f661.js → vendor.d526bfe8.js} +1 -1
- package/builder/index.html +3 -3
- package/coverage/clover.xml +844 -680
- package/coverage/coverage-final.json +12 -10
- 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 +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/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- 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/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.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 +40 -25
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +60 -123
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +35 -11
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +551 -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/bulkFormula.js.html +629 -0
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +45 -30
- package/coverage/lcov-report/api/controllers/table/index.js.html +11 -53
- package/coverage/lcov-report/api/controllers/table/internal.js.html +25 -7
- package/coverage/lcov-report/api/controllers/table/utils.js.html +136 -16
- 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 +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- 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/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 +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 +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.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 +5 -5
- package/coverage/lcov-report/constants/index.js.html +19 -4
- 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 +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +10 -10
- package/coverage/lcov-report/db/linkedRows/index.js.html +10 -13
- 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 +5 -5
- 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 +44 -44
- 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/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/migrations/usageQuotas/index.html +1 -1
- package/coverage/lcov-report/migrations/usageQuotas/index.js.html +1 -1
- package/coverage/lcov-report/migrations/usageQuotas/syncApps.js.html +1 -1
- package/coverage/lcov-report/migrations/usageQuotas/syncRows.js.html +1 -1
- package/coverage/lcov-report/threads/automation.js.html +1 -1
- package/coverage/lcov-report/threads/index.html +1 -1
- package/coverage/lcov-report/threads/index.js.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +1 -1
- package/coverage/lcov-report/threads/utils.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 +27 -27
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +65 -29
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +73 -25
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.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 +1509 -1173
- 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/table/bulkFormula.js +160 -0
- package/dist/api/controllers/table/index.js +3 -6
- package/dist/api/controllers/table/internal.js +7 -0
- package/dist/api/controllers/table/utils.js +32 -10
- package/dist/constants/index.js +4 -0
- package/dist/db/linkedRows/index.js +4 -5
- package/dist/package.json +4 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/rowProcessor/index.js +18 -11
- package/dist/utilities/rowProcessor/utils.js +14 -4
- package/package.json +5 -5
- 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/table/bulkFormula.js +183 -0
- package/src/api/controllers/table/index.js +3 -17
- package/src/api/controllers/table/internal.js +7 -1
- package/src/api/controllers/table/utils.js +48 -8
- package/src/constants/index.js +5 -0
- package/src/db/linkedRows/index.js +4 -5
- package/src/definitions/common.ts +3 -0
- package/src/utilities/rowProcessor/index.js +24 -12
- package/src/utilities/rowProcessor/utils.js +23 -7
|
@@ -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">86.05% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>179/208</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">63.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>38/60</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">91.66% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>22/24</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">86.13% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>174/202</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -492,28 +492,7 @@
|
|
|
492
492
|
<a name='L433'></a><a href='#L433'>433</a>
|
|
493
493
|
<a name='L434'></a><a href='#L434'>434</a>
|
|
494
494
|
<a name='L435'></a><a href='#L435'>435</a>
|
|
495
|
-
<a name='L436'></a><a href='#L436'>436</a>
|
|
496
|
-
<a name='L437'></a><a href='#L437'>437</a>
|
|
497
|
-
<a name='L438'></a><a href='#L438'>438</a>
|
|
498
|
-
<a name='L439'></a><a href='#L439'>439</a>
|
|
499
|
-
<a name='L440'></a><a href='#L440'>440</a>
|
|
500
|
-
<a name='L441'></a><a href='#L441'>441</a>
|
|
501
|
-
<a name='L442'></a><a href='#L442'>442</a>
|
|
502
|
-
<a name='L443'></a><a href='#L443'>443</a>
|
|
503
|
-
<a name='L444'></a><a href='#L444'>444</a>
|
|
504
|
-
<a name='L445'></a><a href='#L445'>445</a>
|
|
505
|
-
<a name='L446'></a><a href='#L446'>446</a>
|
|
506
|
-
<a name='L447'></a><a href='#L447'>447</a>
|
|
507
|
-
<a name='L448'></a><a href='#L448'>448</a>
|
|
508
|
-
<a name='L449'></a><a href='#L449'>449</a>
|
|
509
|
-
<a name='L450'></a><a href='#L450'>450</a>
|
|
510
|
-
<a name='L451'></a><a href='#L451'>451</a>
|
|
511
|
-
<a name='L452'></a><a href='#L452'>452</a>
|
|
512
|
-
<a name='L453'></a><a href='#L453'>453</a>
|
|
513
|
-
<a name='L454'></a><a href='#L454'>454</a>
|
|
514
|
-
<a name='L455'></a><a href='#L455'>455</a>
|
|
515
|
-
<a name='L456'></a><a href='#L456'>456</a>
|
|
516
|
-
<a name='L457'></a><a href='#L457'>457</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
|
|
495
|
+
<a name='L436'></a><a href='#L436'>436</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
|
|
517
496
|
<span class="cline-any cline-yes">37x</span>
|
|
518
497
|
<span class="cline-any cline-neutral"> </span>
|
|
519
498
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -526,8 +505,6 @@
|
|
|
526
505
|
<span class="cline-any cline-neutral"> </span>
|
|
527
506
|
<span class="cline-any cline-neutral"> </span>
|
|
528
507
|
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-yes">37x</span>
|
|
531
508
|
<span class="cline-any cline-yes">37x</span>
|
|
532
509
|
<span class="cline-any cline-yes">37x</span>
|
|
533
510
|
<span class="cline-any cline-yes">37x</span>
|
|
@@ -542,6 +519,7 @@
|
|
|
542
519
|
<span class="cline-any cline-neutral"> </span>
|
|
543
520
|
<span class="cline-any cline-yes">37x</span>
|
|
544
521
|
<span class="cline-any cline-yes">37x</span>
|
|
522
|
+
<span class="cline-any cline-yes">37x</span>
|
|
545
523
|
<span class="cline-any cline-neutral"> </span>
|
|
546
524
|
<span class="cline-any cline-yes">37x</span>
|
|
547
525
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -550,32 +528,29 @@
|
|
|
550
528
|
<span class="cline-any cline-neutral"> </span>
|
|
551
529
|
<span class="cline-any cline-neutral"> </span>
|
|
552
530
|
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-yes">
|
|
531
|
+
<span class="cline-any cline-yes">6x</span>
|
|
532
|
+
<span class="cline-any cline-yes">6x</span>
|
|
533
|
+
<span class="cline-any cline-yes">6x</span>
|
|
554
534
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
+
<span class="cline-any cline-yes">6x</span>
|
|
536
|
+
<span class="cline-any cline-yes">6x</span>
|
|
537
|
+
<span class="cline-any cline-yes">6x</span>
|
|
555
538
|
<span class="cline-any cline-neutral"> </span>
|
|
556
539
|
<span class="cline-any cline-neutral"> </span>
|
|
557
|
-
<span class="cline-any cline-yes">
|
|
558
|
-
<span class="cline-any cline-no"> </span>
|
|
540
|
+
<span class="cline-any cline-yes">1x</span>
|
|
559
541
|
<span class="cline-any cline-no"> </span>
|
|
560
542
|
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-
|
|
562
|
-
<span class="cline-any cline-no"> </span>
|
|
543
|
+
<span class="cline-any cline-yes">1x</span>
|
|
563
544
|
<span class="cline-any cline-no"> </span>
|
|
564
545
|
<span class="cline-any cline-neutral"> </span>
|
|
565
546
|
<span class="cline-any cline-neutral"> </span>
|
|
566
|
-
<span class="cline-any cline-
|
|
547
|
+
<span class="cline-any cline-yes">5x</span>
|
|
567
548
|
<span class="cline-any cline-no"> </span>
|
|
568
549
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-yes">5x</span>
|
|
569
551
|
<span class="cline-any cline-no"> </span>
|
|
570
552
|
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-
|
|
572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-yes">73x</span>
|
|
574
|
-
<span class="cline-any cline-yes">73x</span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-yes">73x</span>
|
|
577
|
-
<span class="cline-any cline-yes">73x</span>
|
|
578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
+
<span class="cline-any cline-yes">5x</span>
|
|
579
554
|
<span class="cline-any cline-neutral"> </span>
|
|
580
555
|
<span class="cline-any cline-neutral"> </span>
|
|
581
556
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -594,32 +569,6 @@
|
|
|
594
569
|
<span class="cline-any cline-yes">5x</span>
|
|
595
570
|
<span class="cline-any cline-neutral"> </span>
|
|
596
571
|
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-yes">6x</span>
|
|
599
|
-
<span class="cline-any cline-yes">6x</span>
|
|
600
|
-
<span class="cline-any cline-yes">6x</span>
|
|
601
|
-
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-yes">6x</span>
|
|
603
|
-
<span class="cline-any cline-yes">6x</span>
|
|
604
|
-
<span class="cline-any cline-yes">6x</span>
|
|
605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-yes">1x</span>
|
|
608
|
-
<span class="cline-any cline-no"> </span>
|
|
609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-yes">1x</span>
|
|
611
|
-
<span class="cline-any cline-no"> </span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-yes">5x</span>
|
|
615
|
-
<span class="cline-any cline-no"> </span>
|
|
616
|
-
<span class="cline-any cline-neutral"> </span>
|
|
617
|
-
<span class="cline-any cline-yes">5x</span>
|
|
618
|
-
<span class="cline-any cline-no"> </span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-yes">5x</span>
|
|
621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-neutral"> </span>
|
|
623
572
|
<span class="cline-any cline-yes">37x</span>
|
|
624
573
|
<span class="cline-any cline-yes">5x</span>
|
|
625
574
|
<span class="cline-any cline-yes">5x</span>
|
|
@@ -680,6 +629,9 @@
|
|
|
680
629
|
<span class="cline-any cline-yes">4x</span>
|
|
681
630
|
<span class="cline-any cline-neutral"> </span>
|
|
682
631
|
<span class="cline-any cline-neutral"> </span>
|
|
632
|
+
<span class="cline-any cline-neutral"> </span>
|
|
633
|
+
<span class="cline-any cline-neutral"> </span>
|
|
634
|
+
<span class="cline-any cline-neutral"> </span>
|
|
683
635
|
<span class="cline-any cline-yes">37x</span>
|
|
684
636
|
<span class="cline-any cline-yes">70x</span>
|
|
685
637
|
<span class="cline-any cline-yes">70x</span>
|
|
@@ -714,6 +666,9 @@
|
|
|
714
666
|
<span class="cline-any cline-yes">69x</span>
|
|
715
667
|
<span class="cline-any cline-neutral"> </span>
|
|
716
668
|
<span class="cline-any cline-neutral"> </span>
|
|
669
|
+
<span class="cline-any cline-neutral"> </span>
|
|
670
|
+
<span class="cline-any cline-neutral"> </span>
|
|
671
|
+
<span class="cline-any cline-neutral"> </span>
|
|
717
672
|
<span class="cline-any cline-yes">37x</span>
|
|
718
673
|
<span class="cline-any cline-yes">7x</span>
|
|
719
674
|
<span class="cline-any cline-yes">7x</span>
|
|
@@ -818,6 +773,8 @@
|
|
|
818
773
|
<span class="cline-any cline-neutral"> </span>
|
|
819
774
|
<span class="cline-any cline-yes">2x</span>
|
|
820
775
|
<span class="cline-any cline-neutral"> </span>
|
|
776
|
+
<span class="cline-any cline-yes">2x</span>
|
|
777
|
+
<span class="cline-any cline-neutral"> </span>
|
|
821
778
|
<span class="cline-any cline-neutral"> </span>
|
|
822
779
|
<span class="cline-any cline-yes">2x</span>
|
|
823
780
|
<span class="cline-any cline-no"> </span>
|
|
@@ -867,6 +824,7 @@
|
|
|
867
824
|
<span class="cline-any cline-yes">2x</span>
|
|
868
825
|
<span class="cline-any cline-yes">2x</span>
|
|
869
826
|
<span class="cline-any cline-yes">2x</span>
|
|
827
|
+
<span class="cline-any cline-yes">2x</span>
|
|
870
828
|
<span class="cline-any cline-neutral"> </span>
|
|
871
829
|
<span class="cline-any cline-neutral"> </span>
|
|
872
830
|
<span class="cline-any cline-yes">37x</span>
|
|
@@ -972,8 +930,8 @@
|
|
|
972
930
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
|
|
973
931
|
const linkRows = require("../../../db/linkedRows")
|
|
974
932
|
const {
|
|
975
|
-
getRowParams,
|
|
976
933
|
generateRowID,
|
|
934
|
+
getRowParams,
|
|
977
935
|
DocumentTypes,
|
|
978
936
|
InternalTables,
|
|
979
937
|
} = require("../../../db/utils")
|
|
@@ -981,11 +939,9 @@ const userController = require("../user")
|
|
|
981
939
|
const {
|
|
982
940
|
inputProcessing,
|
|
983
941
|
outputProcessing,
|
|
984
|
-
processAutoColumn,
|
|
985
942
|
cleanupAttachments,
|
|
986
943
|
} = require("../../../utilities/rowProcessor")
|
|
987
944
|
const { FieldTypes } = require("../../../constants")
|
|
988
|
-
const { isEqual } = require("lodash")
|
|
989
945
|
const { validate, findRow } = require("./utils")
|
|
990
946
|
const { fullSearch, paginatedSearch } = require("./internalSearch")
|
|
991
947
|
const { getGlobalUsersFromMetadata } = require("../../../utilities/global")
|
|
@@ -998,6 +954,7 @@ const {
|
|
|
998
954
|
getFromMemoryDoc,
|
|
999
955
|
} = require("../view/utils")
|
|
1000
956
|
const { cloneDeep } = require("lodash/fp")
|
|
957
|
+
const { finaliseRow, updateRelatedFormula } = require("./staticFormula")
|
|
1001
958
|
|
|
1002
959
|
const CALCULATION_TYPES = {
|
|
1003
960
|
SUM: "sum",
|
|
@@ -1005,51 +962,6 @@ const CALCULATION_TYPES = {
|
|
|
1005
962
|
STATS: "stats",
|
|
1006
963
|
}
|
|
1007
964
|
|
|
1008
|
-
async function storeResponse(ctx, db, row, oldTable, table) {
|
|
1009
|
-
row.type = "row"
|
|
1010
|
-
// don't worry about rev, tables handle rev/lastID updates
|
|
1011
|
-
// if another row has been written since processing this will
|
|
1012
|
-
// handle the auto ID clash
|
|
1013
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!isEqual(oldTable, table)) {
|
|
1014
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1015
|
-
<span class="cstat-no" title="statement not covered" > await db.put(table)</span>
|
|
1016
|
-
} catch (err) {
|
|
1017
|
-
<span class="cstat-no" title="statement not covered" > if (err.status === 409) {</span>
|
|
1018
|
-
const updatedTable = <span class="cstat-no" title="statement not covered" >await db.get(table._id)</span>
|
|
1019
|
-
let response = <span class="cstat-no" title="statement not covered" >processAutoColumn(null, updatedTable, row, {</span>
|
|
1020
|
-
reprocessing: true,
|
|
1021
|
-
})
|
|
1022
|
-
<span class="cstat-no" title="statement not covered" > await db.put(response.table)</span>
|
|
1023
|
-
<span class="cstat-no" title="statement not covered" > row = response.row</span>
|
|
1024
|
-
} else {
|
|
1025
|
-
<span class="cstat-no" title="statement not covered" > throw err</span>
|
|
1026
|
-
}
|
|
1027
|
-
}
|
|
1028
|
-
}
|
|
1029
|
-
const response = await db.put(row)
|
|
1030
|
-
row._rev = response.rev
|
|
1031
|
-
// process the row before return, to include relationships
|
|
1032
|
-
row = await outputProcessing(ctx, table, row, { squash: false })
|
|
1033
|
-
return { row, table }
|
|
1034
|
-
}
|
|
1035
|
-
|
|
1036
|
-
// doesn't do the outputProcessing
|
|
1037
|
-
async function getRawTableData(ctx, db, tableId) {
|
|
1038
|
-
let rows
|
|
1039
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
1040
|
-
<span class="cstat-no" title="statement not covered" > await userController.fetchMetadata(ctx)</span>
|
|
1041
|
-
<span class="cstat-no" title="statement not covered" > rows = ctx.body</span>
|
|
1042
|
-
} else {
|
|
1043
|
-
const response = await db.allDocs(
|
|
1044
|
-
getRowParams(tableId, null, {
|
|
1045
|
-
include_docs: true,
|
|
1046
|
-
})
|
|
1047
|
-
)
|
|
1048
|
-
rows = response.rows.map(row => row.doc)
|
|
1049
|
-
}
|
|
1050
|
-
return rows
|
|
1051
|
-
}
|
|
1052
|
-
|
|
1053
965
|
async function getView(db, viewName) {
|
|
1054
966
|
let mainGetter = env.SELF_HOSTED ? getFromDesignDoc : <span class="branch-1 cbranch-no" title="branch not covered" >getFromMemoryDoc</span>
|
|
1055
967
|
let secondaryGetter = env.SELF_HOSTED ? getFromMemoryDoc : <span class="branch-1 cbranch-no" title="branch not covered" >getFromDesignDoc</span>
|
|
@@ -1076,6 +988,22 @@ async function getView(db, viewName) {
|
|
|
1076
988
|
return viewInfo
|
|
1077
989
|
}
|
|
1078
990
|
|
|
991
|
+
async function getRawTableData(ctx, db, tableId) {
|
|
992
|
+
let rows
|
|
993
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
994
|
+
<span class="cstat-no" title="statement not covered" > await userController.fetchMetadata(ctx)</span>
|
|
995
|
+
<span class="cstat-no" title="statement not covered" > rows = ctx.body</span>
|
|
996
|
+
} else {
|
|
997
|
+
const response = await db.allDocs(
|
|
998
|
+
getRowParams(tableId, null, {
|
|
999
|
+
include_docs: true,
|
|
1000
|
+
})
|
|
1001
|
+
)
|
|
1002
|
+
rows = response.rows.map(row => row.doc)
|
|
1003
|
+
}
|
|
1004
|
+
return rows
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1079
1007
|
exports.patch = async ctx => {
|
|
1080
1008
|
const appId = ctx.appId
|
|
1081
1009
|
const db = new CouchDB(appId)
|
|
@@ -1133,7 +1061,10 @@ exports.patch = async ctx => {
|
|
|
1133
1061
|
<span class="cstat-no" title="statement not covered" > return { row: ctx.body, table }</span>
|
|
1134
1062
|
}
|
|
1135
1063
|
|
|
1136
|
-
return
|
|
1064
|
+
return finaliseRow(ctx.appId, table, row, {
|
|
1065
|
+
oldTable: dbTable,
|
|
1066
|
+
updateFormula: true,
|
|
1067
|
+
})
|
|
1137
1068
|
}
|
|
1138
1069
|
|
|
1139
1070
|
exports.save = async function (ctx) {
|
|
@@ -1167,7 +1098,10 @@ exports.save = async function (ctx) {
|
|
|
1167
1098
|
table,
|
|
1168
1099
|
})
|
|
1169
1100
|
|
|
1170
|
-
return
|
|
1101
|
+
return finaliseRow(ctx.appId, table, row, {
|
|
1102
|
+
oldTable: dbTable,
|
|
1103
|
+
updateFormula: true,
|
|
1104
|
+
})
|
|
1171
1105
|
}
|
|
1172
1106
|
|
|
1173
1107
|
exports.fetchView = async ctx => {
|
|
@@ -1273,6 +1207,8 @@ exports.destroy = async function (ctx) {
|
|
|
1273
1207
|
})
|
|
1274
1208
|
// remove any attachments that were on the row from object storage
|
|
1275
1209
|
await cleanupAttachments(appId, table, { row })
|
|
1210
|
+
// remove any static formula
|
|
1211
|
+
await updateRelatedFormula(appId, table, row)
|
|
1276
1212
|
|
|
1277
1213
|
let response
|
|
1278
1214
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.params.tableId === InternalTables.USER_METADATA) {
|
|
@@ -1321,6 +1257,7 @@ exports.bulkDestroy = async ctx => {
|
|
|
1321
1257
|
}
|
|
1322
1258
|
// remove any attachments that were on the rows from object storage
|
|
1323
1259
|
await cleanupAttachments(appId, table, { rows })
|
|
1260
|
+
await updateRelatedFormula(appId, table, rows)
|
|
1324
1261
|
await Promise.all(updates)
|
|
1325
1262
|
return { response: { ok: true }, rows }
|
|
1326
1263
|
}
|
|
@@ -1432,7 +1369,7 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1432
1369
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1433
1370
|
Code coverage generated by
|
|
1434
1371
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1435
|
-
at Mon Jan 31 2022
|
|
1372
|
+
at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
|
|
1436
1373
|
</div>
|
|
1437
1374
|
</div>
|
|
1438
1375
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">4.
|
|
26
|
+
<span class="strong">4.54% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>7/
|
|
28
|
+
<span class='fraction'>7/154</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/
|
|
35
|
+
<span class='fraction'>0/95</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">4.
|
|
47
|
+
<span class="strong">4.63% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>7/
|
|
49
|
+
<span class='fraction'>7/151</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -446,7 +446,15 @@
|
|
|
446
446
|
<a name='L387'></a><a href='#L387'>387</a>
|
|
447
447
|
<a name='L388'></a><a href='#L388'>388</a>
|
|
448
448
|
<a name='L389'></a><a href='#L389'>389</a>
|
|
449
|
-
<a name='L390'></a><a href='#L390'>390</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">36x</span>
|
|
450
458
|
<span class="cline-any cline-yes">36x</span>
|
|
451
459
|
<span class="cline-any cline-yes">36x</span>
|
|
452
460
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -488,21 +496,29 @@
|
|
|
488
496
|
<span class="cline-any cline-no"> </span>
|
|
489
497
|
<span class="cline-any cline-no"> </span>
|
|
490
498
|
<span class="cline-any cline-neutral"> </span>
|
|
499
|
+
<span class="cline-any cline-no"> </span>
|
|
500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
491
501
|
<span class="cline-any cline-neutral"> </span>
|
|
492
502
|
<span class="cline-any cline-neutral"> </span>
|
|
493
503
|
<span class="cline-any cline-no"> </span>
|
|
494
504
|
<span class="cline-any cline-no"> </span>
|
|
495
505
|
<span class="cline-any cline-neutral"> </span>
|
|
506
|
+
<span class="cline-any cline-no"> </span>
|
|
507
|
+
<span class="cline-any cline-neutral"> </span>
|
|
496
508
|
<span class="cline-any cline-neutral"> </span>
|
|
497
509
|
<span class="cline-any cline-neutral"> </span>
|
|
498
510
|
<span class="cline-any cline-no"> </span>
|
|
499
511
|
<span class="cline-any cline-no"> </span>
|
|
500
512
|
<span class="cline-any cline-neutral"> </span>
|
|
513
|
+
<span class="cline-any cline-no"> </span>
|
|
514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
501
515
|
<span class="cline-any cline-neutral"> </span>
|
|
502
516
|
<span class="cline-any cline-neutral"> </span>
|
|
503
517
|
<span class="cline-any cline-no"> </span>
|
|
504
518
|
<span class="cline-any cline-no"> </span>
|
|
505
519
|
<span class="cline-any cline-neutral"> </span>
|
|
520
|
+
<span class="cline-any cline-no"> </span>
|
|
521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
506
522
|
<span class="cline-any cline-neutral"> </span>
|
|
507
523
|
<span class="cline-any cline-neutral"> </span>
|
|
508
524
|
<span class="cline-any cline-no"> </span>
|
|
@@ -874,22 +890,30 @@ class QueryBuilder {
|
|
|
874
890
|
}
|
|
875
891
|
|
|
876
892
|
<span class="fstat-no" title="function not covered" > se</span>tLimit(limit) {
|
|
877
|
-
<span class="cstat-no" title="statement not covered" >
|
|
893
|
+
<span class="cstat-no" title="statement not covered" > if (limit != null) {</span>
|
|
894
|
+
<span class="cstat-no" title="statement not covered" > this.limit = limit</span>
|
|
895
|
+
}
|
|
878
896
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
879
897
|
}
|
|
880
898
|
|
|
881
899
|
<span class="fstat-no" title="function not covered" > se</span>tSort(sort) {
|
|
882
|
-
<span class="cstat-no" title="statement not covered" >
|
|
900
|
+
<span class="cstat-no" title="statement not covered" > if (sort != null) {</span>
|
|
901
|
+
<span class="cstat-no" title="statement not covered" > this.sort = sort</span>
|
|
902
|
+
}
|
|
883
903
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
884
904
|
}
|
|
885
905
|
|
|
886
906
|
<span class="fstat-no" title="function not covered" > se</span>tSortOrder(sortOrder) {
|
|
887
|
-
<span class="cstat-no" title="statement not covered" >
|
|
907
|
+
<span class="cstat-no" title="statement not covered" > if (sortOrder != null) {</span>
|
|
908
|
+
<span class="cstat-no" title="statement not covered" > this.sortOrder = sortOrder</span>
|
|
909
|
+
}
|
|
888
910
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
889
911
|
}
|
|
890
912
|
|
|
891
913
|
<span class="fstat-no" title="function not covered" > se</span>tSortType(sortType) {
|
|
892
|
-
<span class="cstat-no" title="statement not covered" >
|
|
914
|
+
<span class="cstat-no" title="statement not covered" > if (sortType != null) {</span>
|
|
915
|
+
<span class="cstat-no" title="statement not covered" > this.sortType = sortType</span>
|
|
916
|
+
}
|
|
893
917
|
<span class="cstat-no" title="statement not covered" > return this</span>
|
|
894
918
|
}
|
|
895
919
|
|
|
@@ -1231,7 +1255,7 @@ exports.fullSearch = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
1231
1255
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1232
1256
|
Code coverage generated by
|
|
1233
1257
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1234
|
-
at Mon Jan 31 2022
|
|
1258
|
+
at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
|
|
1235
1259
|
</div>
|
|
1236
1260
|
</div>
|
|
1237
1261
|
<script src="../../../prettify.js"></script>
|