@budibase/server 2.0.38 → 2.0.40-alpha.0

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 (295) hide show
  1. package/__mocks__/mongodb.ts +1 -1
  2. package/__mocks__/node-fetch.ts +12 -2
  3. package/builder/assets/backups-default.8c011f1b.png +0 -0
  4. package/builder/assets/{index.e0ddd30b.css → index.442de33f.css} +2 -2
  5. package/builder/assets/{index.598a950c.js → index.d7b4247d.js} +342 -334
  6. package/builder/index.html +2 -2
  7. package/coverage/clover.xml +1125 -1250
  8. package/coverage/coverage-final.json +73 -77
  9. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  10. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +79 -67
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/dev.js.html +21 -21
  14. package/coverage/lcov-report/api/controllers/index.html +17 -47
  15. package/coverage/lcov-report/api/controllers/integration.js.html +4 -4
  16. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
  18. package/coverage/lcov-report/api/controllers/migrations.js.html +4 -4
  19. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/validation.js.html +4 -4
  22. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  24. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/internal.js.html +13 -13
  27. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +15 -15
  29. package/coverage/lcov-report/api/controllers/row/utils.js.html +13 -13
  30. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +12 -9
  32. package/coverage/lcov-report/api/controllers/table/external.js.html +10 -10
  33. package/coverage/lcov-report/api/controllers/table/index.html +16 -16
  34. package/coverage/lcov-report/api/controllers/table/index.js.html +5 -5
  35. package/coverage/lcov-report/api/controllers/templates.js.html +6 -6
  36. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/index.js.html +3 -3
  40. package/coverage/lcov-report/api/controllers/view/utils.js.html +13 -13
  41. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +8 -8
  42. package/coverage/lcov-report/api/index.html +1 -1
  43. package/coverage/lcov-report/api/index.js.html +30 -30
  44. package/coverage/lcov-report/api/routes/analytics.js.html +7 -7
  45. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  46. package/coverage/lcov-report/api/routes/automation.js.html +11 -11
  47. package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
  48. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  49. package/coverage/lcov-report/api/routes/datasource.js.html +9 -9
  50. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  51. package/coverage/lcov-report/api/routes/dev.js.html +13 -13
  52. package/coverage/lcov-report/api/routes/index.html +5 -35
  53. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  54. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  55. package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
  56. package/coverage/lcov-report/api/routes/migrations.js.html +7 -7
  57. package/coverage/lcov-report/api/routes/permission.js.html +9 -9
  58. package/coverage/lcov-report/api/routes/query.js.html +10 -10
  59. package/coverage/lcov-report/api/routes/role.js.html +9 -9
  60. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  61. package/coverage/lcov-report/api/routes/screen.js.html +9 -9
  62. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/table.js.html +10 -10
  64. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  65. package/coverage/lcov-report/api/routes/user.js.html +8 -8
  66. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  67. package/coverage/lcov-report/api/routes/utils/validators.js.html +45 -45
  68. package/coverage/lcov-report/api/routes/view.js.html +10 -10
  69. package/coverage/lcov-report/automations/actions.js.html +1 -1
  70. package/coverage/lcov-report/automations/automationUtils.js.html +6 -6
  71. package/coverage/lcov-report/automations/bullboard.js.html +24 -84
  72. package/coverage/lcov-report/automations/index.html +21 -21
  73. package/coverage/lcov-report/automations/index.js.html +9 -9
  74. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  75. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  76. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  77. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/index.html +15 -15
  81. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/updateRow.js.html +3 -3
  89. package/coverage/lcov-report/automations/steps/utils.js.html +10 -10
  90. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  91. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  92. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  93. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  94. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggers.js.html +49 -49
  100. package/coverage/lcov-report/constants/index.html +5 -5
  101. package/coverage/lcov-report/constants/index.js.html +10 -28
  102. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  103. package/coverage/lcov-report/constants/screens.js.html +1 -1
  104. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  105. package/coverage/lcov-report/db/index.html +19 -19
  106. package/coverage/lcov-report/db/index.js.html +1 -1
  107. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +17 -17
  108. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  109. package/coverage/lcov-report/db/linkedRows/index.js.html +28 -28
  110. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +15 -15
  111. package/coverage/lcov-report/db/newid.js.html +2 -2
  112. package/coverage/lcov-report/db/utils.js.html +37 -316
  113. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  114. package/coverage/lcov-report/events/index.html +1 -1
  115. package/coverage/lcov-report/events/index.js.html +3 -3
  116. package/coverage/lcov-report/events/utils.js.html +9 -9
  117. package/coverage/lcov-report/index.html +88 -88
  118. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  119. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  120. package/coverage/lcov-report/middleware/appInfo.js.html +5 -5
  121. package/coverage/lcov-report/middleware/builder.js.html +19 -19
  122. package/coverage/lcov-report/middleware/currentapp.js.html +49 -49
  123. package/coverage/lcov-report/middleware/index.html +1 -1
  124. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  125. package/coverage/lcov-report/middleware/publicApi.js.html +5 -5
  126. package/coverage/lcov-report/middleware/resourceId.js.html +28 -28
  127. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  128. package/coverage/lcov-report/middleware/utils.js.html +4 -4
  129. package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
  130. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  131. package/coverage/lcov-report/utilities/csvParser.js.html +15 -12
  132. package/coverage/lcov-report/utilities/global.js.html +31 -31
  133. package/coverage/lcov-report/utilities/index.html +28 -28
  134. package/coverage/lcov-report/utilities/index.js.html +8 -8
  135. package/coverage/lcov-report/utilities/plugins.js.html +1 -1
  136. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +52 -52
  137. package/coverage/lcov-report/utilities/queue/index.html +21 -21
  138. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  139. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  140. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  141. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +72 -57
  142. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +15 -15
  143. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  144. package/coverage/lcov-report/utilities/security.js.html +2 -2
  145. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  146. package/coverage/lcov-report/utilities/usageQuota/index.html +14 -14
  147. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +23 -11
  148. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  149. package/coverage/lcov-report/utilities/users.js.html +1 -1
  150. package/coverage/lcov-report/utilities/workerRequests.js.html +46 -46
  151. package/coverage/lcov.info +1691 -1899
  152. package/dist/api/controllers/application.js +4 -7
  153. package/dist/api/controllers/backup.js +19 -13
  154. package/dist/api/controllers/cloud.js +38 -35
  155. package/dist/api/controllers/deploy/index.js +11 -2
  156. package/dist/api/controllers/dev.js +1 -1
  157. package/dist/api/controllers/query/index.js +7 -2
  158. package/dist/api/controllers/row/index.js +40 -66
  159. package/dist/api/controllers/row/internal.js +1 -1
  160. package/dist/api/controllers/static/index.js +3 -2
  161. package/dist/api/controllers/static/templates/BudibaseApp.svelte +11 -0
  162. package/dist/api/controllers/static/templates/preview.hbs +10 -0
  163. package/dist/api/controllers/table/bulkFormula.js +4 -3
  164. package/dist/api/controllers/table/external.js +5 -4
  165. package/dist/api/controllers/table/index.js +4 -4
  166. package/dist/api/controllers/table/internal.js +10 -3
  167. package/dist/api/controllers/table/utils.js +7 -49
  168. package/dist/api/controllers/view/index.js +2 -2
  169. package/dist/api/controllers/webhook.js +88 -89
  170. package/dist/api/routes/backup.js +34 -7
  171. package/dist/api/routes/index.js +9 -4
  172. package/dist/api/routes/utils/validators.js +2 -2
  173. package/dist/api/routes/webhook.js +39 -11
  174. package/dist/app.js +2 -68
  175. package/dist/automations/automationUtils.js +2 -2
  176. package/dist/automations/bullboard.js +12 -35
  177. package/dist/automations/index.js +4 -4
  178. package/dist/automations/steps/updateRow.js +2 -2
  179. package/dist/automations/triggers.js +6 -6
  180. package/dist/automations/utils.js +23 -49
  181. package/dist/constants/index.js +4 -8
  182. package/dist/db/utils.js +10 -75
  183. package/dist/index.js +1 -0
  184. package/dist/integrations/arangodb.js +2 -0
  185. package/dist/integrations/base/sqlTable.js +1 -0
  186. package/dist/integrations/mongodb.js +300 -11
  187. package/dist/integrations/rest.js +38 -5
  188. package/dist/migrations/functions/backfill/app/tables.js +5 -8
  189. package/dist/migrations/functions/{quotas1.js → syncQuotas.js} +3 -7
  190. package/dist/migrations/functions/usageQuotas/syncApps.js +0 -1
  191. package/dist/migrations/functions/{pluginCount.js → usageQuotas/syncPlugins.js} +1 -3
  192. package/dist/migrations/functions/usageQuotas/syncRows.js +9 -5
  193. package/dist/migrations/index.js +10 -38
  194. package/dist/package.json +14 -14
  195. package/dist/sdk/app/automations/index.js +29 -0
  196. package/dist/sdk/app/automations/webhook.js +54 -0
  197. package/dist/sdk/app/backups/constants.js +5 -0
  198. package/dist/sdk/app/backups/exports.js +172 -0
  199. package/dist/sdk/app/backups/imports.js +190 -0
  200. package/dist/sdk/app/backups/index.js +29 -0
  201. package/dist/sdk/app/backups/statistics.js +73 -0
  202. package/dist/sdk/app/tables/index.js +61 -0
  203. package/dist/sdk/index.js +17 -0
  204. package/dist/startup.js +152 -0
  205. package/dist/tests/utilities/TestConfiguration.js +12 -2
  206. package/dist/threads/automation.js +12 -17
  207. package/dist/tsconfig.build.tsbuildinfo +1 -1
  208. package/dist/utilities/csvParser.js +1 -0
  209. package/dist/utilities/fileSystem/index.js +3 -95
  210. package/dist/utilities/fileSystem/utilities.js +2 -1
  211. package/dist/utilities/rowProcessor/index.js +5 -0
  212. package/dist/utilities/usageQuota/rows.js +6 -4
  213. package/package.json +15 -15
  214. package/specs/openapi.json +3 -0
  215. package/specs/openapi.yaml +3 -0
  216. package/src/api/controllers/application.ts +5 -12
  217. package/src/api/controllers/{backup.js → backup.ts} +7 -7
  218. package/src/api/controllers/cloud.js +44 -40
  219. package/src/api/controllers/deploy/index.ts +20 -8
  220. package/src/api/controllers/dev.js +1 -1
  221. package/src/api/controllers/query/index.ts +8 -2
  222. package/src/api/controllers/row/index.ts +50 -65
  223. package/src/api/controllers/row/internal.js +1 -1
  224. package/src/api/controllers/static/index.ts +4 -2
  225. package/src/api/controllers/static/templates/BudibaseApp.svelte +11 -0
  226. package/src/api/controllers/static/templates/preview.hbs +10 -0
  227. package/src/api/controllers/table/bulkFormula.js +4 -3
  228. package/src/api/controllers/table/external.js +4 -4
  229. package/src/api/controllers/table/index.js +4 -4
  230. package/src/api/controllers/table/internal.ts +8 -9
  231. package/src/api/controllers/table/utils.ts +4 -53
  232. package/src/api/controllers/view/index.js +2 -2
  233. package/src/api/controllers/{webhook.js → webhook.ts} +33 -48
  234. package/src/api/routes/backup.ts +10 -0
  235. package/src/api/routes/index.ts +11 -5
  236. package/src/api/routes/tests/backup.spec.js +1 -1
  237. package/src/api/routes/tests/{deployment.spec.js → deployment.spec.ts} +4 -4
  238. package/src/api/routes/tests/row.spec.js +22 -27
  239. package/src/api/routes/utils/validators.js +2 -2
  240. package/src/api/routes/{webhook.js → webhook.ts} +7 -6
  241. package/src/app.ts +3 -91
  242. package/src/automations/automationUtils.js +2 -2
  243. package/src/automations/bullboard.js +14 -34
  244. package/src/automations/index.js +4 -4
  245. package/src/automations/steps/updateRow.js +2 -2
  246. package/src/automations/tests/automation.spec.js +1 -6
  247. package/src/automations/triggers.js +6 -6
  248. package/src/automations/utils.ts +30 -32
  249. package/src/constants/index.js +4 -10
  250. package/src/db/utils.js +17 -110
  251. package/src/definitions/automations.ts +1 -18
  252. package/src/definitions/datasource.ts +1 -0
  253. package/src/index.ts +1 -0
  254. package/src/integrations/arangodb.ts +2 -0
  255. package/src/integrations/base/sqlTable.ts +1 -0
  256. package/src/integrations/mongodb.ts +290 -27
  257. package/src/integrations/rest.ts +17 -5
  258. package/src/integrations/tests/mongo.spec.ts +19 -19
  259. package/src/integrations/tests/rest.spec.ts +38 -22
  260. package/src/migrations/functions/backfill/app/tables.ts +7 -13
  261. package/src/migrations/functions/backfill/global.ts +1 -1
  262. package/src/migrations/functions/{quotas1.ts → syncQuotas.ts} +3 -8
  263. package/src/migrations/functions/tests/{quotas1.spec.js → syncQuotas.spec.js} +6 -5
  264. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +6 -4
  265. package/src/migrations/functions/usageQuotas/syncApps.ts +0 -1
  266. package/src/migrations/functions/usageQuotas/syncPlugins.ts +10 -0
  267. package/src/migrations/functions/usageQuotas/syncRows.ts +15 -6
  268. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +9 -1
  269. package/src/migrations/index.ts +21 -45
  270. package/src/migrations/tests/index.spec.ts +0 -1
  271. package/src/sdk/app/automations/index.ts +5 -0
  272. package/src/sdk/app/automations/webhook.ts +43 -0
  273. package/src/sdk/app/backups/constants.ts +2 -0
  274. package/src/sdk/app/backups/exports.ts +171 -0
  275. package/src/sdk/app/backups/imports.ts +206 -0
  276. package/src/sdk/app/backups/index.ts +9 -0
  277. package/src/sdk/app/backups/statistics.ts +78 -0
  278. package/src/sdk/app/tables/index.ts +61 -0
  279. package/src/sdk/index.ts +15 -0
  280. package/src/startup.ts +138 -0
  281. package/src/tests/utilities/TestConfiguration.js +12 -2
  282. package/src/threads/automation.ts +20 -27
  283. package/src/utilities/csvParser.js +1 -0
  284. package/src/utilities/fileSystem/index.js +2 -119
  285. package/src/utilities/fileSystem/utilities.js +2 -0
  286. package/src/utilities/rowProcessor/index.js +5 -0
  287. package/src/utilities/usageQuota/rows.js +7 -3
  288. package/coverage/lcov-report/api/controllers/backup.js.html +0 -142
  289. package/coverage/lcov-report/api/controllers/webhook.js.html +0 -424
  290. package/coverage/lcov-report/api/routes/backup.js.html +0 -115
  291. package/coverage/lcov-report/api/routes/webhook.js.html +0 -163
  292. package/dist/automations/listeners.js +0 -102
  293. package/src/api/routes/backup.js +0 -10
  294. package/src/automations/listeners.ts +0 -78
  295. package/src/migrations/functions/pluginCount.ts +0 -12
