@budibase/server 1.0.136 → 1.0.139

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.
Files changed (181) hide show
  1. package/builder/assets/{index.05ef6162.js → index.6db89ad9.js} +121 -121
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +76 -62
  4. package/coverage/coverage-final.json +3 -3
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/index.html +1 -1
  15. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  44. package/coverage/lcov-report/api/index.html +1 -1
  45. package/coverage/lcov-report/api/index.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/index.html +1 -1
  57. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  74. package/coverage/lcov-report/automations/actions.js.html +1 -1
  75. package/coverage/lcov-report/automations/automationUtils.js.html +46 -10
  76. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  77. package/coverage/lcov-report/automations/index.html +19 -19
  78. package/coverage/lcov-report/automations/index.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/index.html +1 -1
  86. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  105. package/coverage/lcov-report/constants/index.html +1 -1
  106. package/coverage/lcov-report/constants/index.js.html +1 -1
  107. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  108. package/coverage/lcov-report/constants/screens.js.html +1 -1
  109. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  110. package/coverage/lcov-report/db/index.html +1 -1
  111. package/coverage/lcov-report/db/index.js.html +1 -1
  112. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  116. package/coverage/lcov-report/db/newid.js.html +1 -1
  117. package/coverage/lcov-report/db/utils.js.html +1 -1
  118. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  119. package/coverage/lcov-report/events/index.html +1 -1
  120. package/coverage/lcov-report/events/index.js.html +1 -1
  121. package/coverage/lcov-report/events/utils.js.html +1 -1
  122. package/coverage/lcov-report/index.html +28 -28
  123. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  124. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  125. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  126. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  127. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  128. package/coverage/lcov-report/middleware/index.html +1 -1
  129. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  130. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  131. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  132. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  133. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  134. package/coverage/lcov-report/threads/automation.js.html +67 -34
  135. package/coverage/lcov-report/threads/index.html +26 -26
  136. package/coverage/lcov-report/threads/query.js.html +16 -19
  137. package/coverage/lcov-report/threads/utils.js.html +1 -1
  138. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  139. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  140. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  141. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  142. package/coverage/lcov-report/utilities/global.js.html +1 -1
  143. package/coverage/lcov-report/utilities/index.html +1 -1
  144. package/coverage/lcov-report/utilities/index.js.html +1 -1
  145. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  146. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  147. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  148. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  149. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  150. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  151. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  152. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  153. package/coverage/lcov-report/utilities/security.js.html +1 -1
  154. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  156. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  157. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  158. package/coverage/lcov-report/utilities/users.js.html +1 -1
  159. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  160. package/coverage/lcov.info +132 -114
  161. package/dist/automations/automationUtils.js +12 -0
  162. package/dist/integrations/microsoftSqlServer.js +1 -6
  163. package/dist/integrations/mysql.js +16 -14
  164. package/dist/integrations/oracle.js +2 -6
  165. package/dist/integrations/postgres.js +1 -6
  166. package/dist/integrations/utils.js +15 -5
  167. package/dist/package.json +5 -5
  168. package/dist/threads/automation.js +25 -16
  169. package/dist/threads/query.js +7 -7
  170. package/dist/tsconfig.build.tsbuildinfo +1 -1
  171. package/dist/utilities/fileSystem/index.js +11 -7
  172. package/package.json +6 -6
  173. package/src/automations/automationUtils.js +12 -0
  174. package/src/integrations/microsoftSqlServer.ts +1 -3
  175. package/src/integrations/mysql.ts +18 -12
  176. package/src/integrations/oracle.ts +3 -3
  177. package/src/integrations/postgres.ts +1 -2
  178. package/src/integrations/utils.ts +16 -5
  179. package/src/threads/automation.js +28 -17
  180. package/src/threads/query.js +7 -8
  181. package/src/utilities/fileSystem/index.js +16 -8
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">60.15% </span>
26
+ <span class="strong">59.71% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>80/133</span>
28
+ <span class='fraction'>83/139</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">36.84% </span>
33
+ <span class="strong">33.33% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>21/57</span>
35
+ <span class='fraction'>21/63</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">83.33% </span>
40
+ <span class="strong">90% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>10/12</span>
42
+ <span class='fraction'>9/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">59.84% </span>
47
+ <span class="strong">59.42% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>79/132</span>
49
+ <span class='fraction'>82/138</span>
50
50
  </div>
