@budibase/server 1.1.29-alpha.2 → 1.1.31

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.82f8c305.css → index.192adf4c.css} +2 -2
  2. package/builder/assets/index.51767a56.js +978 -0
  3. package/builder/assets/{vendor.6bcafa60.js → vendor.162098da.js} +1 -1
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +247 -252
  6. package/coverage/coverage-final.json +9 -9
  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 +49 -94
  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 +1 -1
  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 +1 -1
  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 +2 -5
  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 +1 -1
  106. package/coverage/lcov-report/constants/index.html +1 -1
  107. package/coverage/lcov-report/constants/index.js.html +1 -1
  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 +1 -1
  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 +1 -1
  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 +48 -48
  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/threads/automation.js.html +1 -1
  136. package/coverage/lcov-report/threads/index.html +1 -1
  137. package/coverage/lcov-report/threads/query.js.html +1 -1
  138. package/coverage/lcov-report/threads/utils.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 +13 -67
  143. package/coverage/lcov-report/utilities/index.html +20 -20
  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 +2 -2
  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 +477 -485
  161. package/dist/api/controllers/query/index.js +1 -1
  162. package/dist/api/controllers/query/validation.js +1 -1
  163. package/dist/api/controllers/row/internalSearch.js +16 -30
  164. package/dist/api/routes/utils/validators.js +1 -1
  165. package/dist/automations/steps/queryRows.js +21 -1
  166. package/dist/automations/steps/serverLog.js +8 -2
  167. package/dist/integrations/base/sql.js +14 -43
  168. package/dist/package.json +8 -8
  169. package/dist/tsconfig.build.tsbuildinfo +1 -1
  170. package/dist/utilities/global.js +4 -21
  171. package/package.json +9 -9
  172. package/src/api/controllers/query/index.ts +1 -1
  173. package/src/api/controllers/query/validation.js +1 -1
  174. package/src/api/controllers/row/internalSearch.js +20 -35
  175. package/src/api/routes/tests/user.spec.js +0 -2
  176. package/src/api/routes/utils/validators.js +1 -1
  177. package/src/automations/steps/executeQuery.js +0 -1
  178. package/src/automations/steps/queryRows.js +22 -1
  179. package/src/automations/steps/serverLog.js +8 -2
  180. package/src/definitions/datasource.ts +0 -3
  181. package/src/integrations/base/sql.ts +13 -44
  182. package/src/integrations/tests/sql.spec.js +4 -50
  183. package/src/middleware/tests/currentapp.spec.js +0 -11
  184. package/src/utilities/global.js +2 -20
  185. package/builder/assets/index.ccc09948.js +0 -977
