@budibase/server 1.1.30 → 1.1.32-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.
Files changed (208) hide show
  1. package/builder/assets/index.3c7a4b19.js +977 -0
  2. package/builder/assets/{index.192adf4c.css → index.aa03d5f4.css} +2 -2
  3. package/builder/assets/{vendor.162098da.js → vendor.6bcafa60.js} +1 -1
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +407 -711
  6. package/coverage/coverage-final.json +15 -18
  7. package/coverage/lcov-report/api/controllers/apikeys.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/validation.js.html +2 -2
  23. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/index.html +18 -18
  27. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +94 -49
  29. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +15 -15
  45. package/coverage/lcov-report/api/index.html +1 -1
  46. package/coverage/lcov-report/api/index.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/index.html +1 -1
  58. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  72. package/coverage/lcov-report/api/routes/utils/validators.js.html +2 -2
  73. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  75. package/coverage/lcov-report/automations/actions.js.html +1 -1
  76. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  77. package/coverage/lcov-report/automations/bullboard.js.html +17 -17
  78. package/coverage/lcov-report/automations/index.html +1 -1
  79. package/coverage/lcov-report/automations/index.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/executeQuery.js.html +5 -2
  84. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/index.html +25 -25
  87. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/queryRows.js.html +73 -10
  91. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/serverLog.js.html +27 -9
  93. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggers.js.html +18 -18
  106. package/coverage/lcov-report/constants/index.html +1 -1
  107. package/coverage/lcov-report/constants/index.js.html +5 -14
  108. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  109. package/coverage/lcov-report/constants/screens.js.html +1 -1
  110. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  111. package/coverage/lcov-report/db/index.html +19 -19
  112. package/coverage/lcov-report/db/index.js.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  116. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  117. package/coverage/lcov-report/db/newid.js.html +1 -1
  118. package/coverage/lcov-report/db/utils.js.html +61 -13
  119. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  120. package/coverage/lcov-report/events/index.html +1 -1
  121. package/coverage/lcov-report/events/index.js.html +1 -1
  122. package/coverage/lcov-report/events/utils.js.html +1 -1
  123. package/coverage/lcov-report/index.html +66 -81
  124. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  125. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  126. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  127. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  128. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  129. package/coverage/lcov-report/middleware/index.html +21 -21
  130. package/coverage/lcov-report/middleware/joi-validator.js.html +43 -43
  131. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  132. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  133. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  134. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  135. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  136. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  137. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  138. package/coverage/lcov-report/utilities/global.js.html +67 -13
  139. package/coverage/lcov-report/utilities/index.html +20 -20
  140. package/coverage/lcov-report/utilities/index.js.html +1 -1
  141. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +26 -14
  142. package/coverage/lcov-report/utilities/queue/index.html +17 -17
  143. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  144. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  145. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  146. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  147. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  148. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  149. package/coverage/lcov-report/utilities/security.js.html +2 -2
  150. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  151. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  152. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  153. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  154. package/coverage/lcov-report/utilities/users.js.html +1 -1
  155. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  156. package/coverage/lcov.info +747 -1245
  157. package/dist/api/controllers/deploy/index.js +1 -0
  158. package/dist/api/controllers/query/index.js +1 -1
  159. package/dist/api/controllers/query/validation.js +1 -1
  160. package/dist/api/controllers/row/internalSearch.js +30 -16
  161. package/dist/api/routes/utils/validators.js +1 -1
  162. package/dist/automations/steps/queryRows.js +21 -1
  163. package/dist/automations/steps/serverLog.js +8 -2
  164. package/dist/automations/utils.js +47 -1
  165. package/dist/constants/index.js +1 -4
  166. package/dist/db/utils.js +14 -1
  167. package/dist/definitions/automations.js +8 -0
  168. package/dist/integrations/base/sql.js +43 -14
  169. package/dist/package.json +8 -8
  170. package/dist/threads/automation.js +147 -54
  171. package/dist/threads/definitions.js +2 -0
  172. package/dist/threads/index.js +27 -20
  173. package/dist/threads/query.js +23 -15
  174. package/dist/threads/utils.js +47 -24
  175. package/dist/tsconfig.build.tsbuildinfo +1 -1
  176. package/dist/utilities/global.js +21 -4
  177. package/dist/utilities/queue/inMemoryQueue.js +5 -0
  178. package/package.json +9 -9
  179. package/src/api/controllers/deploy/index.ts +6 -1
  180. package/src/api/controllers/query/index.ts +1 -1
  181. package/src/api/controllers/query/validation.js +1 -1
  182. package/src/api/controllers/row/internalSearch.js +35 -20
  183. package/src/api/routes/tests/user.spec.js +2 -0
  184. package/src/api/routes/utils/validators.js +1 -1
  185. package/src/automations/steps/executeQuery.js +1 -0
  186. package/src/automations/steps/queryRows.js +22 -1
  187. package/src/automations/steps/serverLog.js +8 -2
  188. package/src/automations/tests/automation.spec.js +2 -2
  189. package/src/automations/utils.ts +54 -1
  190. package/src/constants/index.js +2 -5
  191. package/src/db/utils.js +16 -0
  192. package/src/definitions/automations.ts +49 -0
  193. package/src/definitions/datasource.ts +3 -0
  194. package/src/integrations/base/sql.ts +44 -13
  195. package/src/integrations/tests/sql.spec.js +50 -4
  196. package/src/middleware/tests/currentapp.spec.js +11 -0
  197. package/src/threads/{automation.js → automation.ts} +172 -48
  198. package/src/threads/definitions.ts +18 -0
  199. package/src/threads/index.ts +31 -23
  200. package/src/threads/{query.js → query.ts} +32 -12
  201. package/src/threads/{utils.js → utils.ts} +31 -12
  202. package/src/utilities/global.js +20 -2
  203. package/src/utilities/queue/inMemoryQueue.js +4 -0
  204. package/builder/assets/index.8084846c.js +0 -978
  205. package/coverage/lcov-report/threads/automation.js.html +0 -1114
  206. package/coverage/lcov-report/threads/index.html +0 -146
  207. package/coverage/lcov-report/threads/query.js.html +0 -916
  208. package/coverage/lcov-report/threads/utils.js.html +0 -319
