@budibase/server 0.9.169-alpha.9 → 0.9.172

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 (227) hide show
  1. package/builder/assets/{index.aafb155b.js → index.9ab01cd4.js} +34 -34
  2. package/builder/assets/{index.0ea76a5c.css → index.dbc6728e.css} +2 -2
  3. package/builder/assets/{vendor.2053eff2.js → vendor.54435e8f.js} +2 -2
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +517 -609
  6. package/coverage/coverage-final.json +31 -32
  7. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/backup.js.html +9 -6
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/dev.js.html +17 -41
  17. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/index.html +45 -45
  19. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +4 -7
  23. package/coverage/lcov-report/api/controllers/query.js.html +24 -129
  24. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.html +5 -5
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +15 -15
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/script.js.html +57 -12
  34. package/coverage/lcov-report/api/controllers/table/index.html +28 -28
  35. package/coverage/lcov-report/api/controllers/table/index.js.html +37 -16
  36. package/coverage/lcov-report/api/controllers/table/utils.js.html +33 -279
  37. package/coverage/lcov-report/api/controllers/templates.js.html +13 -49
  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 +8 -8
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +6 -6
  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/application.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/dev.js.html +11 -26
  58. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/index.html +9 -9
  60. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/query.js.html +3 -9
  66. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  77. package/coverage/lcov-report/automations/actions.js.html +10 -31
  78. package/coverage/lcov-report/automations/automationUtils.js.html +86 -14
  79. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  80. package/coverage/lcov-report/automations/index.html +25 -25
  81. package/coverage/lcov-report/automations/index.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/bash.js.html +7 -10
  83. package/coverage/lcov-report/automations/steps/createRow.js.html +2 -2
  84. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/deleteRow.js.html +5 -8
  86. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/executeQuery.js.html +7 -10
  88. package/coverage/lcov-report/automations/steps/executeScript.js.html +7 -10
  89. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/index.html +57 -57
  91. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +7 -10
  93. package/coverage/lcov-report/automations/steps/queryRows.js.html +7 -10
  94. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +7 -10
  95. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/updateRow.js.html +14 -14
  98. package/coverage/lcov-report/automations/steps/utils.js.html +10 -10
  99. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  100. package/coverage/lcov-report/automations/thread.js.html +12 -54
  101. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  110. package/coverage/lcov-report/automations/utils.js.html +1 -1
  111. package/coverage/lcov-report/constants/index.html +1 -1
  112. package/coverage/lcov-report/constants/index.js.html +2 -5
  113. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  114. package/coverage/lcov-report/constants/screens.js.html +1 -1
  115. package/coverage/lcov-report/db/client.js.html +1 -1
  116. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  117. package/coverage/lcov-report/db/index.html +1 -1
  118. package/coverage/lcov-report/db/index.js.html +1 -1
  119. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +12 -12
  120. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  121. package/coverage/lcov-report/db/linkedRows/index.js.html +9 -9
  122. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  123. package/coverage/lcov-report/db/newid.js.html +1 -1
  124. package/coverage/lcov-report/db/utils.js.html +1 -1
  125. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  126. package/coverage/lcov-report/events/index.html +1 -1
  127. package/coverage/lcov-report/events/index.js.html +1 -1
  128. package/coverage/lcov-report/events/utils.js.html +1 -1
  129. package/coverage/lcov-report/index.html +69 -69
  130. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  131. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  132. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  133. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  134. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  135. package/coverage/lcov-report/middleware/currentapp.js.html +2 -2
  136. package/coverage/lcov-report/middleware/index.html +1 -1
  137. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  138. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  139. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  140. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  141. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  142. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  143. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  144. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  145. package/coverage/lcov-report/utilities/global.js.html +2 -2
  146. package/coverage/lcov-report/utilities/index.html +7 -22
  147. package/coverage/lcov-report/utilities/index.js.html +1 -1
  148. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  149. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  150. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  151. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  152. package/coverage/lcov-report/utilities/rowProcessor/index.html +14 -14
  153. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +8 -38
  154. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  155. package/coverage/lcov-report/utilities/security.js.html +1 -1
  156. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  157. package/coverage/lcov-report/utilities/users.js.html +1 -1
  158. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  159. package/coverage/lcov.info +848 -1026
  160. package/dist/api/controllers/backup.js +4 -4
  161. package/dist/api/controllers/dev.js +11 -17
  162. package/dist/api/controllers/permission.js +0 -1
  163. package/dist/api/controllers/query.js +8 -26
  164. package/dist/api/controllers/row/ExternalRequest.js +5 -46
  165. package/dist/api/controllers/script.js +16 -4
  166. package/dist/api/controllers/table/index.js +10 -5
  167. package/dist/api/controllers/table/utils.js +10 -83
  168. package/dist/api/controllers/templates.js +3 -18
  169. package/dist/api/routes/dev.js +4 -8
  170. package/dist/api/routes/query.js +1 -3
  171. package/dist/automations/actions.js +3 -9
  172. package/dist/automations/automationUtils.js +29 -8
  173. package/dist/automations/steps/bash.js +1 -2
  174. package/dist/automations/steps/createRow.js +1 -1
  175. package/dist/automations/steps/deleteRow.js +1 -2
  176. package/dist/automations/steps/executeQuery.js +1 -2
  177. package/dist/automations/steps/executeScript.js +1 -2
  178. package/dist/automations/steps/outgoingWebhook.js +1 -2
  179. package/dist/automations/steps/queryRows.js +1 -2
  180. package/dist/automations/steps/sendSmtpEmail.js +1 -2
  181. package/dist/automations/steps/updateRow.js +2 -6
  182. package/dist/automations/thread.js +3 -14
  183. package/dist/constants/index.js +0 -1
  184. package/dist/integrations/base/sql.js +4 -4
  185. package/dist/integrations/utils.js +1 -16
  186. package/dist/middleware/currentapp.js +1 -1
  187. package/dist/package.json +5 -6
  188. package/dist/tsconfig.tsbuildinfo +1 -1
  189. package/dist/utilities/fileSystem/index.js +33 -49
  190. package/dist/utilities/global.js +1 -1
  191. package/dist/utilities/rowProcessor/index.js +0 -8
  192. package/package.json +6 -7
  193. package/src/api/controllers/backup.js +5 -4
  194. package/src/api/controllers/dev.js +8 -16
  195. package/src/api/controllers/permission.js +0 -1
  196. package/src/api/controllers/query.js +11 -46
  197. package/src/api/controllers/row/ExternalRequest.ts +4 -49
  198. package/src/api/controllers/script.js +19 -4
  199. package/src/api/controllers/table/index.js +12 -5
  200. package/src/api/controllers/table/utils.js +12 -94
  201. package/src/api/controllers/templates.js +5 -17
  202. package/src/api/routes/dev.js +4 -9
  203. package/src/api/routes/query.js +1 -3
  204. package/src/automations/actions.js +3 -10
  205. package/src/automations/automationUtils.js +31 -7
  206. package/src/automations/steps/bash.js +1 -2
  207. package/src/automations/steps/createRow.js +1 -1
  208. package/src/automations/steps/deleteRow.js +1 -2
  209. package/src/automations/steps/executeQuery.js +1 -2
  210. package/src/automations/steps/executeScript.js +1 -2
  211. package/src/automations/steps/outgoingWebhook.js +1 -2
  212. package/src/automations/steps/queryRows.js +1 -2
  213. package/src/automations/steps/sendSmtpEmail.js +1 -2
  214. package/src/automations/steps/updateRow.js +6 -6
  215. package/src/automations/thread.js +3 -17
  216. package/src/constants/index.js +0 -1
  217. package/src/integrations/base/sql.ts +3 -5
  218. package/src/integrations/tests/mongo.spec.js +6 -10
  219. package/src/integrations/utils.ts +0 -15
  220. package/src/middleware/currentapp.js +1 -1
  221. package/src/middleware/tests/currentapp.spec.js +3 -3
  222. package/src/utilities/fileSystem/index.js +43 -65
  223. package/src/utilities/global.js +1 -1
  224. package/src/utilities/rowProcessor/index.js +0 -10
  225. package/coverage/lcov-report/utilities/scriptRunner.js.html +0 -143
  226. package/dist/utilities/scriptRunner.js +0 -19
  227. package/src/utilities/scriptRunner.js +0 -21
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">66.88% </span>
26
+ <span class="strong">87.62% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>103/154</span>
28
+ <span class='fraction'>92/105</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">44.3% </span>
33
+ <span class="strong">66.67% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>35/79</span>
35
+ <span class='fraction'>34/51</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">69.57% </span>
40
+ <span class="strong">82.35% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>16/23</span>
42
+ <span class='fraction'>14/17</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">67.55% </span>
47
+ <span class="strong">88.35% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>102/151</span>
49
+ <span class='fraction'>91/103</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line medium'></div>
58
+ <div class='status-line high'></div>
59
59
  <pre><table class="coverage">