@@ -292,7 +292,7 @@ exports.ACTION_DEFINITIONS = ACTION_DEFINITIONS
292
292
  <div class='footer quiet pad2 space-top1 center small'>
293
293
  Code coverage generated by
294
294
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
295
- at Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
295
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
296
296
  </div>
297
297
  <script src="../prettify.js"></script>
298
298
  <script>
@@ -187,12 +187,12 @@
187
187
  <a name='L122'></a><a href='#L122'>122</a>
188
188
  <a name='L123'></a><a href='#L123'>123</a>
189
189
  <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <a name='L125'></a><a href='#L125'>125</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
192
191
  <span class="cline-any cline-neutral">&nbsp;</span>
193
192
  <span class="cline-any cline-neutral">&nbsp;</span>
194
193
  <span class="cline-any cline-neutral">&nbsp;</span>
195
194
  <span class="cline-any cline-yes">46x</span>
195
+ <span class="cline-any cline-yes">46x</span>
196
196
  <span class="cline-any cline-neutral">&nbsp;</span>
197
197
  <span class="cline-any cline-neutral">&nbsp;</span>
198
198
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -311,12 +311,12 @@
311
311
  <span class="cline-any cline-neutral">&nbsp;</span>
312
312
  <span class="cline-any cline-no">&nbsp;</span>