@@ -148,7 +148,7 @@ exports.ACTION_DEFINITIONS = ACTION_DEFINITIONS
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" rel="noopener noreferrer">istanbul</a>
151
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
151
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
152
152
  </div>
153
153
  <script src="../prettify.js"></script>
154
154
  <script>
@@ -289,7 +289,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
289
289
  <div class='footer quiet pad2 space-top1 center small'>
290
290
  Code coverage generated by
291
291
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
292
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
292
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
293
293
  </div>
294
294
  <script src="../../prettify.js"></script>
295
295
  <script>
@@ -187,7 +187,7 @@ exports.run = async function delay({ inputs }) {
187
187
  <div class='footer quiet pad2 space-top1 center small'>
188
188
  Code coverage generated by
189
189
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
190
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
190
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
191
191
  </div>
192
192
  <script src="../../prettify.js"></script>
193
193
  <script>
@@ -319,7 +319,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
319
319
  <div class='footer quiet pad2 space-top1 center small'>
320
320
  Code coverage generated by
321
321
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
322
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
322
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
323
323
  </div>
324
324
  <script src="../../prettify.js"></script>
325
325
  <script>
@@ -152,7 +152,8 @@
152
152
  <a name='L87'></a><a href='#L87'>87</a>
153
153
  <a name='L88'></a><a href='#L88'>88</a>
154
154
  <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
156
157
  <span class="cline-any cline-yes">44x</span>
157
158
  <span class="cline-any cline-yes">44x</span>
158
159
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -228,6 +229,7 @@
228
229
  <span class="cline-any cline-no">&nbsp;</span>
229
230
  <span class="cline-any cline-no">&nbsp;</span>
230
231
  <span class="cline-any cline-no">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
233
  <span class="cline-any cline-no">&nbsp;</span>
232
234
  <span class="cline-any cline-neutral">&nbsp;</span>
233
235
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -317,6 +319,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
317
319
  <span class="cstat-no" title="statement not covered" > try {</span>
318
320
  <span class="cstat-no" title="statement not covered" > await queryController.executeV2(ctx, { isAutomation: true })</span>
319
321
  const { data, ...rest } = <span class="cstat-no" title="statement not covered" >ctx.body</span>
322
+ &nbsp;
320
323
  <span class="cstat-no" title="statement not covered" > return {</span>
321
324
  response: data,
322
325
  info: rest,
@@ -337,7 +340,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
337
340
  <div class='footer quiet pad2 space-top1 center small'>
338
341
  Code coverage generated by
339
342
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
340
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
343
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
341
344
  </div>
342
345
  <script src="../../prettify.js"></script>
343
346
  <script>
@@ -280,7 +280,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
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 Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
283
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
284
284
  </div>
285
285
  <script src="../../prettify.js"></script>
286
286
  <script>
@@ -370,7 +370,7 @@ exports.run = async function filter({ inputs }) {
370
370
  <div class='footer quiet pad2 space-top1 center small'>
371
371
  Code coverage generated by
372
372
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
373
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
373
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
374
374
  </div>
375
375
  <script src="../../prettify.js"></script>
376
376
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">69.9% </span>
26
+ <span class="strong">69.73% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>151/216</span>
28
+ <span class='fraction'>159/228</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">63.95% </span>
33
+ <span class="strong">64.28% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>55/86</span>
35
+ <span class='fraction'>63/98</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">50% </span>
40
+ <span class="strong">52.63% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/18</span>
42
+ <span class='fraction'>10/19</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">69.9% </span>
47
+ <span class="strong">69.73% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>151/216</span>
49
+ <span class='fraction'>159/228</span>
50
50
  </div>
51
51
 
52
52
 
@@ -215,17 +215,17 @@
215
215
 
216
216
  <tr>
217
217
  <td class="file high" data-value="queryRows.js"><a href="queryRows.js.html">queryRows.js</a></td>
218
- <td data-value="95.65" class="pic high">
219
- <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
218
+ <td data-value="88.23" class="pic high">
219
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
220
220
  </td>
221
- <td data-value="95.65" class="pct high">95.65%</td>
222
- <td data-value="23" class="abs high">22/23</td>
223
- <td data-value="64.28" class="pct medium">64.28%</td>
224
- <td data-value="14" class="abs medium">9/14</td>
221
+ <td data-value="88.23" class="pct high">88.23%</td>
222
+ <td data-value="34" class="abs high">30/34</td>
223
+ <td data-value="65.38" class="pct medium">65.38%</td>
224
+ <td data-value="26" class="abs medium">17/26</td>
225
225
  <td data-value="100" class="pct high">100%</td>
226
- <td data-value="2" class="abs high">2/2</td>
227
- <td data-value="95.65" class="pct high">95.65%</td>
228
- <td data-value="23" class="abs high">22/23</td>
226
+ <td data-value="3" class="abs high">3/3</td>
227
+ <td data-value="88.23" class="pct high">88.23%</td>
228
+ <td data-value="34" class="abs high">30/34</td>
229
229
  </tr>
230
230
 
231
231
  <tr>
@@ -244,18 +244,18 @@
244
244
  </tr>
245
245
 
246
246
  <tr>
247
- <td class="file medium" data-value="serverLog.js"><a href="serverLog.js.html">serverLog.js</a></td>
248
- <td data-value="50" class="pic medium">
249
- <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
247
+ <td class="file low" data-value="serverLog.js"><a href="serverLog.js.html">serverLog.js</a></td>
248
+ <td data-value="40" class="pic low">
249
+ <div class="chart"><div class="cover-fill" style="width: 40%"></div><div class="cover-empty" style="width: 60%"></div></div>
250
250
  </td>
251
- <td data-value="50" class="pct medium">50%</td>
252
- <td data-value="4" class="abs medium">2/4</td>
251
+ <td data-value="40" class="pct low">40%</td>
252
+ <td data-value="5" class="abs low">2/5</td>
253
253
  <td data-value="100" class="pct high">100%</td>
254
254
  <td data-value="0" class="abs high">0/0</td>
255
255
  <td data-value="0" class="pct low">0%</td>
256
256
  <td data-value="1" class="abs low">0/1</td>
257
- <td data-value="50" class="pct medium">50%</td>
258
- <td data-value="4" class="abs medium">2/4</td>
257
+ <td data-value="40" class="pct low">40%</td>
258
+ <td data-value="5" class="abs low">2/5</td>
259
259
  </tr>
260
260
 
261
261
  <tr>
@@ -326,7 +326,7 @@
326
326
  <div class='footer quiet pad2 space-top1 center small'>
327
327
  Code coverage generated by
328
328
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
329
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
329
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
330
330
  </div>
331
331
  <script src="../../prettify.js"></script>
332
332
  <script>
@@ -331,7 +331,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
331
331
  <div class='footer quiet pad2 space-top1 center small'>
332
332
  Code coverage generated by
333
333
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
334
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
334
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
335
335
  </div>
336
336
  <script src="../../prettify.js"></script>
337
337
  <script>
@@ -220,7 +220,7 @@
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
223
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  <script src="../../prettify.js"></script>
226
226
  <script>
@@ -469,7 +469,7 @@ exports.run = async function ({ inputs }) {
469
469
  <div class='footer quiet pad2 space-top1 center small'>
470
470
  Code coverage generated by
471
471
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
472
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
472
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
473
473
  </div>
474
474
  <script src="../../prettify.js"></script>
475
475
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">95.65% </span>
26
+ <span class="strong">88.23% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>22/23</span>
28
+ <span class='fraction'>30/34</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">64.28% </span>
33
+ <span class="strong">65.38% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>9/14</span>
35
+ <span class='fraction'>17/26</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
42
+ <span class='fraction'>3/3</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">95.65% </span>
47
+ <span class="strong">88.23% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>22/23</span>
49
+ <span class='fraction'>30/34</span>
50
50
  </div>
51
51
 
52
52
 
@@ -183,7 +183,28 @@
183
183
  <a name='L118'></a><a href='#L118'>118</a>
184
184
  <a name='L119'></a><a href='#L119'>119</a>
185
185
  <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
187
208
  <span class="cline-any cline-yes">44x</span>
188
209
  <span class="cline-any cline-yes">44x</span>
189
210
  <span class="cline-any cline-yes">44x</span>
@@ -267,6 +288,27 @@
267
288
  <span class="cline-any cline-yes">1x</span>
268
289
  <span class="cline-any cline-neutral">&nbsp;</span>
269
290
  <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-yes">1x</span>
293
+ <span class="cline-any cline-no">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-yes">1x</span>
296
+ <span class="cline-any cline-yes">1x</span>
297
+ <span class="cline-any cline-yes">1x</span>
298
+ <span class="cline-any cline-yes">1x</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-yes">1x</span>
301
+ <span class="cline-any cline-no">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-yes">1x</span>
304
+ <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
+ <span class="cline-any cline-yes">1x</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
312
  <span class="cline-any cline-yes">44x</span>
271
313
  <span class="cline-any cline-yes">1x</span>
272
314
  <span class="cline-any cline-yes">1x</span>
@@ -387,6 +429,27 @@ async function getTable(appId, tableId) {
387
429
  return ctx.body
388
430
  }
389
431
  &nbsp;
432
+ function typeCoercion(filters, table) {
433
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!filters || !table) {
434
+ <span class="cstat-no" title="statement not covered" > return filters</span>
435
+ }
436
+ for (let key of Object.keys(filters)) {
437
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof filters[key] === "object") {
438
+ for (let [property, value] of Object.entries(filters[key])) {
439
+ const column = table.schema[property]
440
+ // convert string inputs
441
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!column || typeof value !== "string") {
442
+ <span class="cstat-no" title="statement not covered" > continue</span>
443
+ }
444
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (column.type === FieldTypes.NUMBER) {
445
+ <span class="cstat-no" title="statement not covered" > filters[key][property] = parseFloat(value)</span>
446
+ }
447
+ }
448
+ }
449
+ }
450
+ return filters
451
+ }
452
+ &nbsp;
390
453
  exports.run = async function ({ inputs, appId }) {
391
454
  const { tableId, filters, sortColumn, sortOrder, limit } = inputs
392
455
  const table = await getTable(appId, tableId)
@@ -404,7 +467,7 @@ exports.run = async function ({ inputs, appId }) {
404
467
  sortType,
405
468
  limit,
406
469
  sort: sortColumn,
407
- query: filters || <span class="branch-1 cbranch-no" title="branch not covered" >{},</span>
470
+ query: typeCoercion(filters || <span class="branch-1 cbranch-no" title="branch not covered" >{},</span> table),
408
471
  // default to ascending, like data tab
409
472
  sortOrder: sortOrder || <span class="branch-1 cbranch-no" title="branch not covered" >SortOrders.ASCENDING,</span>
410
473
  },
@@ -430,7 +493,7 @@ exports.run = async function ({ inputs, appId }) {
430
493
  <div class='footer quiet pad2 space-top1 center small'>
431
494
  Code coverage generated by
432
495
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
433
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
496
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
434
497
  </div>
435
498
  <script src="../../prettify.js"></script>
436
499
  <script>
@@ -277,7 +277,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
277
277
  <div class='footer quiet pad2 space-top1 center small'>
278
278
  Code coverage generated by
279
279
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
280
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
280
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
281
281
  </div>
282
282
  <script src="../../prettify.js"></script>
283
283
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">50% </span>
26
+ <span class="strong">40% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>2/4</span>
28
+ <span class='fraction'>2/5</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">50% </span>
47
+ <span class="strong">40% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>2/4</span>
49
+ <span class='fraction'>2/5</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line low'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -108,7 +108,13 @@
108
108
  <a name='L43'></a><a href='#L43'>43</a>
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
112
118
  <span class="cline-any cline-neutral">&nbsp;</span>
113
119
  <span class="cline-any cline-neutral">&nbsp;</span>
114
120
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -147,9 +153,15 @@
147
153
  <span class="cline-any cline-neutral">&nbsp;</span>
148
154
  <span class="cline-any cline-neutral">&nbsp;</span>
149
155
  <span class="cline-any cline-neutral">&nbsp;</span>
156
+ <span class="cline-any cline-neutral">&nbsp;</span>
157
+ <span class="cline-any cline-neutral">&nbsp;</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
160
  <span class="cline-any cline-yes">44x</span>
151
161
  <span class="cline-any cline-no">&nbsp;</span>
152
162
  <span class="cline-any cline-no">&nbsp;</span>
163
+ <span class="cline-any cline-no">&nbsp;</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
153
165
  <span class="cline-any cline-neutral">&nbsp;</span>
154
166
  <span class="cline-any cline-neutral">&nbsp;</span>
155
167
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -186,16 +198,22 @@ exports.definition = {
186
198
  type: "boolean",
187
199
  description: "Whether the action was successful",
188
200
  },
201
+ message: {
202
+ type: "string",
203
+ description: "What was output",
204
+ },
189
205
  },
190
- required: ["success"],
206
+ required: ["success", "message"],
191
207
  },
192
208
  },
193
209
  }