60
60
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
61
  <a name='L2'></a><a href='#L2'>2</a>
@@ -293,89 +293,8 @@
293
293
  <a name='L234'></a><a href='#L234'>234</a>
294
294
  <a name='L235'></a><a href='#L235'>235</a>
295
295
  <a name='L236'></a><a href='#L236'>236</a>
296
- <a name='L237'></a><a href='#L237'>237</a>
297
- <a name='L238'></a><a href='#L238'>238</a>
298
- <a name='L239'></a><a href='#L239'>239</a>
299
- <a name='L240'></a><a href='#L240'>240</a>
300
- <a name='L241'></a><a href='#L241'>241</a>
301
- <a name='L242'></a><a href='#L242'>242</a>
302
- <a name='L243'></a><a href='#L243'>243</a>
303
- <a name='L244'></a><a href='#L244'>244</a>
304
- <a name='L245'></a><a href='#L245'>245</a>
305
- <a name='L246'></a><a href='#L246'>246</a>
306
- <a name='L247'></a><a href='#L247'>247</a>
307
- <a name='L248'></a><a href='#L248'>248</a>
308
- <a name='L249'></a><a href='#L249'>249</a>
309
- <a name='L250'></a><a href='#L250'>250</a>
310
- <a name='L251'></a><a href='#L251'>251</a>
311
- <a name='L252'></a><a href='#L252'>252</a>
312
- <a name='L253'></a><a href='#L253'>253</a>
313
- <a name='L254'></a><a href='#L254'>254</a>
314
- <a name='L255'></a><a href='#L255'>255</a>
315
- <a name='L256'></a><a href='#L256'>256</a>
316
- <a name='L257'></a><a href='#L257'>257</a>
317
- <a name='L258'></a><a href='#L258'>258</a>
318
- <a name='L259'></a><a href='#L259'>259</a>
319
- <a name='L260'></a><a href='#L260'>260</a>
320
- <a name='L261'></a><a href='#L261'>261</a>
321
- <a name='L262'></a><a href='#L262'>262</a>
322
- <a name='L263'></a><a href='#L263'>263</a>
323
- <a name='L264'></a><a href='#L264'>264</a>
324
- <a name='L265'></a><a href='#L265'>265</a>
325
- <a name='L266'></a><a href='#L266'>266</a>
326
- <a name='L267'></a><a href='#L267'>267</a>
327
- <a name='L268'></a><a href='#L268'>268</a>
328
- <a name='L269'></a><a href='#L269'>269</a>
329
- <a name='L270'></a><a href='#L270'>270</a>
330
- <a name='L271'></a><a href='#L271'>271</a>
331
- <a name='L272'></a><a href='#L272'>272</a>
332
- <a name='L273'></a><a href='#L273'>273</a>
333
- <a name='L274'></a><a href='#L274'>274</a>
334
- <a name='L275'></a><a href='#L275'>275</a>
335
- <a name='L276'></a><a href='#L276'>276</a>
336
- <a name='L277'></a><a href='#L277'>277</a>
337
- <a name='L278'></a><a href='#L278'>278</a>
338
- <a name='L279'></a><a href='#L279'>279</a>
339
- <a name='L280'></a><a href='#L280'>280</a>
340
- <a name='L281'></a><a href='#L281'>281</a>
341
- <a name='L282'></a><a href='#L282'>282</a>
342
- <a name='L283'></a><a href='#L283'>283</a>
343
- <a name='L284'></a><a href='#L284'>284</a>
344
- <a name='L285'></a><a href='#L285'>285</a>
345
- <a name='L286'></a><a href='#L286'>286</a>
346
- <a name='L287'></a><a href='#L287'>287</a>
347
- <a name='L288'></a><a href='#L288'>288</a>
348
- <a name='L289'></a><a href='#L289'>289</a>
349
- <a name='L290'></a><a href='#L290'>290</a>
350
- <a name='L291'></a><a href='#L291'>291</a>
351
- <a name='L292'></a><a href='#L292'>292</a>
352
- <a name='L293'></a><a href='#L293'>293</a>
353
- <a name='L294'></a><a href='#L294'>294</a>
354
- <a name='L295'></a><a href='#L295'>295</a>
355
- <a name='L296'></a><a href='#L296'>296</a>
356
- <a name='L297'></a><a href='#L297'>297</a>
357
- <a name='L298'></a><a href='#L298'>298</a>
358
- <a name='L299'></a><a href='#L299'>299</a>
359
- <a name='L300'></a><a href='#L300'>300</a>
360
- <a name='L301'></a><a href='#L301'>301</a>
361
- <a name='L302'></a><a href='#L302'>302</a>
362
- <a name='L303'></a><a href='#L303'>303</a>
363
- <a name='L304'></a><a href='#L304'>304</a>
364
- <a name='L305'></a><a href='#L305'>305</a>
365
- <a name='L306'></a><a href='#L306'>306</a>
366
- <a name='L307'></a><a href='#L307'>307</a>
367
- <a name='L308'></a><a href='#L308'>308</a>
368
- <a name='L309'></a><a href='#L309'>309</a>
369
- <a name='L310'></a><a href='#L310'>310</a>
370
- <a name='L311'></a><a href='#L311'>311</a>
371
- <a name='L312'></a><a href='#L312'>312</a>
372
- <a name='L313'></a><a href='#L313'>313</a>
373
- <a name='L314'></a><a href='#L314'>314</a>
374
- <a name='L315'></a><a href='#L315'>315</a>
375
- <a name='L316'></a><a href='#L316'>316</a>
376
- <a name='L317'></a><a href='#L317'>317</a>
377
- <a name='L318'></a><a href='#L318'>318</a>
378
- <a name='L319'></a><a href='#L319'>319</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
296
+ <a name='L237'></a><a href='#L237'>237</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
297
+ <span class="cline-any cline-yes">34x</span>
379
298
  <span class="cline-any cline-yes">34x</span>