313
313
  <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getTable } = require("../api/controllers/table/utils")
315
- const {
314
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
316
315
  decodeJSBinding,
317
316
  isJSBinding,
318
317
  encodeJSBinding,
319
318
  } = require("@budibase/string-templates")
319
+ const sdk = require("../sdk")
320
320
  &nbsp;
321
321
  /**
322
322
  * When values are input to the system generally they will be of type string as this is required for template strings.
@@ -376,7 +376,7 @@ exports.cleanInputValues = (inputs, schema) =&gt; {
376
376
  * @returns {Promise&lt;Object&gt;} The cleaned up rows object, will should now have all the required primitive types.
377
377
  */
378
378
  exports.cleanUpRow = async (tableId, row) =&gt; {
379
- let table = await getTable(tableId)
379
+ let table = await sdk.tables.getTable(tableId)
380
380
  return exports.cleanInputValues(row, { properties: table.schema })
381
381
  }
382
382
  &nbsp;
@@ -442,7 +442,7 @@ exports.stringSplit = <span class="fstat-no" title="function not covered" >va</s
442
442
  <div class='footer quiet pad2 space-top1 center small'>
443
443
  Code coverage generated by
444
444
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
445
- at Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
445
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
446
446
  </div>
447
447
  <script src="../prettify.js"></script>