51
51
 
52
52
 
@@ -366,7 +366,18 @@
366
366
  <a name='L301'></a><a href='#L301'>301</a>
367
367
  <a name='L302'></a><a href='#L302'>302</a>
368
368
  <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
370
381
  <span class="cline-any cline-yes">3x</span>
371
382
  <span class="cline-any cline-yes">3x</span>
372
383
  <span class="cline-any cline-yes">3x</span>
@@ -468,12 +479,12 @@
468
479
  <span class="cline-any cline-yes">6x</span>
469
480
  <span class="cline-any cline-yes">6x</span>
470
481
  <span class="cline-any cline-yes">6x</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
482
  <span class="cline-any cline-yes">6x</span>
474
483
  <span class="cline-any cline-neutral">&nbsp;</span>
475
484
  <span class="cline-any cline-yes">6x</span>
476
485
  <span class="cline-any cline-yes">6x</span>
486
+ <span class="cline-any cline-yes">6x</span>
487
+ <span class="cline-any cline-yes">6x</span>
477
488
  <span class="cline-any cline-yes">5x</span>
478
489
  <span class="cline-any cline-neutral">&nbsp;</span>
479
490
  <span class="cline-any cline-yes">5x</span>
@@ -486,30 +497,39 @@
486
497
  <span class="cline-any cline-no">&nbsp;</span>
487
498
  <span class="cline-any cline-neutral">&nbsp;</span>
488
499
  <span class="cline-any cline-yes">5x</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
504
  <span class="cline-any cline-yes">5x</span>
490
505
  <span class="cline-any cline-yes">5x</span>
491
506
  <span class="cline-any cline-yes">5x</span>
492
507
  <span class="cline-any cline-neutral">&nbsp;</span>
493
508
  <span class="cline-any cline-neutral">&nbsp;</span>
494
509
  <span class="cline-any cline-yes">5x</span>
510
+ <span class="cline-any cline-no">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
512
  <span class="cline-any cline-neutral">&nbsp;</span>
496
513
  <span class="cline-any cline-neutral">&nbsp;</span>
497
514
  <span class="cline-any cline-no">&nbsp;</span>
498
515
  <span class="cline-any cline-neutral">&nbsp;</span>
499
516
  <span class="cline-any cline-neutral">&nbsp;</span>
500
517
  <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-no">&nbsp;</span>
501
520
  <span class="cline-any cline-no">&nbsp;</span>
502
521
  <span class="cline-any cline-neutral">&nbsp;</span>
503
522
  <span class="cline-any cline-neutral">&nbsp;</span>
504
523
  <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
526
  <span class="cline-any cline-no">&nbsp;</span>
506
527
  <span class="cline-any cline-neutral">&nbsp;</span>
507
528
  <span class="cline-any cline-neutral">&nbsp;</span>
508
529
  <span class="cline-any cline-neutral">&nbsp;</span>
509
530
  <span class="cline-any cline-no">&nbsp;</span>
510
531
  <span class="cline-any cline-no">&nbsp;</span>
511
- <span class="cline-any cline-neutral">&nbsp;</span>
512
- <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-no">&nbsp;</span>
513
533
  <span class="cline-any cline-neutral">&nbsp;</span>
514
534
  <span class="cline-any cline-neutral">&nbsp;</span>
515
535
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -518,12 +538,16 @@
518
538
  <span class="cline-any cline-neutral">&nbsp;</span>