380
299
  <span class="cline-any cline-neutral">&nbsp;</span>
381
300
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -387,12 +306,6 @@
387
306
  <span class="cline-any cline-yes">34x</span>
388
307
  <span class="cline-any cline-yes">34x</span>
389
308
  <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-yes">34x</span>
393
- <span class="cline-any cline-yes">34x</span>
394
- <span class="cline-any cline-yes">34x</span>
395
- <span class="cline-any cline-neutral">&nbsp;</span>
396
309
  <span class="cline-any cline-yes">34x</span>
397
310
  <span class="cline-any cline-yes">99x</span>
398
311
  <span class="cline-any cline-yes">99x</span>
@@ -404,7 +317,6 @@
404
317
  <span class="cline-any cline-neutral">&nbsp;</span>
405
318
  <span class="cline-any cline-neutral">&nbsp;</span>
406
319
  <span class="cline-any cline-yes">99x</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
320
  <span class="cline-any cline-yes">1x</span>
409
321
  <span class="cline-any cline-neutral">&nbsp;</span>
410
322
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -419,9 +331,6 @@
419
331
  <span class="cline-any cline-neutral">&nbsp;</span>
420
332
  <span class="cline-any cline-yes">1x</span>
421
333
  <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-yes">1x</span>
425
334
  <span class="cline-any cline-yes">1x</span>