448
448
  <script>
@@ -23,30 +23,30 @@
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">47.82% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>18/36</span>
28
+ <span class='fraction'>11/23</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">37.5% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>3/8</span>
35
+ <span class='fraction'>0/2</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/4</span>
42
+ <span class='fraction'>0/2</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">50% </span>
47
+ <span class="strong">47.82% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>18/36</span>
49
+ <span class='fraction'>11/23</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>
@@ -102,47 +102,16 @@
102
102
  <a name='L37'></a><a href='#L37'>37</a>
103
103
  <a name='L38'></a><a href='#L38'>38</a>
104
104
  <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
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>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
126
- <span class="cline-any cline-yes">45x</span>
127
- <span class="cline-any cline-yes">45x</span>
128
- <span class="cline-any cline-yes">45x</span>
129
- <span class="cline-any cline-yes">45x</span>
130
- <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
132
106
  <span class="cline-any cline-yes">45x</span>
133
107
  <span class="cline-any cline-yes">45x</span>
134
108
  <span class="cline-any cline-yes">45x</span>
135
109
  <span class="cline-any cline-yes">45x</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-yes">45x</span>
138
- <span class="cline-any cline-yes">45x</span>
139
110
  <span class="cline-any cline-yes">45x</span>
140
111
  <span class="cline-any cline-neutral">&nbsp;</span>