@@ -706,7 +706,7 @@ exports.squashLinksToPrimaryDisplay = async (table, enriched) => {
706
706
  <div class='footer quiet pad2 space-top1 center small'>
707
707
  Code coverage generated by
708
708
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
709
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
709
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
710
710
  </div>
711
711
  <script src="../../prettify.js"></script>
712
712
  <script>
@@ -418,7 +418,7 @@ exports.getRelatedTableForField = (table, fieldName) =&gt; {
418
418
  <div class='footer quiet pad2 space-top1 center small'>
419
419
  Code coverage generated by
420
420
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
421
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
421
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
422
422
  </div>
423
423
  <script src="../../prettify.js"></script>
424
424
  <script>
@@ -85,7 +85,7 @@ module.exports = function () {
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" rel="noopener noreferrer">istanbul</a>
88
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
88
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  <script src="../prettify.js"></script>
91
91
  <script>
@@ -1165,7 +1165,7 @@ exports.getMultiIDParams = ids =&gt; {
1165
1165
  <div class='footer quiet pad2 space-top1 center small'>
1166
1166
  Code coverage generated by
1167
1167
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1168
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
1168
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
1169
1169
  </div>
1170
1170
  <script src="../prettify.js"></script>
1171
1171
  <script>
@@ -223,7 +223,7 @@ module.exports = AutomationEmitter
223
223
  <div class='footer quiet pad2 space-top1 center small'>
224
224
  Code coverage generated by
225
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
226
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
226
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
227
227
  </div>
228
228
  <script src="../prettify.js"></script>
229
229
  <script>
@@ -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 Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
134
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
137
137
  <script>
@@ -160,7 +160,7 @@ module.exports = emitter
160
160
  <div class='footer quiet pad2 space-top1 center small'>
161
161
  Code coverage generated by
162
162
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
163
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
163
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
164
164
  </div>
165
165
  <script src="../prettify.js"></script>
166
166
  <script>
@@ -184,7 +184,7 @@ exports.tableEmission = ({ emitter, eventName, appId, table, metadata }) =&gt; {
184
184
  <div class='footer quiet pad2 space-top1 center small'>
185
185
  Code coverage generated by
186
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
187
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
187
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
188
188
  </div>
189
189
  <script src="../prettify.js"></script>
190
190
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">71.52% </span>
26
+ <span class="strong">71.98% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3193/4464</span>
28
+ <span class='fraction'>3210/4459</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">52.22% </span>
33
+ <span class="strong">52.79% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>962/1842</span>
35
+ <span class='fraction'>973/1843</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">69.4% </span>
40
+ <span class="strong">70.41% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>440/634</span>
42
+ <span class='fraction'>445/632</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">71.66% </span>
47
+ <span class="strong">72.13% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3147/4391</span>
49
+ <span class='fraction'>3164/4386</span>
50
50
  </div>
51
51
 
52
52
 
@@ -125,17 +125,17 @@
125
125
 
126
126
  <tr>
127
127
  <td class="file medium" data-value="api/controllers/row"><a href="api/controllers/row/index.html">api/controllers/row</a></td>
128
- <td data-value="56.74" class="pic medium">
128
+ <td data-value="56.91" class="pic medium">
129
129
  <div class="chart"><div class="cover-fill" style="width: 56%"></div><div class="cover-empty" style="width: 44%"></div></div>
130
130
  </td>
131
- <td data-value="56.74" class="pct medium">56.74%</td>
132
- <td data-value="645" class="abs medium">366/645</td>
133
- <td data-value="35.23" class="pct low">35.23%</td>
134
- <td data-value="298" class="abs low">105/298</td>
135
- <td data-value="51.11" class="pct medium">51.11%</td>
136
- <td data-value="90" class="abs medium">46/90</td>
137
- <td data-value="56.98" class="pct medium">56.98%</td>
138
- <td data-value="630" class="abs medium">359/630</td>
131
+ <td data-value="56.91" class="pct medium">56.91%</td>
132
+ <td data-value="636" class="abs medium">362/636</td>
133
+ <td data-value="35.61" class="pct low">35.61%</td>
134
+ <td data-value="292" class="abs low">104/292</td>
135
+ <td data-value="52.27" class="pct medium">52.27%</td>
136
+ <td data-value="88" class="abs medium">46/88</td>
137
+ <td data-value="57.16" class="pct medium">57.16%</td>
138
+ <td data-value="621" class="abs medium">355/621</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -215,17 +215,17 @@
215
215
 
216
216
  <tr>
217
217
  <td class="file medium" data-value="automations/steps"><a href="automations/steps/index.html">automations/steps</a></td>
218
- <td data-value="69.9" class="pic medium">
218
+ <td data-value="69.73" class="pic medium">
219
219
  <div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
220
220
  </td>
221
- <td data-value="69.9" class="pct medium">69.9%</td>
222
- <td data-value="216" class="abs medium">151/216</td>
223
- <td data-value="63.95" class="pct medium">63.95%</td>
224
- <td data-value="86" class="abs medium">55/86</td>
225
- <td data-value="50" class="pct medium">50%</td>
226
- <td data-value="18" class="abs medium">9/18</td>
227
- <td data-value="69.9" class="pct medium">69.9%</td>
228
- <td data-value="216" class="abs medium">151/216</td>
221
+ <td data-value="69.73" class="pct medium">69.73%</td>
222
+ <td data-value="228" class="abs medium">159/228</td>
223
+ <td data-value="64.28" class="pct medium">64.28%</td>
224
+ <td data-value="98" class="abs medium">63/98</td>
225
+ <td data-value="52.63" class="pct medium">52.63%</td>
226
+ <td data-value="19" class="abs medium">10/19</td>
227
+ <td data-value="69.73" class="pct medium">69.73%</td>
228
+ <td data-value="228" class="abs medium">159/228</td>
229
229
  </tr>
230
230
 
231
231
  <tr>
@@ -319,18 +319,18 @@
319
319
  </tr>
320
320
 
321
321
  <tr>
322
- <td class="file medium" data-value="middleware"><a href="middleware/index.html">middleware</a></td>
323
- <td data-value="76.08" class="pic medium">
324
- <div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
322
+ <td class="file high" data-value="middleware"><a href="middleware/index.html">middleware</a></td>
323
+ <td data-value="84.78" class="pic high">
324
+ <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
325
325
  </td>
326
- <td data-value="76.08" class="pct medium">76.08%</td>
327
- <td data-value="184" class="abs medium">140/184</td>
328
- <td data-value="72.35" class="pct medium">72.35%</td>
329
- <td data-value="123" class="abs medium">89/123</td>
330
- <td data-value="84" class="pct high">84%</td>
331
- <td data-value="25" class="abs high">21/25</td>
332
- <td data-value="76.08" class="pct medium">76.08%</td>
333
- <td data-value="184" class="abs medium">140/184</td>
326
+ <td data-value="84.78" class="pct high">84.78%</td>
327
+ <td data-value="184" class="abs high">156/184</td>
328
+ <td data-value="76.42" class="pct medium">76.42%</td>
329
+ <td data-value="123" class="abs medium">94/123</td>
330
+ <td data-value="100" class="pct high">100%</td>
331
+ <td data-value="25" class="abs high">25/25</td>
332
+ <td data-value="84.78" class="pct high">84.78%</td>
333
+ <td data-value="184" class="abs high">156/184</td>
334
334
  </tr>
335
335
 
336
336
  <tr>
@@ -350,17 +350,17 @@
350
350
 
351
351
  <tr>
352
352
  <td class="file medium" data-value="utilities"><a href="utilities/index.html">utilities</a></td>
353
- <td data-value="72.82" class="pic medium">
354
- <div class="chart"><div class="cover-fill" style="width: 72%"></div><div class="cover-empty" style="width: 28%"></div></div>
353
+ <td data-value="73.63" class="pic medium">
354
+ <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
355
355
  </td>
356
- <td data-value="72.82" class="pct medium">72.82%</td>
357
- <td data-value="357" class="abs medium">260/357</td>
358
- <td data-value="58.9" class="pct medium">58.9%</td>
359
- <td data-value="146" class="abs medium">86/146</td>
360
- <td data-value="70.58" class="pct medium">70.58%</td>
361
- <td data-value="68" class="abs medium">48/68</td>
362
- <td data-value="72.57" class="pct medium">72.57%</td>
363
- <td data-value="350" class="abs medium">254/350</td>
356
+ <td data-value="73.63" class="pct medium">73.63%</td>
357
+ <td data-value="349" class="abs medium">257/349</td>
358
+ <td data-value="60.28" class="pct medium">60.28%</td>
359
+ <td data-value="141" class="abs medium">85/141</td>
360
+ <td data-value="71.64" class="pct medium">71.64%</td>
361
+ <td data-value="67" class="abs medium">48/67</td>
362
+ <td data-value="73.39" class="pct medium">73.39%</td>
363
+ <td data-value="342" class="abs medium">251/342</td>
364
364
  </tr>
365
365
 
366
366
  <tr>
@@ -431,7 +431,7 @@
431
431
  <div class='footer quiet pad2 space-top1 center small'>
432
432
  Code coverage generated by
433
433
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
434
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
434
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
435
435
  </div>
436
436
  <script src="prettify.js"></script>
437
437
  <script>
@@ -70,7 +70,7 @@
70
70
  <div class='footer quiet pad2 space-top1 center small'>
71
71
  Code coverage generated by
72
72
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
73
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
73
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
74
74
  </div>
75
75
  <script src="../../prettify.js"></script>
76
76
  <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 Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
104
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -127,7 +127,7 @@ exports.middleware =
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" rel="noopener noreferrer">istanbul</a>
130
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
130
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
131
131
  </div>
132
132
  <script src="../prettify.js"></script>
133
133
  <script>
@@ -340,7 +340,7 @@ module.exports = async (ctx, permType) =&gt; {
340
340
  <div class='footer quiet pad2 space-top1 center small'>
341
341
  Code coverage generated by
342
342
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
343
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
343
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
344
344
  </div>
345
345
  <script src="../prettify.js"></script>
346
346
  <script>
@@ -475,7 +475,7 @@ module.exports = async (ctx, next) =&gt; {
475
475
  <div class='footer quiet pad2 space-top1 center small'>
476
476
  Code coverage generated by
477
477
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
478
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
478
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
479
479
  </div>
480
480
  <script src="../prettify.js"></script>
481
481
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">76.08% </span>
26
+ <span class="strong">84.78% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>140/184</span>
28
+ <span class='fraction'>156/184</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">72.35% </span>
33
+ <span class="strong">76.42% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>89/123</span>
35
+ <span class='fraction'>94/123</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">84% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>21/25</span>
42
+ <span class='fraction'>25/25</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">76.08% </span>
47
+ <span class="strong">84.78% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>140/184</span>
49
+ <span class='fraction'>156/184</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 high'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -124,18 +124,18 @@
124
124
  </tr>
125
125
 
126
126
  <tr>
127
- <td class="file low" data-value="joi-validator.js"><a href="joi-validator.js.html">joi-validator.js</a></td>
128
- <td data-value="0" class="pic low">
129
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
127
+ <td class="file high" data-value="joi-validator.js"><a href="joi-validator.js.html">joi-validator.js</a></td>
128
+ <td data-value="84.21" class="pic high">
129
+ <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
130
130
  </td>
131
- <td data-value="0" class="pct low">0%</td>
132
- <td data-value="19" class="abs low">0/19</td>
133
- <td data-value="0" class="pct low">0%</td>
134
- <td data-value="8" class="abs low">0/8</td>
135
- <td data-value="0" class="pct low">0%</td>
136
- <td data-value="4" class="abs low">0/4</td>
137
- <td data-value="0" class="pct low">0%</td>
138
- <td data-value="19" class="abs low">0/19</td>
131
+ <td data-value="84.21" class="pct high">84.21%</td>
132
+ <td data-value="19" class="abs high">16/19</td>
133
+ <td data-value="62.5" class="pct medium">62.5%</td>
134
+ <td data-value="8" class="abs medium">5/8</td>
135
+ <td data-value="100" class="pct high">100%</td>
136
+ <td data-value="4" class="abs high">4/4</td>
137
+ <td data-value="84.21" class="pct high">84.21%</td>
138
+ <td data-value="19" class="abs high">16/19</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -206,7 +206,7 @@
206
206
  <div class='footer quiet pad2 space-top1 center small'>
207
207
  Code coverage generated by
208
208
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
209
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
209
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
210
210
  </div>
211
211
  <script src="../prettify.js"></script>
212
212
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">84.21% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/19</span>
28
+ <span class='fraction'>16/19</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">62.5% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/8</span>
35
+ <span class='fraction'>5/8</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/4</span>
42
+ <span class='fraction'>4/4</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">84.21% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/19</span>
49
+ <span class='fraction'>16/19</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 low'></div>
64
+ <div class='status-line high'></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>
@@ -99,77 +99,77 @@
99
99
  <a name='L34'></a><a href='#L34'>34</a>
100
100
  <a name='L35'></a><a href='#L35'>35</a>
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
102
+ <a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-no">&nbsp;</span>
107
- <span class="cline-any cline-no">&nbsp;</span>
106
+ <span class="cline-any cline-yes">594x</span>
107
+ <span class="cline-any cline-yes">52x</span>
108
108
  <span class="cline-any cline-no">&nbsp;</span>
109
109
  <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-no">&nbsp;</span>
111
- <span class="cline-any cline-no">&nbsp;</span>
112
- <span class="cline-any cline-no">&nbsp;</span>
113
- <span class="cline-any cline-no">&nbsp;</span>
114
- <span class="cline-any cline-no">&nbsp;</span>
110
+ <span class="cline-any cline-yes">52x</span>
111
+ <span class="cline-any cline-yes">52x</span>
112
+ <span class="cline-any cline-yes">1x</span>
113
+ <span class="cline-any cline-yes">51x</span>
114
+ <span class="cline-any cline-yes">51x</span>
115
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-no">&nbsp;</span>
117
+ <span class="cline-any cline-yes">52x</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span>
119
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
121
  <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-no">&nbsp;</span>
123
- <span class="cline-any cline-no">&nbsp;</span>
122
+ <span class="cline-any cline-yes">52x</span>
123
+ <span class="cline-any cline-yes">52x</span>
124
124
  <span class="cline-any cline-no">&nbsp;</span>
125
125
  <span class="cline-any cline-no">&nbsp;</span>
126
126
  <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-no">&nbsp;</span>
127
+ <span class="cline-any cline-yes">52x</span>
128
128
  <span class="cline-any cline-neutral">&nbsp;</span>
129
129
  <span class="cline-any cline-neutral">&nbsp;</span>
130
130
  <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-no">&nbsp;</span>
132
- <span class="cline-any cline-no">&nbsp;</span>
131
+ <span class="cline-any cline-yes">44x</span>
132
+ <span class="cline-any cline-yes">540x</span>
133
133
  <span class="cline-any cline-neutral">&nbsp;</span>
134
134
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-no">&nbsp;</span>
136
- <span class="cline-any cline-no">&nbsp;</span>
135
+ <span class="cline-any cline-yes">44x</span>
136
+ <span class="cline-any cline-yes">54x</span>
137
137
  <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Joi = <span class="cstat-no" title="statement not covered" >require("joi")</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Joi = require("joi")
139
139
  &nbsp;
140
- function <span class="fstat-no" title="function not covered" >validate(</span>schema, property) {
140
+ function validate(schema, property) {
141
141
  // Return a Koa middleware function
142
- <span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >(c</span>tx, next) =&gt; {</span>
143
- <span class="cstat-no" title="statement not covered" > if (!schema) {</span>
142
+ return (ctx, next) =&gt; {
143
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!schema) {
144
144
  <span class="cstat-no" title="statement not covered" > return next()</span>
145
145
  }
146
- let params = <span class="cstat-no" title="statement not covered" >null</span>
147
- <span class="cstat-no" title="statement not covered" > if (ctx[property] != null) {</span>
148
- <span class="cstat-no" title="statement not covered" > params = ctx[property]</span>
149
- } else <span class="cstat-no" title="statement not covered" >if (ctx.request[property] != null) {</span>
150
- <span class="cstat-no" title="statement not covered" > params = ctx.request[property]</span>
146
+ let params = null
147
+ if (ctx[property] != null) {
148
+ params = ctx[property]
149
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>if (ctx.request[property] != null) {
150
+ params = ctx.request[property]
151
151
  }
152
152
  &nbsp;
153
- <span class="cstat-no" title="statement not covered" > schema = schema.append({</span>
153
+ schema = schema.append({
154
154
  createdAt: Joi.any().optional(),
155
155
  updatedAt: Joi.any().optional(),
156
156
  })
157
157
  &nbsp;
158
- const { error } = <span class="cstat-no" title="statement not covered" >schema.validate(params)</span>
159
- <span class="cstat-no" title="statement not covered" > if (error) {</span>
158
+ const { error } = schema.validate(params)
159
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (error) {
160
160
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, `Invalid ${property} - ${error.message}`)</span>
161
161
  <span class="cstat-no" title="statement not covered" > return</span>
162
162
  }
163
- <span class="cstat-no" title="statement not covered" > return next()</span>
163
+ return next()
164
164
  }
165
165
  }
166
166
  &nbsp;
167
- <span class="cstat-no" title="statement not covered" >module.exports.body = <span class="fstat-no" title="function not covered" >sc</span>hema =&gt; {</span>
168
- <span class="cstat-no" title="statement not covered" > return validate(schema, "body")</span>
167
+ module.exports.body = schema =&gt; {
168
+ return validate(schema, "body")
169
169
  }
170
170
  &nbsp;
171
- <span class="cstat-no" title="statement not covered" >module.exports.params = <span class="fstat-no" title="function not covered" >sc</span>hema =&gt; {</span>
172
- <span class="cstat-no" title="statement not covered" > return validate(schema, "params")</span>
171
+ module.exports.params = schema =&gt; {
172
+ return validate(schema, "params")
173
173
  }
174
174
  &nbsp;</pre></td></tr></table></pre>
175
175
 
@@ -178,7 +178,7 @@ function <span class="fstat-no" title="function not covered" >validate(</span>sc
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 Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
181
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  <script src="../prettify.js"></script>
184
184
  <script>
@@ -133,7 +133,7 @@ module.exports = function ({ requiresAppId } = <span class="branch-0 cbranch-no"
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
136
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  <script src="../prettify.js"></script>
139
139
  <script>
@@ -253,7 +253,7 @@ module.exports.bodySubResource = (main, sub) =&gt; {
253
253
  <div class='footer quiet pad2 space-top1 center small'>
254
254
  Code coverage generated by
255
255
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
256
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
256
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
257
257
  </div>
258
258
  <script src="../prettify.js"></script>
259
259
  <script>
@@ -100,7 +100,7 @@ module.exports = async (ctx, next) =&gt; {
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 Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
103
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  <script src="../prettify.js"></script>
106
106
  <script>
@@ -91,7 +91,7 @@ exports.isWebhookEndpoint = ctx =&gt; {
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 Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
94
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  <script src="../prettify.js"></script>
97
97
  <script>
@@ -1099,7 +1099,7 @@ module.exports = (input, callback) =&gt; {
1099
1099
  <div class='footer quiet pad2 space-top1 center small'>
1100
1100
  Code coverage generated by
1101
1101
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1102
- at Fri Jul 29 2022 13:06:46 GMT+0000 (Coordinated Universal Time)
1102
+ at Fri Jul 29 2022 14:56:44 GMT+0000 (Coordinated Universal Time)
1103
1103
  </div>
1104
1104
  <script src="../prettify.js"></script>
1105
1105
  <script>