426
335
  <span class="cline-any cline-neutral">&nbsp;</span>
427
336
  <span class="cline-any cline-yes">99x</span>
@@ -479,9 +388,18 @@
479
388
  <span class="cline-any cline-neutral">&nbsp;</span>
480
389
  <span class="cline-any cline-neutral">&nbsp;</span>
481
390
  <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
392
  <span class="cline-any cline-yes">1x</span>
483
393
  <span class="cline-any cline-neutral">&nbsp;</span>
484
394
  <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-neutral">&nbsp;</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
403
  <span class="cline-any cline-yes">1x</span>
486
404
  <span class="cline-any cline-yes">1x</span>
487
405
  <span class="cline-any cline-yes">1x</span>
@@ -611,89 +529,8 @@
611
529
  <span class="cline-any cline-neutral">&nbsp;</span>
612
530
  <span class="cline-any cline-neutral">&nbsp;</span>
613
531
  <span class="cline-any cline-yes">34x</span>
614
- <span class="cline-any cline-yes">28x</span>
615
- <span class="cline-any cline-yes">28x</span>
616
- <span class="cline-any cline-no">&nbsp;</span>
617
- <span class="cline-any cline-no">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-yes">28x</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-yes">34x</span>
624
- <span class="cline-any cline-yes">1x</span>
625
- <span class="cline-any cline-yes">1x</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-yes">1x</span>
629
- <span class="cline-any cline-no">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
632
- <span class="cline-any cline-no">&nbsp;</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-no">&nbsp;</span>
635
- <span class="cline-any cline-no">&nbsp;</span>
636
- <span class="cline-any cline-no">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-no">&nbsp;</span>
641
- <span class="cline-any cline-no">&nbsp;</span>
642
- <span class="cline-any cline-no">&nbsp;</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-no">&nbsp;</span>
647
- <span class="cline-any cline-no">&nbsp;</span>
648
- <span class="cline-any cline-no">&nbsp;</span>
649
- <span class="cline-any cline-no">&nbsp;</span>
650
- <span class="cline-any cline-no">&nbsp;</span>
651
- <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-neutral">&nbsp;</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-no">&nbsp;</span>
655
- <span class="cline-any cline-no">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-no">&nbsp;</span>
658
- <span class="cline-any cline-no">&nbsp;</span>
659
- <span class="cline-any cline-no">&nbsp;</span>
660
- <span class="cline-any cline-no">&nbsp;</span>
661
- <span class="cline-any cline-no">&nbsp;</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-no">&nbsp;</span>
666
- <span class="cline-any cline-no">&nbsp;</span>
667
- <span class="cline-any cline-no">&nbsp;</span>
668
- <span class="cline-any cline-neutral">&nbsp;</span>
669
- <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-no">&nbsp;</span>
672
- <span class="cline-any cline-no">&nbsp;</span>
673
- <span class="cline-any cline-no">&nbsp;</span>
674
- <span class="cline-any cline-no">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-no">&nbsp;</span>
677
- <span class="cline-any cline-no">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-no">&nbsp;</span>
685
- <span class="cline-any cline-no">&nbsp;</span>
686
- <span class="cline-any cline-no">&nbsp;</span>
687
- <span class="cline-any cline-no">&nbsp;</span>
688
- <span class="cline-any cline-no">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-no">&nbsp;</span>
691
- <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-yes">34x</span>
696
532
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
533
+ const linkRows = require("../../../db/linkedRows")
697
534
  const csvParser = require("../../../utilities/csvParser")