194
210
  &nbsp;
195
211
  exports.run = <span class="fstat-no" title="function not covered" >as</span>ync function ({ inputs, appId }) {
196
- <span class="cstat-no" title="statement not covered" > console.log(`App ${appId} - ${inputs.text}`)</span>
212
+ const message = <span class="cstat-no" title="statement not covered" >`App ${appId} - ${inputs.text}`</span>
213
+ <span class="cstat-no" title="statement not covered" > console.log(message)</span>
197
214
  <span class="cstat-no" title="statement not covered" > return {</span>
198
215
  success: true,
216
+ message,
199
217
  }
200
218
  }
201
219
  &nbsp;</pre></td></tr></table></pre>
@@ -205,7 +223,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
205
223
  <div class='footer quiet pad2 space-top1 center small'>
206
224
  Code coverage generated by
207
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
226
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
209
227
  </div>
210
228
  <script src="../../prettify.js"></script>
211
229
  <script>
@@ -262,7 +262,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
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" rel="noopener noreferrer">istanbul</a>
265
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
265
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
266
266
  </div>
267
267
  <script src="../../prettify.js"></script>
268
268
  <script>
@@ -388,7 +388,7 @@ exports.run = async function ({ inputs, appId, emitter }) {
388
388
  <div class='footer quiet pad2 space-top1 center small'>
389
389
  Code coverage generated by
390
390
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
391
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
391
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
392
392
  </div>
393
393
  <script src="../../prettify.js"></script>
394
394
  <script>
@@ -190,7 +190,7 @@ exports.buildCtx = (appId, emitter, opts = <span class="branch-0 cbranch-no" tit
190
190
  <div class='footer quiet pad2 space-top1 center small'>
191
191
  Code coverage generated by
192
192
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
193
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
193
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
194
194
  </div>
195
195
  <script src="../../prettify.js"></script>
196
196
  <script>
@@ -322,7 +322,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
322
322
  <div class='footer quiet pad2 space-top1 center small'>
323
323
  Code coverage generated by
324
324
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
325
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
325
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
326
326
  </div>
327
327
  <script src="../../prettify.js"></script>
328
328
  <script>
@@ -166,7 +166,7 @@
166
166
  <div class='footer quiet pad2 space-top1 center small'>
167
167
  Code coverage generated by
168
168
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
169
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
169
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
170
170
  </div>
171
171
  <script src="../../prettify.js"></script>
172
172
  <script>
@@ -163,7 +163,7 @@
163
163
  <div class='footer quiet pad2 space-top1 center small'>
164
164
  Code coverage generated by
165
165
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
166
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
166
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
167
167
  </div>
168
168
  <script src="../../prettify.js"></script>
169
169
  <script>
@@ -191,7 +191,7 @@
191
191
  <div class='footer quiet pad2 space-top1 center small'>
192
192
  Code coverage generated by
193
193
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
194
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
195
195
  </div>
196
196
  <script src="../../prettify.js"></script>
197
197
  <script>
@@ -115,7 +115,7 @@ exports.definitions = {
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 Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
118
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
119
119
  </div>
120
120
  <script src="../../prettify.js"></script>
121
121
  <script>
@@ -166,7 +166,7 @@
166
166
  <div class='footer quiet pad2 space-top1 center small'>
167
167
  Code coverage generated by
168
168
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
169
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
169
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
170
170
  </div>
171
171
  <script src="../../prettify.js"></script>
172
172
  <script>
@@ -190,7 +190,7 @@
190
190
  <div class='footer quiet pad2 space-top1 center small'>
191
191
  Code coverage generated by
192
192
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
193
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
193
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
194
194
  </div>
195
195
  <script src="../../prettify.js"></script>
196
196
  <script>
@@ -190,7 +190,7 @@
190
190
  <div class='footer quiet pad2 space-top1 center small'>
191
191
  Code coverage generated by
192
192
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
193
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
193
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
194
194
  </div>
195
195
  <script src="../../prettify.js"></script>
196
196
  <script>
@@ -178,7 +178,7 @@
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at Thu Jul 28 2022 15:23:18 GMT+0000 (Coordinated Universal Time)
181
+ at Fri Jul 29 2022 18:36:05 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  <script src="../../prettify.js"></script>
184
184
  <script>