141
112
  <span class="cline-any cline-yes">45x</span>
142
- <span class="cline-any cline-yes">45x</span>
143
113
  <span class="cline-any cline-neutral">&nbsp;</span>
144
114
  <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-no">&nbsp;</span>
146
115
  <span class="cline-any cline-neutral">&nbsp;</span>
147
116
  <span class="cline-any cline-neutral">&nbsp;</span>
148
117
  <span class="cline-any cline-yes">45x</span>
@@ -151,13 +120,9 @@
151
120
  <span class="cline-any cline-neutral">&nbsp;</span>
152
121
  <span class="cline-any cline-no">&nbsp;</span>
153
122
  <span class="cline-any cline-no">&nbsp;</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
123
  <span class="cline-any cline-no">&nbsp;</span>
156
124
  <span class="cline-any cline-no">&nbsp;</span>
157
125
  <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>
160
- <span class="cline-any cline-no">&nbsp;</span>
161
126
  <span class="cline-any cline-no">&nbsp;</span>
162
127
  <span class="cline-any cline-no">&nbsp;</span>
163
128
  <span class="cline-any cline-no">&nbsp;</span>
@@ -173,50 +138,30 @@
173
138
  <span class="cline-any cline-neutral">&nbsp;</span>
174
139
  <span class="cline-any cline-yes">45x</span>
175
140
  <span class="cline-any cline-no">&nbsp;</span>
176
- <span class="cline-any cline-no">&nbsp;</span>
177
- <span class="cline-any cline-no">&nbsp;</span>
178
- <span class="cline-any cline-no">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-no">&nbsp;</span>
181
141
  <span class="cline-any cline-neutral">&nbsp;</span>
182
142
  <span class="cline-any cline-neutral">&nbsp;</span>
183
143
  <span class="cline-any cline-yes">45x</span>
184
144
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { createBullBoard } = require("@bull-board/api")
185
145
  const { BullAdapter } = require("@bull-board/api/bullAdapter")
186
146
  const { KoaAdapter } = require("@bull-board/koa")
187
- const env = require("../environment")
188
- const Queue = env.isTest()
189
- ? require("../utilities/queue/inMemoryQueue")
190
- : <span class="branch-1 cbranch-no" title="branch not covered" >require("bull")</span>
191
- const { JobQueues } = require("../constants")
192
- const { utils } = require("@budibase/backend-core/redis")
193
- const { opts, redisProtocolUrl } = utils.getRedisOptions()
194
- const listeners = require("./listeners")
147
+ const { queue } = require("@budibase/backend-core")
148
+ const automation = require("../threads/automation")
149
+ const { backups } = require("@budibase/pro")
195
150
  &nbsp;