698
535
  const {
699
536
  getRowParams,
@@ -704,12 +541,6 @@ const { isEqual } = require("lodash/fp")
704
541
  const { AutoFieldSubTypes, FieldTypes } = require("../../../constants")
705
542
  const { inputProcessing } = require("../../../utilities/rowProcessor")
706
543
  const { USERS_TABLE_SCHEMA } = require("../../../constants")
707
- const {
708
- isExternalTable,
709
- breakExternalTableId,
710
- } = require("../../../integrations/utils")
711
- const { getViews, saveView } = require("../view/utils")
712
- const viewTemplate = require("../view/viewBuilder")
713
544
  &nbsp;
714
545
  exports.checkForColumnUpdates = async (db, oldTable, updatedTable) =&gt; {
715
546
  let updatedRows = []
@@ -722,7 +553,6 @@ exports.checkForColumnUpdates = async (db, oldTable, updatedTable) =&gt; {
722
553
  }
723
554
  // check for renaming of columns or deleted columns
724
555
  if (rename || deletedColumns.length !== 0) {
725
- // Update all rows
726
556
  const rows = await db.allDocs(
727
557
  getRowParams(updatedTable._id, null, {
728
558
  include_docs: true,
@@ -737,9 +567,6 @@ exports.checkForColumnUpdates = async (db, oldTable, updatedTable) =&gt; {
737
567
  }
738
568
  return doc
739
569
  })
740
- &nbsp;
741
- // Update views
742
- await exports.checkForViewUpdates(db, updatedTable, rename, deletedColumns)
743
570
  delete updatedTable._rename
744
571
  }
745
572
  return { rows: updatedRows, table: updatedTable }
@@ -797,10 +624,19 @@ exports.handleDataImport = async (appId, user, table, dataImport) =&gt; {
797
624
  }
798
625
  }
799
626
  &nbsp;
800
- finalData.push(row)
627
+ // make sure link rows are up to date
628
+ finalData.push(
629
+ linkRows.updateLinks({
630
+ appId,
631
+ eventType: linkRows.EventType.ROW_SAVE,
632
+ row,
633
+ tableId: row.tableId,
634
+ table,
635
+ })
636
+ )
801
637
  }
802
638
  &nbsp;
803
- await db.bulkDocs(finalData)
639
+ await db.bulkDocs(await Promise.all(finalData))
804
640
  let response = await db.put(table)
805
641
  table._rev = response._rev
806
642
  }