519
539
  <span class="cline-any cline-neutral">&nbsp;</span>
520
540
  <span class="cline-any cline-no">&nbsp;</span>
541
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
542
  <span class="cline-any cline-no">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
545
  <span class="cline-any cline-no">&nbsp;</span>
523
546
  <span class="cline-any cline-neutral">&nbsp;</span>
524
547
  <span class="cline-any cline-neutral">&nbsp;</span>
525
548
  <span class="cline-any cline-neutral">&nbsp;</span>
526
549
  <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
551
  <span class="cline-any cline-no">&nbsp;</span>
528
552
  <span class="cline-any cline-no">&nbsp;</span>
529
553
  <span class="cline-any cline-no">&nbsp;</span>
@@ -660,10 +684,8 @@
660
684
  <span class="cline-any cline-neutral">&nbsp;</span>
661
685
  <span class="cline-any cline-neutral">&nbsp;</span>
662
686
  <span class="cline-any cline-yes">6x</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
687
  <span class="cline-any cline-yes">6x</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-yes">6x</span>
667
689
  <span class="cline-any cline-neutral">&nbsp;</span>
668
690
  <span class="cline-any cline-no">&nbsp;</span>
669
691
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -771,10 +793,10 @@ class Orchestrator {
771
793
  let automation = this._automation
772
794
  const app = await this.getApp()
773
795
  let stopped = false
774
- let loopStep
796
+ let loopStep = null
775
797
  &nbsp;
776
798
  let stepCount = 0
777
- let loopStepNumber
799
+ let loopStepNumber = null
778
800
  let loopSteps = []
779
801
  for (let step of automation.definition.steps) {
780
802
  stepCount++
@@ -788,15 +810,17 @@ class Orchestrator {
788
810
  <span class="missing-if-branch" title="if path not taken" >I</span>if (loopStep) {
789
811
  <span class="cstat-no" title="statement not covered" > input = await processObject(loopStep.inputs, this._context)</span>
790
812
  }
791
- let iterations = loopStep ? <span class="branch-0 cbranch-no" title="branch not covered" >input.binding.length </span>: 1
813
+ let iterations = loopStep
814
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >Array.isArray(input.binding)</span>
815
+ ? input.binding.length
816
+ : automationUtils.stringSplit(input.binding).length
817
+ : 1
792
818
  let iterationCount = 0
793
819
  for (let index = 0; index &lt; iterations; index++) {
794
820
  let originalStepInput = cloneDeep(step.inputs)
795
821
  &nbsp;
796
822
  // Handle if the user has set a max iteration count or if it reaches the max limit set by us
797
823
  <span class="missing-if-branch" title="if path not taken" >I</span>if (loopStep) {
798
- // lets first of all handle the input
799
- // if the input is array then use it, if it is a string then split it on every new line
800
824
  let newInput = <span class="cstat-no" title="statement not covered" >await processObject(</span>
801
825
  loopStep.inputs,
802
826
  cloneDeep(this._context)
@@ -805,9 +829,6 @@ class Orchestrator {
805
829
  newInput,
806
830
  loopStep.schema.inputs
807
831
  )
808
- <span class="cstat-no" title="statement not covered" > this._context.steps[loopStepNumber] = {</span>
809
- currentItem: newInput.binding[index],
810
- }
811
832
  &nbsp;
812
833
  let tempOutput = <span class="cstat-no" title="statement not covered" >{ items: loopSteps, iterations: iterationCount }</span>
813
834
  <span class="cstat-no" title="statement not covered" > if (</span>
@@ -824,6 +845,20 @@ class Orchestrator {
824
845
  <span class="cstat-no" title="statement not covered" > loopStep = null</span>
825
846
  <span class="cstat-no" title="statement not covered" > break</span>
826
847
  }
848
+ &nbsp;
849
+ let item
850
+ <span class="cstat-no" title="statement not covered" > if (</span>
851
+ typeof loopStep.inputs.binding === "string" &amp;&amp;
852
+ loopStep.inputs.option === "String"
853
+ ) {
854
+ <span class="cstat-no" title="statement not covered" > item = automationUtils.stringSplit(newInput.binding)</span>
855
+ } else {
856
+ <span class="cstat-no" title="statement not covered" > item = loopStep.inputs.binding</span>
857
+ }
858
+ &nbsp;
859
+ <span class="cstat-no" title="statement not covered" > this._context.steps[loopStepNumber] = {</span>
860
+ currentItem: item[index],
861
+ }
827
862
  &nbsp;
828
863
  // The "Loop" binding in the front end is "fake", so replace it here so the context can understand it
829
864
  // Pretty hacky because we need to account for the row object
@@ -957,19 +992,17 @@ class Orchestrator {
957
992
  &nbsp;
958
993
  module.exports = (input, callback) =&gt; {
959
994
  const appId = input.data.event.appId
960
- doInAppContext(appId, () =&gt; {
995
+ doInAppContext(appId, async () =&gt; {
961
996
  const automationOrchestrator = new Orchestrator(
962
997
  input.data.automation,
963
998
  input.data.event
964
999
  )
965
- automationOrchestrator
966
- .execute()
967
- .then(response =&gt; {
968
- callback(null, response)
969
- })
970
- .catch(<span class="fstat-no" title="function not covered" >er</span>r =&gt; {
971
- <span class="cstat-no" title="statement not covered" > callback(err)</span>
972
- })
1000
+ try {
1001
+ const response = await automationOrchestrator.execute()
1002
+ callback(null, response)
1003
+ } catch (err) {
1004
+ <span class="cstat-no" title="statement not covered" > callback(err)</span>
1005
+ }
973
1006
  })
974
1007
  }
975
1008
  &nbsp;</pre></td></tr></table></pre>
@@ -979,7 +1012,7 @@ module.exports = (input, callback) =&gt; {
979
1012
  <div class='footer quiet pad2 space-top1 center small'>
980
1013
  Code coverage generated by
981
1014
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
982
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
1015
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
983
1016
  </div>
984
1017
  <script src="../prettify.js"></script>
985
1018
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.72% </span>
26
+ <span class="strong">74.28% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>204/273</span>
28
+ <span class='fraction'>208/280</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">56.52% </span>
33
+ <span class="strong">53.71% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>65/115</span>
35
+ <span class='fraction'>65/121</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">88.23% </span>
40
+ <span class="strong">90% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>30/34</span>
42
+ <span class='fraction'>27/30</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">74.9% </span>
47
+ <span class="strong">74.45% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>200/267</span>
49
+ <span class='fraction'>204/274</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,32 +80,32 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file medium" data-value="automation.js"><a href="automation.js.html">automation.js</a></td>
83
- <td data-value="60.15" class="pic medium">
84
- <div class="chart"><div class="cover-fill" style="width: 60%"></div><div class="cover-empty" style="width: 40%"></div></div>
83
+ <td data-value="59.71" class="pic medium">
84
+ <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
85
85
  </td>
86
- <td data-value="60.15" class="pct medium">60.15%</td>
87
- <td data-value="133" class="abs medium">80/133</td>
88
- <td data-value="36.84" class="pct low">36.84%</td>
89
- <td data-value="57" class="abs low">21/57</td>
90
- <td data-value="83.33" class="pct high">83.33%</td>
91
- <td data-value="12" class="abs high">10/12</td>
92
- <td data-value="59.84" class="pct medium">59.84%</td>
93
- <td data-value="132" class="abs medium">79/132</td>
86
+ <td data-value="59.71" class="pct medium">59.71%</td>
87
+ <td data-value="139" class="abs medium">83/139</td>
88
+ <td data-value="33.33" class="pct low">33.33%</td>
89
+ <td data-value="63" class="abs low">21/63</td>
90
+ <td data-value="90" class="pct high">90%</td>
91
+ <td data-value="10" class="abs high">9/10</td>
92
+ <td data-value="59.42" class="pct medium">59.42%</td>
93
+ <td data-value="138" class="abs medium">82/138</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file high" data-value="query.js"><a href="query.js.html">query.js</a></td>
98
- <td data-value="91.26" class="pic high">
98
+ <td data-value="91.34" class="pic high">
99
99
  <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
100
100
  </td>
101
- <td data-value="91.26" class="pct high">91.26%</td>
102
- <td data-value="103" class="abs high">94/103</td>
101
+ <td data-value="91.34" class="pct high">91.34%</td>
102
+ <td data-value="104" class="abs high">95/104</td>
103
103
  <td data-value="79.06" class="pct medium">79.06%</td>
104
104
  <td data-value="43" class="abs medium">34/43</td>
105
- <td data-value="92.3" class="pct high">92.3%</td>
106
- <td data-value="13" class="abs high">12/13</td>
107
- <td data-value="91.91" class="pct high">91.91%</td>
108
- <td data-value="99" class="abs high">91/99</td>
105
+ <td data-value="90.9" class="pct high">90.9%</td>
106
+ <td data-value="11" class="abs high">10/11</td>
107
+ <td data-value="92" class="pct high">92%</td>
108
+ <td data-value="100" class="abs high">92/100</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
134
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
137
137
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">91.26% </span>
26
+ <span class="strong">91.34% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>94/103</span>
28
+ <span class='fraction'>95/104</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">92.3% </span>
40
+ <span class="strong">90.9% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/13</span>
42
+ <span class='fraction'>10/11</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">91.91% </span>
47
+ <span class="strong">92% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>91/99</span>
49
+ <span class='fraction'>92/100</span>
50
50
  </div>
51
51
 
52
52
 
@@ -266,8 +266,7 @@
266
266
  <a name='L201'></a><a href='#L201'>201</a>
267
267
  <a name='L202'></a><a href='#L202'>202</a>
268
268
  <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
269
+ <a name='L204'></a><a href='#L204'>204</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
271
270
  <span class="cline-any cline-yes">2x</span>
272
271
  <span class="cline-any cline-yes">2x</span>
273
272
  <span class="cline-any cline-yes">2x</span>
@@ -463,10 +462,9 @@
463
462
  <span class="cline-any cline-yes">10x</span>
464
463
  <span class="cline-any cline-yes">10x</span>
465
464
  <span class="cline-any cline-yes">10x</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-yes">10x</span>
467
466
  <span class="cline-any cline-yes">8x</span>
468
467
  <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
468
  <span class="cline-any cline-yes">2x</span>
471
469
  <span class="cline-any cline-neutral">&nbsp;</span>
472
470
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -664,15 +662,14 @@ class QueryRunner {
664
662
  }
665
663
  &nbsp;
666
664
  module.exports = (input, callback) =&gt; {
667
- doInAppContext(input.appId, () =&gt; {
665
+ doInAppContext(input.appId, async () =&gt; {
668
666
  const Runner = new QueryRunner(input)
669
- Runner.execute()
670
- .then(response =&gt; {
671
- callback(null, response)
672
- })
673
- .catch(err =&gt; {
674
- callback(err)
675
- })
667
+ try {
668
+ const response = await Runner.execute()
669
+ callback(null, response)
670
+ } catch (err) {
671
+ callback(err)
672
+ }
676
673
  })
677
674
  }
678
675
  &nbsp;</pre></td></tr></table></pre>
@@ -682,7 +679,7 @@ module.exports = (input, callback) =&gt; {
682
679
  <div class='footer quiet pad2 space-top1 center small'>
683
680
  Code coverage generated by
684
681
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
685
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
682
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
686
683
  </div>
687
684
  <script src="../prettify.js"></script>
688
685
  <script>
@@ -304,7 +304,7 @@ exports.hasExtraData = response =&gt; {
304
304
  <div class='footer quiet pad2 space-top1 center small'>
305
305
  Code coverage generated by
306
306
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
307
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
307
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
308
308
  </div>
309
309
  <script src="../prettify.js"></script>
310
310
  <script>
@@ -115,7 +115,7 @@ const SALT_ROUNDS = <span class="cstat-no" title="statement not covered" >env.SA
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
118
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
119
119
  </div>
120
120
  <script src="../prettify.js"></script>
121
121
  <script>
@@ -100,7 +100,7 @@ module.exports.budibaseTempDir = budibaseTempDir
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
103
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  <script src="../prettify.js"></script>
106
106
  <script>
@@ -136,7 +136,7 @@ exports.resolve = <span class="fstat-no" title="function not covered" >fu</span>
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
139
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  <script src="../prettify.js"></script>
142
142
  <script>
@@ -502,7 +502,7 @@ module.exports = {
502
502
  <div class='footer quiet pad2 space-top1 center small'>
503
503
  Code coverage generated by
504
504
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
505
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
505
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
506
506
  </div>
507
507
  <script src="../prettify.js"></script>
508
508
  <script>
@@ -391,7 +391,7 @@ exports.getGlobalUsersFromMetadata = async users =&gt; {
391
391
  <div class='footer quiet pad2 space-top1 center small'>
392
392
  Code coverage generated by
393
393
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
394
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
394
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
395
395
  </div>
396
396
  <script src="../prettify.js"></script>
397
397
  <script>
@@ -251,7 +251,7 @@
251
251
  <div class='footer quiet pad2 space-top1 center small'>
252
252
  Code coverage generated by
253
253
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
254
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
254
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
255
255
  </div>
256
256
  <script src="../prettify.js"></script>
257
257
  <script>
@@ -559,7 +559,7 @@ exports.convertBookmark = bookmark =&gt; {
559
559
  <div class='footer quiet pad2 space-top1 center small'>
560
560
  Code coverage generated by
561
561
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
562
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
562
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
563
563
  </div>
564
564
  <script src="../prettify.js"></script>
565
565
  <script>
@@ -391,7 +391,7 @@ module.exports = InMemoryQueue
391
391
  <div class='footer quiet pad2 space-top1 center small'>
392
392
  Code coverage generated by
393
393
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
394
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
394
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
395
395
  </div>
396
396
  <script src="../../prettify.js"></script>
397
397
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
104
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
104
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -145,7 +145,7 @@ exports.createRoutingView = createRoutingView
145
145
  <div class='footer quiet pad2 space-top1 center small'>
146
146
  Code coverage generated by
147
147
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
148
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
148
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
149
149
  </div>
150
150
  <script src="../../prettify.js"></script>
151
151
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
119
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -1096,7 +1096,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =&gt
1096
1096
  <div class='footer quiet pad2 space-top1 center small'>
1097
1097
  Code coverage generated by
1098
1098
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1099
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
1099
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
1100
1100
  </div>
1101
1101
  <script src="../../prettify.js"></script>
1102
1102
  <script>
@@ -271,7 +271,7 @@ exports.processFormulas = (
271
271
  <div class='footer quiet pad2 space-top1 center small'>
272
272
  Code coverage generated by
273
273
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
274
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
274
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
275
275
  </div>
276
276
  <script src="../../prettify.js"></script>
277
277
  <script>
@@ -142,7 +142,7 @@ module.exports = ScriptRunner
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
145
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  <script src="../prettify.js"></script>
148
148
  <script>
@@ -280,7 +280,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
280
280
  <div class='footer quiet pad2 space-top1 center small'>
281
281
  Code coverage generated by
282
282
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
283
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
283
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
284
284
  </div>
285
285
  <script src="../prettify.js"></script>
286
286
  <script>
@@ -91,7 +91,7 @@
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
94
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
94
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  <script src="../prettify.js"></script>
97
97
  <script>