@budibase/server 1.0.93 → 1.0.94

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 (185) hide show
  1. package/builder/assets/{index.4494eb63.js → index.305b7738.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +118 -105
  4. package/coverage/coverage-final.json +1 -1
  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/application.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/index.html +1 -1
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/index.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  80. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  83. package/coverage/lcov-report/automations/actions.js.html +1 -1
  84. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  85. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  86. package/coverage/lcov-report/automations/index.html +1 -1
  87. package/coverage/lcov-report/automations/index.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/index.html +1 -1
  97. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  115. package/coverage/lcov-report/automations/utils.js.html +1 -1
  116. package/coverage/lcov-report/constants/index.html +1 -1
  117. package/coverage/lcov-report/constants/index.js.html +1 -1
  118. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  119. package/coverage/lcov-report/constants/screens.js.html +1 -1
  120. package/coverage/lcov-report/db/client.js.html +1 -1
  121. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  122. package/coverage/lcov-report/db/index.html +1 -1
  123. package/coverage/lcov-report/db/index.js.html +1 -1
  124. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  126. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  127. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  128. package/coverage/lcov-report/db/newid.js.html +1 -1
  129. package/coverage/lcov-report/db/utils.js.html +1 -1
  130. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  131. package/coverage/lcov-report/events/index.html +1 -1
  132. package/coverage/lcov-report/events/index.js.html +1 -1
  133. package/coverage/lcov-report/events/utils.js.html +1 -1
  134. package/coverage/lcov-report/index.html +20 -20
  135. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  136. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  137. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  138. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  139. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  140. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  141. package/coverage/lcov-report/middleware/index.html +1 -1
  142. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  143. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  144. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  145. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  146. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  147. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  148. package/coverage/lcov-report/threads/automation.js.html +1 -1
  149. package/coverage/lcov-report/threads/index.html +20 -20
  150. package/coverage/lcov-report/threads/index.js.html +1 -1
  151. package/coverage/lcov-report/threads/query.js.html +111 -15
  152. package/coverage/lcov-report/threads/utils.js.html +1 -1
  153. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  154. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  155. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  156. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  157. package/coverage/lcov-report/utilities/global.js.html +1 -1
  158. package/coverage/lcov-report/utilities/index.html +1 -1
  159. package/coverage/lcov-report/utilities/index.js.html +1 -1
  160. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  161. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  163. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  164. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  165. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  166. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  167. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  168. package/coverage/lcov-report/utilities/security.js.html +1 -1
  169. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  170. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  171. package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
  172. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  174. package/coverage/lcov-report/utilities/users.js.html +1 -1
  175. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  176. package/coverage/lcov.info +204 -185
  177. package/dist/environment.js +1 -0
  178. package/dist/integrations/base/sql.js +5 -1
  179. package/dist/package.json +4 -4
  180. package/dist/threads/query.js +32 -5
  181. package/dist/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +5 -5
  183. package/src/environment.js +1 -0
  184. package/src/integrations/base/sql.ts +5 -1
  185. package/src/threads/query.js +37 -5
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
98
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -121,7 +121,7 @@ exports.middleware =
121
121
  <div class='footer quiet pad2 space-top1 center small'>
122
122
  Code coverage generated by
123
123
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
124
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
124
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
125
125
  </div>
126
126
  </div>
127
127
  <script src="../prettify.js"></script>
@@ -382,7 +382,7 @@ module.exports =
382
382
  <div class='footer quiet pad2 space-top1 center small'>
383
383
  Code coverage generated by
384
384
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
385
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
385
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
386
386
  </div>
387
387
  </div>
388
388
  <script src="../prettify.js"></script>
@@ -298,7 +298,7 @@ module.exports = async (ctx, permType) =&gt; {
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
301
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
301
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
302
302
  </div>
303
303
  </div>
304
304
  <script src="../prettify.js"></script>
@@ -409,7 +409,7 @@ module.exports = async (ctx, next) =&gt; {
409
409
  <div class='footer quiet pad2 space-top1 center small'>
410
410
  Code coverage generated by
411
411
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
412
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
412
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
413
413
  </div>
414
414
  </div>
415
415
  <script src="../prettify.js"></script>
@@ -230,7 +230,7 @@
230
230
  <div class='footer quiet pad2 space-top1 center small'>
231
231
  Code coverage generated by
232
232
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
233
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
233
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
234
234
  </div>
235
235
  </div>
236
236
  <script src="../prettify.js"></script>
@@ -148,7 +148,7 @@ module.exports.params = schema =&gt; {
148
148
  <div class='footer quiet pad2 space-top1 center small'>
149
149
  Code coverage generated by
150
150
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
151
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
151
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
152
152
  </div>
153
153
  </div>
154
154
  <script src="../prettify.js"></script>
@@ -127,7 +127,7 @@ module.exports = function ({ requiresAppId } = <span class="branch-0 cbranch-no"
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
130
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
130
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
131
131
  </div>
132
132
  </div>
133
133
  <script src="../prettify.js"></script>
@@ -247,7 +247,7 @@ module.exports.bodySubResource = (main, sub) =&gt; {
247
247
  <div class='footer quiet pad2 space-top1 center small'>
248
248
  Code coverage generated by
249
249
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
250
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
250
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
251
251
  </div>
252
252
  </div>
253
253
  <script src="../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports = async (ctx, next) =&gt; {
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
97
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../prettify.js"></script>
@@ -556,7 +556,7 @@ const POST_CREATE = {
556
556
  <div class='footer quiet pad2 space-top1 center small'>
557
557
  Code coverage generated by
558
558
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
559
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
559
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
560
560
  </div>
561
561
  </div>
562
562
  <script src="../prettify.js"></script>
@@ -85,7 +85,7 @@ exports.isWebhookEndpoint = ctx =&gt; {
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
88
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
88
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  </div>
91
91
  <script src="../prettify.js"></script>
@@ -487,7 +487,7 @@ module.exports = (input, callback) =&gt; {
487
487
  <div class='footer quiet pad2 space-top1 center small'>
488
488
  Code coverage generated by
489
489
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
490
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
490
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
491
491
  </div>
492
492
  </div>
493
493
  <script src="../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80% </span>
26
+ <span class="strong">76.12% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>220/275</span>
28
+ <span class='fraction'>220/289</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">63.47% </span>
33
+ <span class="strong">61.34% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>73/115</span>
35
+ <span class='fraction'>73/119</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">92.5% </span>
40
+ <span class="strong">90.24% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>37/40</span>
42
+ <span class='fraction'>37/41</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">80.37% </span>
47
+ <span class="strong">76.67% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>217/270</span>
49
+ <span class='fraction'>217/283</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line high'></div>
58
+ <div class='status-line medium'></div>
59
59
  <div class="pad1">
60
60
  <table class="coverage-summary">
61
61
  <thead>
@@ -104,17 +104,17 @@
104
104
 
105
105
  <tr>
106
106
  <td class="file medium" data-value="query.js"><a href="query.js.html">query.js</a></td>
107
- <td data-value="77.03" class="pic medium">
108
- <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
107
+ <td data-value="69.79" class="pic medium">
108
+ <div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
109
109
  </td>
110
- <td data-value="77.03" class="pct medium">77.03%</td>
111
- <td data-value="135" class="abs medium">104/135</td>
112
- <td data-value="67.18" class="pct medium">67.18%</td>
113
- <td data-value="64" class="abs medium">43/64</td>
114
- <td data-value="93.33" class="pct high">93.33%</td>
115
- <td data-value="15" class="abs high">14/15</td>
116
- <td data-value="77.09" class="pct medium">77.09%</td>
117
- <td data-value="131" class="abs medium">101/131</td>
110
+ <td data-value="69.79" class="pct medium">69.79%</td>
111
+ <td data-value="149" class="abs medium">104/149</td>
112
+ <td data-value="63.23" class="pct medium">63.23%</td>
113
+ <td data-value="68" class="abs medium">43/68</td>
114
+ <td data-value="87.5" class="pct high">87.5%</td>
115
+ <td data-value="16" class="abs high">14/16</td>
116
+ <td data-value="70.13" class="pct medium">70.13%</td>
117
+ <td data-value="144" class="abs medium">101/144</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
143
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../prettify.js"></script>
@@ -262,7 +262,7 @@ module.exports.ThreadType = ThreadType
262
262
  <div class='footer quiet pad2 space-top1 center small'>
263
263
  Code coverage generated by
264
264
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
265
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
265
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
266
266
  </div>
267
267
  </div>
268
268
  <script src="../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">77.03% </span>
26
+ <span class="strong">69.79% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>104/135</span>
28
+ <span class='fraction'>104/149</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">67.18% </span>
33
+ <span class="strong">63.23% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>43/64</span>
35
+ <span class='fraction'>43/68</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">93.33% </span>
40
+ <span class="strong">87.5% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>14/15</span>
42
+ <span class='fraction'>14/16</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">77.09% </span>
47
+ <span class="strong">70.13% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>101/131</span>
49
+ <span class='fraction'>101/144</span>
50
50
  </div>
51
51
 
52
52
 
@@ -332,7 +332,39 @@
332
332
  <a name='L273'></a><a href='#L273'>273</a>
333
333
  <a name='L274'></a><a href='#L274'>274</a>
334
334
  <a name='L275'></a><a href='#L275'>275</a>
335
- <a name='L276'></a><a href='#L276'>276</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
335
+ <a name='L276'></a><a href='#L276'>276</a>
336
+ <a name='L277'></a><a href='#L277'>277</a>
337
+ <a name='L278'></a><a href='#L278'>278</a>
338
+ <a name='L279'></a><a href='#L279'>279</a>
339
+ <a name='L280'></a><a href='#L280'>280</a>
340
+ <a name='L281'></a><a href='#L281'>281</a>
341
+ <a name='L282'></a><a href='#L282'>282</a>
342
+ <a name='L283'></a><a href='#L283'>283</a>
343
+ <a name='L284'></a><a href='#L284'>284</a>
344
+ <a name='L285'></a><a href='#L285'>285</a>
345
+ <a name='L286'></a><a href='#L286'>286</a>
346
+ <a name='L287'></a><a href='#L287'>287</a>
347
+ <a name='L288'></a><a href='#L288'>288</a>
348
+ <a name='L289'></a><a href='#L289'>289</a>
349
+ <a name='L290'></a><a href='#L290'>290</a>
350
+ <a name='L291'></a><a href='#L291'>291</a>
351
+ <a name='L292'></a><a href='#L292'>292</a>
352
+ <a name='L293'></a><a href='#L293'>293</a>
353
+ <a name='L294'></a><a href='#L294'>294</a>
354
+ <a name='L295'></a><a href='#L295'>295</a>
355
+ <a name='L296'></a><a href='#L296'>296</a>
356
+ <a name='L297'></a><a href='#L297'>297</a>
357
+ <a name='L298'></a><a href='#L298'>298</a>
358
+ <a name='L299'></a><a href='#L299'>299</a>
359
+ <a name='L300'></a><a href='#L300'>300</a>
360
+ <a name='L301'></a><a href='#L301'>301</a>
361
+ <a name='L302'></a><a href='#L302'>302</a>
362
+ <a name='L303'></a><a href='#L303'>303</a>
363
+ <a name='L304'></a><a href='#L304'>304</a>
364
+ <a name='L305'></a><a href='#L305'>305</a>
365
+ <a name='L306'></a><a href='#L306'>306</a>
366
+ <a name='L307'></a><a href='#L307'>307</a>
367
+ <a name='L308'></a><a href='#L308'>308</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
336
368
  <span class="cline-any cline-yes">2x</span>
337
369
  <span class="cline-any cline-yes">2x</span>
338
370
  <span class="cline-any cline-yes">2x</span>
@@ -370,6 +402,8 @@
370
402
  <span class="cline-any cline-no">&nbsp;</span>
371
403
  <span class="cline-any cline-no">&nbsp;</span>
372
404
  <span class="cline-any cline-no">&nbsp;</span>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-no">&nbsp;</span>
373
407
  <span class="cline-any cline-no">&nbsp;</span>
374
408
  <span class="cline-any cline-neutral">&nbsp;</span>
375
409
  <span class="cline-any cline-no">&nbsp;</span>
@@ -383,11 +417,41 @@
383
417
  <span class="cline-any cline-neutral">&nbsp;</span>
384
418
  <span class="cline-any cline-neutral">&nbsp;</span>
385
419
  <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-no">&nbsp;</span>
426
+ <span class="cline-any cline-no">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
428
  <span class="cline-any cline-no">&nbsp;</span>
387
429
  <span class="cline-any cline-neutral">&nbsp;</span>
388
430
  <span class="cline-any cline-neutral">&nbsp;</span>
389
431
  <span class="cline-any cline-neutral">&nbsp;</span>
390
432
  <span class="cline-any cline-no">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-no">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-no">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-no">&nbsp;</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-no">&nbsp;</span>
445
+ <span class="cline-any cline-no">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-no">&nbsp;</span>
448
+ <span class="cline-any cline-no">&nbsp;</span>
449
+ <span class="cline-any cline-no">&nbsp;</span>
450
+ <span class="cline-any cline-no">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-no">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
455
  <span class="cline-any cline-no">&nbsp;</span>
392
456
  <span class="cline-any cline-no">&nbsp;</span>
393
457
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -642,10 +706,12 @@ class QueryRunner {
642
706
  return fields
643
707
  }
644
708
  const bindings = <span class="cstat-no" title="statement not covered" >findHBSBlocks(sql)</span>
645
- let variables = <span class="cstat-no" title="statement not covered" >[]</span>
709
+ let variables = <span class="cstat-no" title="statement not covered" >[],</span>
710
+ arrays = <span class="cstat-no" title="statement not covered" >[]</span>
646
711
  <span class="cstat-no" title="statement not covered" > for (let binding of bindings) {</span>
647
- let variable = <span class="cstat-no" title="statement not covered" >integration.getBindingIdentifier()</span>
648
- <span class="cstat-no" title="statement not covered" > variables.push(binding)</span>
712
+ // look for array/list operations in the SQL statement, which will need handled later
713
+ const listRegex = <span class="cstat-no" title="statement not covered" >new RegExp(`(in|IN|In|iN)( )+${binding}`)</span>
714
+ const listRegexMatch = <span class="cstat-no" title="statement not covered" >sql.match(listRegex)</span>
649
715
  // check if the variable was used as part of a string concat e.g. 'Hello {{binding}}'
650
716
  const charConstRegex = <span class="cstat-no" title="statement not covered" >new RegExp(`'[^']*${binding}[^']*'`)</span>
651
717
  const charConstMatch = <span class="cstat-no" title="statement not covered" >sql.match(charConstRegex)</span>
@@ -655,15 +721,45 @@ class QueryRunner {
655
721
  <span class="cstat-no" title="statement not covered" > part2 = `'${part2.substring(0, part2.length - 1)}'`</span>
656
722
  <span class="cstat-no" title="statement not covered" > sql = sql.replace(</span>
657
723
  charConstMatch[0],
658
- integration.getStringConcat([part1, variable, part2])
724
+ integration.getStringConcat([
725
+ part1,
726
+ integration.getBindingIdentifier(),
727
+ part2,
728
+ ])
729
+ )
730
+ }
731
+ // generate SQL parameterised array
732
+ else <span class="cstat-no" title="statement not covered" >if (listRegexMatch) {</span>
733
+ <span class="cstat-no" title="statement not covered" > arrays.push(binding)</span>
734
+ // determine the length of the array
735
+ const value = <span class="cstat-no" title="statement not covered" >this.enrichQueryFields([binding], parameters)[0].split(</span>
736
+ ","
737
+ )
738
+ // build a string like ($1, $2, $3)
739
+ <span class="cstat-no" title="statement not covered" > sql = sql.replace(</span>
740
+ binding,
741
+ `(${Array.apply(null, Array(value.length))
742
+ .map(<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >integration.getBindingIdentifier())</span>
743
+ .join(",")})`
659
744
  )
660
745
  } else {
661
- <span class="cstat-no" title="statement not covered" > sql = sql.replace(binding, variable)</span>
746
+ <span class="cstat-no" title="statement not covered" > sql = sql.replace(binding, integration.getBindingIdentifier())</span>
662
747
  }
748
+ <span class="cstat-no" title="statement not covered" > variables.push(binding)</span>
663
749
  }
664
750
  // replicate the knex structure
665
751
  <span class="cstat-no" title="statement not covered" > fields.sql = sql</span>
666
752
  <span class="cstat-no" title="statement not covered" > fields.bindings = this.enrichQueryFields(variables, parameters)</span>
753
+ // check for arrays in the data
754
+ let updated = <span class="cstat-no" title="statement not covered" >[]</span>
755
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; variables.length; i++) {</span>
756
+ <span class="cstat-no" title="statement not covered" > if (arrays.includes(variables[i])) {</span>
757
+ <span class="cstat-no" title="statement not covered" > updated = updated.concat(fields.bindings[i].split(","))</span>
758
+ } else {
759
+ <span class="cstat-no" title="statement not covered" > updated.push(fields.bindings[i])</span>
760
+ }
761
+ }
762
+ <span class="cstat-no" title="statement not covered" > fields.bindings = updated</span>
667
763
  <span class="cstat-no" title="statement not covered" > return fields</span>
668
764
  }
669
765
  &nbsp;
@@ -889,7 +985,7 @@ module.exports = (input, callback) =&gt; {
889
985
  <div class='footer quiet pad2 space-top1 center small'>
890
986
  Code coverage generated by
891
987
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
892
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
988
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
893
989
  </div>
894
990
  </div>
895
991
  <script src="../prettify.js"></script>
@@ -298,7 +298,7 @@ exports.hasExtraData = response =&gt; {
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
301
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
301
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
302
302
  </div>
303
303
  </div>
304
304
  <script src="../prettify.js"></script>
@@ -109,7 +109,7 @@ const SALT_ROUNDS = <span class="cstat-no" title="statement not covered" >env.SA
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
112
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
112
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  </div>
115
115
  <script src="../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports.budibaseTempDir = budibaseTempDir
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
97
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../prettify.js"></script>
@@ -130,7 +130,7 @@ exports.resolve = <span class="fstat-no" title="function not covered" >fu</span>
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
133
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
133
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
134
134
  </div>
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
@@ -496,7 +496,7 @@ module.exports = {
496
496
  <div class='footer quiet pad2 space-top1 center small'>
497
497
  Code coverage generated by
498
498
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
499
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
499
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
500
500
  </div>
501
501
  </div>
502
502
  <script src="../prettify.js"></script>
@@ -385,7 +385,7 @@ exports.getGlobalUsersFromMetadata = async users =&gt; {
385
385
  <div class='footer quiet pad2 space-top1 center small'>
386
386
  Code coverage generated by
387
387
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
388
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
388
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
389
389
  </div>
390
390
  </div>
391
391
  <script src="../prettify.js"></script>
@@ -245,7 +245,7 @@
245
245
  <div class='footer quiet pad2 space-top1 center small'>
246
246
  Code coverage generated by
247
247
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
248
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
248
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
249
249
  </div>
250
250
  </div>
251
251
  <script src="../prettify.js"></script>
@@ -547,7 +547,7 @@ exports.convertBookmark = bookmark =&gt; {
547
547
  <div class='footer quiet pad2 space-top1 center small'>
548
548
  Code coverage generated by
549
549
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
550
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
550
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
551
551
  </div>
552
552
  </div>
553
553
  <script src="../prettify.js"></script>
@@ -367,7 +367,7 @@ module.exports = InMemoryQueue
367
367
  <div class='footer quiet pad2 space-top1 center small'>
368
368
  Code coverage generated by
369
369
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
370
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
370
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
371
371
  </div>
372
372
  </div>
373
373
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
98
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
98
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -139,7 +139,7 @@ exports.createRoutingView = createRoutingView
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
142
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
142
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
143
143
  </div>
144
144
  </div>
145
145
  <script src="../../prettify.js"></script>
@@ -110,7 +110,7 @@
110
110
  <div class='footer quiet pad2 space-top1 center small'>
111
111
  Code coverage generated by
112
112
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
113
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
114
114
  </div>
115
115
  </div>
116
116
  <script src="../../prettify.js"></script>
@@ -1081,7 +1081,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =&gt
1081
1081
  <div class='footer quiet pad2 space-top1 center small'>
1082
1082
  Code coverage generated by
1083
1083
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1084
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
1084
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
1085
1085
  </div>
1086
1086
  </div>
1087
1087
  <script src="../../prettify.js"></script>
@@ -181,7 +181,7 @@ exports.processFormulas = (
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
184
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -136,7 +136,7 @@ module.exports = ScriptRunner
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">istanbul</a>
139
- at Mon Mar 21 2022 17:15:38 GMT+0000 (Coordinated Universal Time)
139
+ at Tue Mar 22 2022 13:08:21 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>