@@ -928,88 +764,6 @@ exports.getExternalTable = <span class="fstat-no" title="function not covered" >
928
764
  <span class="cstat-no" title="statement not covered" > return entities[tableName]</span>
929
765
  }
930
766
  &nbsp;
931
- exports.getTable = async (appId, tableId) =&gt; {
932
- const db = new CouchDB(appId)
933
- <span class="missing-if-branch" title="if path not taken" >I</span>if (isExternalTable(tableId)) {
934
- let { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
935
- <span class="cstat-no" title="statement not covered" > return exports.getExternalTable(appId, datasourceId, tableName)</span>
936
- } else {
937
- return db.get(tableId)
938
- }
939
- }
940
- &nbsp;
941
- exports.checkForViewUpdates = async (db, table, rename, deletedColumns) =&gt; {
942
- const views = await getViews(db)
943
- const tableViews = views.filter(<span class="fstat-no" title="function not covered" >vi</span>ew =&gt; <span class="cstat-no" title="statement not covered" >view.meta.tableId === table._id)</span>
944
- &nbsp;
945
- // Check each table view to see if impacted by this table action
946
- for (let view of tableViews) {
947
- let needsUpdated = <span class="cstat-no" title="statement not covered" >false</span>
948
- &nbsp;
949
- // First check for renames, otherwise check for deletions
950
- <span class="cstat-no" title="statement not covered" > if (rename) {</span>
951
- // Update calculation field if required
952
- <span class="cstat-no" title="statement not covered" > if (view.meta.field === rename.old) {</span>
953
- <span class="cstat-no" title="statement not covered" > view.meta.field = rename.updated</span>
954
- <span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
955
- }
956
- &nbsp;
957
- // Update group by field if required
958
- <span class="cstat-no" title="statement not covered" > if (view.meta.groupBy === rename.old) {</span>
959
- <span class="cstat-no" title="statement not covered" > view.meta.groupBy = rename.updated</span>
960
- <span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
961
- }
962
- &nbsp;
963
- // Update filters if required
964
- <span class="cstat-no" title="statement not covered" > if (view.meta.filters) {</span>
965
- <span class="cstat-no" title="statement not covered" > view.meta.filters.forEach(<span class="fstat-no" title="function not covered" >fi</span>lter =&gt; {</span>
966
- <span class="cstat-no" title="statement not covered" > if (filter.key === rename.old) {</span>
967
- <span class="cstat-no" title="statement not covered" > filter.key = rename.updated</span>
968
- <span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
969
- }
970
- })
971
- }
972
- } else <span class="cstat-no" title="statement not covered" >if (deletedColumns) {</span>
973
- <span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lumn =&gt; {</span>
974
- // Remove calculation statement if required
975
- <span class="cstat-no" title="statement not covered" > if (view.meta.field === column) {</span>
976
- <span class="cstat-no" title="statement not covered" > delete view.meta.field</span>
977
- <span class="cstat-no" title="statement not covered" > delete view.meta.calculation</span>
978
- <span class="cstat-no" title="statement not covered" > delete view.meta.groupBy</span>
979
- <span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
980
- }
981
- &nbsp;
982
- // Remove group by field if required
983
- <span class="cstat-no" title="statement not covered" > if (view.meta.groupBy === column) {</span>
984
- <span class="cstat-no" title="statement not covered" > delete view.meta.groupBy</span>
985
- <span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
986
- }
987
- &nbsp;
988
- // Remove filters referencing deleted field if required
989
- <span class="cstat-no" title="statement not covered" > if (view.meta.filters &amp;&amp; view.meta.filters.length) {</span>
990
- const initialLength = <span class="cstat-no" title="statement not covered" >view.meta.filters.length</span>
991
- <span class="cstat-no" title="statement not covered" > view.meta.filters = view.meta.filters.filter(<span class="fstat-no" title="function not covered" >fi</span>lter =&gt; {</span>
992
- <span class="cstat-no" title="statement not covered" > return filter.key !== column</span>
993
- })
994
- <span class="cstat-no" title="statement not covered" > if (initialLength !== view.meta.filters.length) {</span>
995
- <span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
996
- }
997
- }
998
- })
999
- }
1000
- &nbsp;
1001
- // Update view if required
1002
- <span class="cstat-no" title="statement not covered" > if (needsUpdated) {</span>
1003
- const newViewTemplate = <span class="cstat-no" title="statement not covered" >viewTemplate(view.meta)</span>
1004
- <span class="cstat-no" title="statement not covered" > await saveView(db, null, view.name, newViewTemplate)</span>
1005
- <span class="cstat-no" title="statement not covered" > if (!newViewTemplate.meta.schema) {</span>
1006
- <span class="cstat-no" title="statement not covered" > newViewTemplate.meta.schema = table.schema</span>
1007
- }
1008
- <span class="cstat-no" title="statement not covered" > table.views[view.name] = newViewTemplate.meta</span>
1009
- }
1010
- }
1011
- }
1012
- &nbsp;
1013
767
  exports.TableSaveFunctions = TableSaveFunctions