196
- const CLEANUP_PERIOD_MS = 60 * 1000
197
- const queueConfig = redisProtocolUrl || { redis: opts }
198
- let cleanupInternal = null
199
- &nbsp;
200
- let automationQueue = new Queue(JobQueues.AUTOMATIONS, queueConfig)
201
- listeners.addListeners(automationQueue)
202
- &nbsp;
203
- async function <span class="fstat-no" title="function not covered" >cleanup(</span>) {
204
- <span class="cstat-no" title="statement not covered" > await automationQueue.clean(CLEANUP_PERIOD_MS, "completed")</span>
205
- }
151
+ let automationQueue = queue.createQueue(
152
+ queue.JobQueue.AUTOMATION,
153
+ automation.removeStalled
154
+ )
206
155
  &nbsp;
207
156
  const PATH_PREFIX = "/bulladmin"
208
157
  &nbsp;
209
- exports.init = <span class="fstat-no" title="function not covered" >()</span> =&gt; {
210
- // cleanup the events every 5 minutes
211
- <span class="cstat-no" title="statement not covered" > if (!cleanupInternal) {</span>
212
- <span class="cstat-no" title="statement not covered" > cleanupInternal = setInterval(cleanup, CLEANUP_PERIOD_MS)</span>
213
- // fire off an initial cleanup
214
- <span class="cstat-no" title="statement not covered" > cleanup().catch(<span class="fstat-no" title="function not covered" >er</span>r =&gt; {</span>
215
- <span class="cstat-no" title="statement not covered" > console.error(`Unable to cleanup automation queue initially - ${err}`)</span>
216
- })
217
- }
158
+ exports.init = <span class="fstat-no" title="function not covered" >as</span>ync () =&gt; {
218
159
  // Set up queues for bull board admin
160
+ const backupQueue = <span class="cstat-no" title="statement not covered" >await backups.getBackupQueue()</span>
219
161
  const queues = <span class="cstat-no" title="statement not covered" >[automationQueue]</span>
162
+ <span class="cstat-no" title="statement not covered" > if (backupQueue) {</span>
163
+ <span class="cstat-no" title="statement not covered" > queues.push(backupQueue)</span>
164
+ }
220
165
  const adapters = <span class="cstat-no" title="statement not covered" >[]</span>
221
166
  const serverAdapter = <span class="cstat-no" title="statement not covered" >new KoaAdapter()</span>
222
167
  <span class="cstat-no" title="statement not covered" > for (let queue of queues) {</span>
@@ -231,15 +176,10 @@ exports.init = <span class="fstat-no" title="function not covered" >()</span> =&
231
176
  }
232
177
  &nbsp;
233
178
  exports.shutdown = <span class="fstat-no" title="function not covered" >as</span>ync () =&gt; {
234
- <span class="cstat-no" title="statement not covered" > if (automationQueue) {</span>
235
- <span class="cstat-no" title="statement not covered" > clearInterval(cleanupInternal)</span>
236
- <span class="cstat-no" title="statement not covered" > await automationQueue.close()</span>
237
- <span class="cstat-no" title="statement not covered" > automationQueue = null</span>
238
- }
239
- <span class="cstat-no" title="statement not covered" > console.log("Bull shutdown")</span>
179
+ <span class="cstat-no" title="statement not covered" > await queue.shutdown()</span>
240
180
  }
241
181
  &nbsp;
242
- exports.queue = automationQueue
182
+ exports.automationQueue = automationQueue
243
183
  &nbsp;</pre></td></tr></table></pre>
244
184
 
245
185
  <div class='push'></div><!-- for sticky footer -->
@@ -247,7 +187,7 @@ exports.queue = automationQueue
247
187
  <div class='footer quiet pad2 space-top1 center small'>
248
188
  Code coverage generated by
249
189
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
250
- at Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
190
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
251
191
  </div>
252
192
  <script src="../prettify.js"></script>
253
193
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">82% </span>
26
+ <span class="strong">83.95% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>164/200</span>
28
+ <span class='fraction'>157/187</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">69.04% </span>
33
+ <span class="strong">70.88% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>58/84</span>
35
+ <span class='fraction'>56/79</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">70.83% </span>
40
+ <span class="strong">77.27% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>17/24</span>
42
+ <span class='fraction'>17/22</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">81.9% </span>
47
+ <span class="strong">83.87% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>163/199</span>
49
+ <span class='fraction'>156/186</span>
50
50
  </div>
51
51
 
52
52
 
@@ -109,18 +109,18 @@
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file medium" data-value="bullboard.js"><a href="bullboard.js.html">bullboard.js</a></td>
113
- <td data-value="50" class="pic medium">
114
- <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
112
+ <td class="file low" data-value="bullboard.js"><a href="bullboard.js.html">bullboard.js</a></td>
113
+ <td data-value="47.82" class="pic low">
114
+ <div class="chart"><div class="cover-fill" style="width: 47%"></div><div class="cover-empty" style="width: 53%"></div></div>
115
115
  </td>
116
- <td data-value="50" class="pct medium">50%</td>
117
- <td data-value="36" class="abs medium">18/36</td>
118
- <td data-value="37.5" class="pct low">37.5%</td>
119
- <td data-value="8" class="abs low">3/8</td>
116
+ <td data-value="47.82" class="pct low">47.82%</td>
117
+ <td data-value="23" class="abs low">11/23</td>
120
118
  <td data-value="0" class="pct low">0%</td>
121
- <td data-value="4" class="abs low">0/4</td>
122
- <td data-value="50" class="pct medium">50%</td>
123
- <td data-value="36" class="abs medium">18/36</td>
119
+ <td data-value="2" class="abs low">0/2</td>
120
+ <td data-value="0" class="pct low">0%</td>
121
+ <td data-value="2" class="abs low">0/2</td>
122
+ <td data-value="47.82" class="pct low">47.82%</td>
123
+ <td data-value="23" class="abs low">11/23</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -145,8 +145,8 @@
145
145
  </td>
146
146
  <td data-value="90.32" class="pct high">90.32%</td>
147
147
  <td data-value="62" class="abs high">56/62</td>
148
- <td data-value="75.75" class="pct medium">75.75%</td>
149
- <td data-value="33" class="abs medium">25/33</td>
148
+ <td data-value="76.47" class="pct medium">76.47%</td>
149
+ <td data-value="34" class="abs medium">26/34</td>
150
150
  <td data-value="100" class="pct high">100%</td>
151
151
  <td data-value="11" class="abs high">11/11</td>
152
152
  <td data-value="90.16" class="pct high">90.16%</td>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
164
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
165
165
  </div>
166
166
  <script src="../prettify.js"></script>
167
167
  <script>
@@ -102,12 +102,12 @@
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
103
  <span class="cline-any cline-yes">44x</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-yes">32x</span>
106
- <span class="cline-any cline-yes">8x</span>
105
+ <span class="cline-any cline-yes">45x</span>
106
+ <span class="cline-any cline-yes">7x</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-yes">32x</span>
110
- <span class="cline-any cline-yes">32x</span>
109
+ <span class="cline-any cline-yes">45x</span>
110
+ <span class="cline-any cline-yes">45x</span>
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
113
  <span class="cline-any cline-yes">44x</span>
@@ -122,7 +122,7 @@
122
122
  <span class="cline-any cline-yes">44x</span>
123
123
  <span class="cline-any cline-yes">44x</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { processEvent } = require("./utils")
125
- const { queue, shutdown } = require("./bullboard")
125
+ const { automationQueue, shutdown } = require("./bullboard")
126
126
  const { TRIGGER_DEFINITIONS, rebootTrigger } = require("./triggers")
127
127
  const { ACTION_DEFINITIONS } = require("./actions")
128
128
  &nbsp;
@@ -131,7 +131,7 @@ const { ACTION_DEFINITIONS } = require("./actions")
131
131
  */
132
132
  exports.init = async function () {
133
133
  // this promise will not complete
134
- const promise = queue.process(async job =&gt; {
134
+ const promise = automationQueue.process(async job =&gt; {
135
135
  await processEvent(job)
136
136
  })
137
137
  // on init we need to trigger any reboot automations
@@ -140,14 +140,14 @@ exports.init = async function () {
140
140
  }
141
141
  &nbsp;
142
142
  exports.getQueues = <span class="fstat-no" title="function not covered" >()</span> =&gt; {
143
- <span class="cstat-no" title="statement not covered" > return [queue]</span>
143
+ <span class="cstat-no" title="statement not covered" > return [automationQueue]</span>
144
144
  }
145
145
  &nbsp;
146
146
  exports.shutdown = <span class="fstat-no" title="function not covered" >()</span> =&gt; {
147
147
  <span class="cstat-no" title="statement not covered" > return shutdown()</span>
148
148
  }
149
149
  &nbsp;
150
- exports.queue = queue
150
+ exports.automationQueue = automationQueue
151
151
  exports.TRIGGER_DEFINITIONS = TRIGGER_DEFINITIONS
152
152
  exports.ACTION_DEFINITIONS = ACTION_DEFINITIONS
153
153
  &nbsp;</pre></td></tr></table></pre>
@@ -157,7 +157,7 @@ exports.ACTION_DEFINITIONS = ACTION_DEFINITIONS
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
160
- at Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
160
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
161
161
  </div>
162
162
  <script src="../prettify.js"></script>
163
163
  <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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
292
+ at Mon Oct 31 2022 14:00:24 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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
190
+ at Mon Oct 31 2022 14:00:24 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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
322
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
323
323
  </div>
324
324
  <script src="../../prettify.js"></script>
325
325
  <script>
@@ -340,7 +340,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
343
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
344
344
  </div>
345
345
  <script src="../../prettify.js"></script>
346
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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
283
+ at Mon Oct 31 2022 14:00:24 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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
373
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
374
374
  </div>
375
375
  <script src="../../prettify.js"></script>
376
376
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">70.58% </span>
26
+ <span class="strong">70.16% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>168/238</span>
28
+ <span class='fraction'>167/238</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">57.14% </span>
40
+ <span class="strong">52.38% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/21</span>
42
+ <span class='fraction'>11/21</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">70.58% </span>
47
+ <span class="strong">70.16% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>168/238</span>
49
+ <span class='fraction'>167/238</span>
50
50
  </div>
51
51
 
52
52
 
@@ -290,17 +290,17 @@
290
290
 
291
291
  <tr>
292
292
  <td class="file high" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
293
- <td data-value="89.47" class="pic high">
294
- <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
293
+ <td data-value="84.21" class="pic high">
294
+ <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
295
295
  </td>
296
- <td data-value="89.47" class="pct high">89.47%</td>
297
- <td data-value="19" class="abs high">17/19</td>
296
+ <td data-value="84.21" class="pct high">84.21%</td>
297
+ <td data-value="19" class="abs high">16/19</td>
298
298
  <td data-value="72.72" class="pct medium">72.72%</td>
299
299
  <td data-value="11" class="abs medium">8/11</td>
300
- <td data-value="100" class="pct high">100%</td>
301
- <td data-value="3" class="abs high">3/3</td>
302
- <td data-value="89.47" class="pct high">89.47%</td>
303
- <td data-value="19" class="abs high">17/19</td>
300
+ <td data-value="66.66" class="pct medium">66.66%</td>
301
+ <td data-value="3" class="abs medium">2/3</td>
302
+ <td data-value="84.21" class="pct high">84.21%</td>
303
+ <td data-value="19" class="abs high">16/19</td>
304
304
  </tr>
305
305
 
306
306
  <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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
329
+ at Mon Oct 31 2022 14:00:24 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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
334
+ at Mon Oct 31 2022 14:00:24 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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
223
+ at Mon Oct 31 2022 14:00:24 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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
472
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
473
473
  </div>
474
474
  <script src="../../prettify.js"></script>
475
475
  <script>
@@ -613,7 +613,7 @@ exports.run = async function ({ inputs, appId }) {
613
613
  <div class='footer quiet pad2 space-top1 center small'>
614
614
  Code coverage generated by
615
615
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
616
- at Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
616
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
617
617
  </div>
618
618
  <script src="../../prettify.js"></script>
619
619
  <script>
@@ -325,7 +325,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
325
325
  <div class='footer quiet pad2 space-top1 center small'>
326
326
  Code coverage generated by
327
327
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
328
- at Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
328
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
329
329
  </div>
330
330
  <script src="../../prettify.js"></script>
331
331
  <script>
@@ -223,7 +223,7 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
226
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
227
227
  </div>
228
228
  <script src="../../prettify.js"></script>
229
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 Tue Oct 25 2022 15:42:56 GMT+0000 (Coordinated Universal Time)
265
+ at Mon Oct 31 2022 14:00:24 GMT+0000 (Coordinated Universal Time)
266
266
  </div>
267
267
  <script src="../../prettify.js"></script>
268
268
  <script>