1014
768
  &nbsp;</pre></td></tr></table></pre>
1015
769
 
@@ -1018,7 +772,7 @@ exports.TableSaveFunctions = TableSaveFunctions
1018
772
  <div class='footer quiet pad2 space-top1 center small'>
1019
773
  Code coverage generated by
1020
774
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1021
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
775
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
1022
776
  </div>
1023
777
  </div>
1024
778
  <script src="../../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>12/15</span>
28
+ <span class='fraction'>8/8</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">71.43% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/7</span>
35
+ <span class='fraction'>1/1</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">80% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>12/15</span>
49
+ <span class='fraction'>8/8</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,19 +84,7 @@
84
84
  <a name='L25'></a><a href='#L25'>25</a>
85
85
  <a name='L26'></a><a href='#L26'>26</a>
86
86
  <a name='L27'></a><a href='#L27'>27</a>
87
- <a name='L28'></a><a href='#L28'>28</a>
88
- <a name='L29'></a><a href='#L29'>29</a>
89
- <a name='L30'></a><a href='#L30'>30</a>
90
- <a name='L31'></a><a href='#L31'>31</a>
91
- <a name='L32'></a><a href='#L32'>32</a>
92
- <a name='L33'></a><a href='#L33'>33</a>
93
- <a name='L34'></a><a href='#L34'>34</a>
94
- <a name='L35'></a><a href='#L35'>35</a>
95
- <a name='L36'></a><a href='#L36'>36</a>
96
- <a name='L37'></a><a href='#L37'>37</a>
97
- <a name='L38'></a><a href='#L38'>38</a>
98
- <a name='L39'></a><a href='#L39'>39</a>
99
- <a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
87
+ <a name='L28'></a><a href='#L28'>28</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
100
88
  <span class="cline-any cline-yes">23x</span>
101
89
  <span class="cline-any cline-neutral">&nbsp;</span>
102
90
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -105,23 +93,11 @@
105
93
  <span class="cline-any cline-neutral">&nbsp;</span>
106
94
  <span class="cline-any cline-yes">23x</span>
107
95
  <span class="cline-any cline-yes">1x</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-yes">1x</span>
110
- <span class="cline-any cline-yes">1x</span>
111
- <span class="cline-any cline-yes">1x</span>
112
96
  <span class="cline-any cline-yes">1x</span>
113
- <span class="cline-any cline-no">&nbsp;</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-no">&nbsp;</span>
117
97
  <span class="cline-any cline-neutral">&nbsp;</span>
118
98
  <span class="cline-any cline-neutral">&nbsp;</span>
119
99
  <span class="cline-any cline-yes">1x</span>
120
100
  <span class="cline-any cline-yes">1x</span>
121
- <span class="cline-any cline-yes">1x</span>
122
- <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-no">&nbsp;</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span>
125
101
  <span class="cline-any cline-neutral">&nbsp;</span>
126
102
  <span class="cline-any cline-neutral">&nbsp;</span>
127
103
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -144,23 +120,11 @@ const DEFAULT_TEMPLATES_BUCKET =
144
120
  &nbsp;
145
121
  exports.fetch = async function (ctx) {
146
122
  const { type = "app" } = ctx.query
147
- let response,
148
- error = false
149
- try {
150
- response = await fetch(`https://${DEFAULT_TEMPLATES_BUCKET}/manifest.json`)
151
- <span class="missing-if-branch" title="if path not taken" >I</span>if (response.status !== 200) {
152
- <span class="cstat-no" title="statement not covered" > error = true</span>
153
- }
154
- } catch (err) {
155
- <span class="cstat-no" title="statement not covered" > error = true</span>
156
- }
157
- // if there is an error, simply return no templates
158
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!error &amp;&amp; response) {
159
- const json = await response.json()
160
- ctx.body = Object.values(json.templates[type])
161
- } else {
162
- <span class="cstat-no" title="statement not covered" > ctx.body = []</span>
163
- }
123
+ const response = await fetch(
124
+ `https://${DEFAULT_TEMPLATES_BUCKET}/manifest.json`
125
+ )
126
+ const json = await response.json()
127
+ ctx.body = Object.values(json.templates[type])
164
128
  }
165
129
  &nbsp;
166
130
  // can't currently test this, have to ignore from coverage
@@ -181,7 +145,7 @@ exports.downloadTemplate = async function (ctx) {
181
145
  <div class='footer quiet pad2 space-top1 center small'>
182
146
  Code coverage generated by
183
147
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
148
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
185
149
  </div>
186
150
  </div>
187
151
  <script src="../../prettify.js"></script>
@@ -298,7 +298,7 @@ exports.findMetadata = async function (ctx) {
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
301
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
301
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
302
302
  </div>
303
303
  </div>
304
304
  <script src="../../prettify.js"></script>
@@ -118,7 +118,7 @@ exports.json = function (headers, rows) {
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
121
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
121
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  </div>
124
124
  <script src="../../../prettify.js"></script>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
143
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../../../prettify.js"></script>
@@ -346,7 +346,7 @@ exports.exportView = async ctx =&gt; {
346
346
  <div class='footer quiet pad2 space-top1 center small'>
347
347
  Code coverage generated by
348
348
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
349
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
349
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
350
350
  </div>
351
351
  </div>
352
352
  <script src="../../../prettify.js"></script>
@@ -225,13 +225,13 @@
225
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
226
  <span class="cline-any cline-neutral">&nbsp;</span>
227
227
  <span class="cline-any cline-yes">34x</span>
228
- <span class="cline-any cline-yes">2x</span>
229
- <span class="cline-any cline-yes">2x</span>
230
- <span class="cline-any cline-yes">2x</span>
231
- <span class="cline-any cline-yes">2x</span>
228
+ <span class="cline-any cline-yes">1x</span>
229
+ <span class="cline-any cline-yes">1x</span>
230
+ <span class="cline-any cline-yes">1x</span>
231
+ <span class="cline-any cline-yes">1x</span>
232
232
  <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-yes">5x</span>
234
- <span class="cline-any cline-yes">4x</span>
233
+ <span class="cline-any cline-yes">3x</span>
234
+ <span class="cline-any cline-yes">2x</span>
235
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
236
  <span class="cline-any cline-yes">1x</span>
237
237
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -253,7 +253,7 @@
253
253
  <span class="cline-any cline-neutral">&nbsp;</span>
254
254
  <span class="cline-any cline-neutral">&nbsp;</span>
255
255
  <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-yes">2x</span>
256
+ <span class="cline-any cline-yes">1x</span>
257
257
  <span class="cline-any cline-neutral">&nbsp;</span>
258
258
  <span class="cline-any cline-neutral">&nbsp;</span>
259
259
  <span class="cline-any cline-yes">34x</span>
@@ -493,7 +493,7 @@ exports.getFromMemoryDoc = async (db, viewName) =&gt; {
493
493
  <div class='footer quiet pad2 space-top1 center small'>
494
494
  Code coverage generated by
495
495
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
496
- at Thu Oct 21 2021 11:55:09 GMT+0000 (Coordinated Universal Time)
496
+ at Mon Oct 25 2021 09:06:28 GMT+0000 (Coordinated Universal Time)
497
497
  </div>
498
498
  </div>
499
499
  <script src="../../../prettify.js"></script>