@budibase/server 1.0.200-alpha.3 → 1.0.200

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 (285) hide show
  1. package/Dockerfile +0 -2
  2. package/builder/assets/index.f83b3433.js +1315 -0
  3. package/builder/index.html +1 -1
  4. package/coverage/clover.xml +1998 -2086
  5. package/coverage/coverage-final.json +122 -121
  6. package/coverage/lcov-report/api/controllers/analytics.js.html +202 -0
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  8. package/coverage/lcov-report/api/controllers/auth.js.html +7 -7
  9. package/coverage/lcov-report/api/controllers/automation.js.html +72 -174
  10. package/coverage/lcov-report/api/controllers/backup.js.html +6 -30
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +11 -11
  12. package/coverage/lcov-report/api/controllers/component.js.html +5 -5
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +41 -53
  14. package/coverage/lcov-report/api/controllers/dev.js.html +70 -94
  15. package/coverage/lcov-report/api/controllers/index.html +72 -57
  16. package/coverage/lcov-report/api/controllers/integration.js.html +8 -8
  17. package/coverage/lcov-report/api/controllers/layout.js.html +19 -28
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +4 -4
  20. package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/validation.js.html +10 -10
  23. package/coverage/lcov-report/api/controllers/role.js.html +48 -78
  24. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  25. package/coverage/lcov-report/api/controllers/row/external.js.html +19 -19
  26. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internal.js.html +54 -54
  28. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +9 -9
  29. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -24
  30. package/coverage/lcov-report/api/controllers/row/utils.js.html +24 -24
  31. package/coverage/lcov-report/api/controllers/screen.js.html +20 -56
  32. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  33. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +49 -49
  34. package/coverage/lcov-report/api/controllers/table/external.js.html +17 -23
  35. package/coverage/lcov-report/api/controllers/table/index.html +26 -26
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +49 -85
  37. package/coverage/lcov-report/api/controllers/templates.js.html +6 -6
  38. package/coverage/lcov-report/api/controllers/user.js.html +19 -19
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +11 -11
  40. package/coverage/lcov-report/api/controllers/view/index.html +21 -21
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +65 -275
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +23 -23
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +40 -40
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +17 -17
  45. package/coverage/lcov-report/api/index.html +15 -15
  46. package/coverage/lcov-report/api/index.js.html +45 -39
  47. package/coverage/lcov-report/api/routes/analytics.js.html +13 -7
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  49. package/coverage/lcov-report/api/routes/auth.js.html +6 -6
  50. package/coverage/lcov-report/api/routes/automation.js.html +11 -11
  51. package/coverage/lcov-report/api/routes/backup.js.html +8 -8
  52. package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
  53. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  54. package/coverage/lcov-report/api/routes/datasource.js.html +9 -9
  55. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  56. package/coverage/lcov-report/api/routes/dev.js.html +13 -13
  57. package/coverage/lcov-report/api/routes/index.html +1 -1
  58. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  59. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  60. package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
  61. package/coverage/lcov-report/api/routes/migrations.js.html +7 -7
  62. package/coverage/lcov-report/api/routes/permission.js.html +9 -9
  63. package/coverage/lcov-report/api/routes/query.js.html +10 -10
  64. package/coverage/lcov-report/api/routes/role.js.html +9 -9
  65. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  66. package/coverage/lcov-report/api/routes/screen.js.html +9 -9
  67. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/table.js.html +10 -10
  69. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  70. package/coverage/lcov-report/api/routes/user.js.html +8 -8
  71. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  72. package/coverage/lcov-report/api/routes/utils/validators.js.html +36 -36
  73. package/coverage/lcov-report/api/routes/view.js.html +10 -10
  74. package/coverage/lcov-report/api/routes/webhook.js.html +9 -9
  75. package/coverage/lcov-report/automations/actions.js.html +25 -25
  76. package/coverage/lcov-report/automations/automationUtils.js.html +8 -8
  77. package/coverage/lcov-report/automations/bullboard.js.html +35 -35
  78. package/coverage/lcov-report/automations/index.html +29 -29
  79. package/coverage/lcov-report/automations/index.js.html +17 -29
  80. package/coverage/lcov-report/automations/steps/bash.js.html +7 -7
  81. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  82. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  83. package/coverage/lcov-report/automations/steps/executeQuery.js.html +7 -7
  84. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  85. package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
  86. package/coverage/lcov-report/automations/steps/index.html +1 -1
  87. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  88. package/coverage/lcov-report/automations/steps/loop.js.html +2 -2
  89. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  90. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
  91. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  92. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  93. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  94. package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
  95. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  96. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  97. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  98. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  99. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  101. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  102. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  103. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  104. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  105. package/coverage/lcov-report/automations/triggers.js.html +18 -18
  106. package/coverage/lcov-report/constants/index.html +1 -1
  107. package/coverage/lcov-report/constants/index.js.html +30 -30
  108. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  109. package/coverage/lcov-report/constants/screens.js.html +4 -4
  110. package/coverage/lcov-report/db/inMemoryView.js.html +5 -5
  111. package/coverage/lcov-report/db/index.html +1 -1
  112. package/coverage/lcov-report/db/index.js.html +9 -9
  113. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +17 -17
  114. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/index.js.html +36 -36
  116. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +19 -19
  117. package/coverage/lcov-report/db/newid.js.html +4 -4
  118. package/coverage/lcov-report/db/utils.js.html +81 -81
  119. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  120. package/coverage/lcov-report/events/index.html +1 -1
  121. package/coverage/lcov-report/events/index.js.html +7 -7
  122. package/coverage/lcov-report/events/utils.js.html +10 -10
  123. package/coverage/lcov-report/index.html +74 -74
  124. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  125. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  126. package/coverage/lcov-report/middleware/appInfo.js.html +5 -5
  127. package/coverage/lcov-report/middleware/builder.js.html +20 -20
  128. package/coverage/lcov-report/middleware/currentapp.js.html +49 -49
  129. package/coverage/lcov-report/middleware/index.html +1 -1
  130. package/coverage/lcov-report/middleware/joi-validator.js.html +14 -14
  131. package/coverage/lcov-report/middleware/publicApi.js.html +5 -5
  132. package/coverage/lcov-report/middleware/resourceId.js.html +29 -29
  133. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  134. package/coverage/lcov-report/middleware/utils.js.html +4 -4
  135. package/coverage/lcov-report/threads/automation.js.html +1 -1
  136. package/coverage/lcov-report/threads/index.html +1 -1
  137. package/coverage/lcov-report/threads/query.js.html +1 -1
  138. package/coverage/lcov-report/threads/utils.js.html +13 -13
  139. package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
  140. package/coverage/lcov-report/utilities/centralPath.js.html +14 -14
  141. package/coverage/lcov-report/utilities/csvParser.js.html +34 -34
  142. package/coverage/lcov-report/utilities/global.js.html +28 -28
  143. package/coverage/lcov-report/utilities/index.html +25 -25
  144. package/coverage/lcov-report/utilities/index.js.html +41 -41
  145. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +18 -18
  146. package/coverage/lcov-report/utilities/queue/index.html +15 -15
  147. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  148. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  149. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  150. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +59 -59
  151. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +15 -15
  152. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  153. package/coverage/lcov-report/utilities/security.js.html +8 -8
  154. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  156. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +30 -30
  157. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  158. package/coverage/lcov-report/utilities/users.js.html +7 -7
  159. package/coverage/lcov-report/utilities/workerRequests.js.html +29 -29
  160. package/coverage/lcov.info +2762 -2903
  161. package/dist/api/controllers/analytics.js +30 -7
  162. package/dist/api/controllers/application.js +16 -56
  163. package/dist/api/controllers/automation.js +2 -31
  164. package/dist/api/controllers/backup.js +0 -7
  165. package/dist/api/controllers/datasource.js +2 -8
  166. package/dist/api/controllers/deploy/index.js +2 -6
  167. package/dist/api/controllers/dev.js +2 -9
  168. package/dist/api/controllers/layout.js +0 -3
  169. package/dist/api/controllers/query/import/index.js +2 -12
  170. package/dist/api/controllers/query/import/sources/curl.js +0 -3
  171. package/dist/api/controllers/query/import/sources/openapi2.js +0 -3
  172. package/dist/api/controllers/query/import/sources/openapi3.js +0 -3
  173. package/dist/api/controllers/query/index.js +2 -16
  174. package/dist/api/controllers/role.js +0 -11
  175. package/dist/api/controllers/screen.js +1 -10
  176. package/dist/api/controllers/static/index.js +15 -29
  177. package/dist/api/controllers/table/external.js +0 -2
  178. package/dist/api/controllers/table/index.js +0 -12
  179. package/dist/api/controllers/table/utils.js +3 -3
  180. package/dist/api/controllers/view/index.js +6 -62
  181. package/dist/api/index.js +4 -2
  182. package/dist/api/routes/analytics.js +3 -1
  183. package/dist/app.js +8 -16
  184. package/dist/automations/index.js +0 -4
  185. package/dist/automations/steps/executeQuery.js +1 -1
  186. package/dist/environment.js +2 -4
  187. package/dist/integrations/firebase.js +0 -1
  188. package/dist/migrations/index.js +31 -95
  189. package/dist/package.json +69 -79
  190. package/dist/tests/utilities/TestConfiguration.js +93 -121
  191. package/dist/tests/utilities/structures.js +0 -45
  192. package/dist/tsconfig.build.tsbuildinfo +1 -1
  193. package/nodemon.json +1 -1
  194. package/package.json +70 -80
  195. package/scripts/dev/manage.js +0 -2
  196. package/scripts/jestSetup.js +0 -7
  197. package/scripts/likeCypress.ts +1 -1
  198. package/src/api/controllers/analytics.js +39 -0
  199. package/src/api/controllers/application.ts +18 -60
  200. package/src/api/controllers/automation.js +2 -36
  201. package/src/api/controllers/backup.js +0 -8
  202. package/src/api/controllers/datasource.js +4 -8
  203. package/src/api/controllers/deploy/index.ts +2 -6
  204. package/src/api/controllers/dev.js +2 -10
  205. package/src/api/controllers/layout.js +0 -3
  206. package/src/api/controllers/query/import/index.ts +3 -16
  207. package/src/api/controllers/query/import/sources/base/index.ts +1 -2
  208. package/src/api/controllers/query/import/sources/curl.ts +0 -4
  209. package/src/api/controllers/query/import/sources/openapi2.ts +0 -4
  210. package/src/api/controllers/query/import/sources/openapi3.ts +0 -4
  211. package/src/api/controllers/query/import/tests/index.spec.js +7 -20
  212. package/src/api/controllers/query/index.ts +3 -16
  213. package/src/api/controllers/role.js +0 -10
  214. package/src/api/controllers/screen.js +1 -13
  215. package/src/api/controllers/static/index.js +15 -28
  216. package/src/api/controllers/table/external.js +0 -2
  217. package/src/api/controllers/table/index.js +0 -12
  218. package/src/api/controllers/table/utils.ts +4 -4
  219. package/src/api/controllers/view/index.js +6 -76
  220. package/src/api/index.js +4 -2
  221. package/src/api/routes/analytics.js +3 -1
  222. package/src/api/routes/public/utils/Endpoint.ts +1 -1
  223. package/src/api/routes/tests/__snapshots__/datasource.spec.js.snap +1 -5
  224. package/src/api/routes/tests/application.spec.js +4 -64
  225. package/src/api/routes/tests/automation.spec.js +60 -168
  226. package/src/api/routes/tests/backup.spec.js +0 -2
  227. package/src/api/routes/tests/datasource.spec.js +0 -5
  228. package/src/api/routes/tests/layout.spec.js +0 -4
  229. package/src/api/routes/tests/query.spec.js +13 -56
  230. package/src/api/routes/tests/role.spec.js +7 -40
  231. package/src/api/routes/tests/row.spec.js +3 -2
  232. package/src/api/routes/tests/screen.spec.js +4 -30
  233. package/src/api/routes/tests/static.spec.js +54 -120
  234. package/src/api/routes/tests/table.spec.js +38 -102
  235. package/src/api/routes/tests/view.spec.js +43 -222
  236. package/src/app.ts +9 -18
  237. package/src/automations/index.js +0 -4
  238. package/src/automations/steps/executeQuery.js +1 -1
  239. package/src/automations/tests/delay.spec.js +0 -4
  240. package/src/environment.js +2 -5
  241. package/src/integrations/firebase.ts +0 -1
  242. package/src/migrations/index.ts +51 -120
  243. package/src/module.d.ts +1 -0
  244. package/src/tests/utilities/TestConfiguration.js +90 -138
  245. package/src/tests/utilities/structures.js +0 -71
  246. package/tsconfig.build.json +5 -20
  247. package/tsconfig.json +17 -22
  248. package/builder/assets/index.05491b9d.js +0 -1315
  249. package/dist/migrations/functions/backfill/app/automations.js +0 -31
  250. package/dist/migrations/functions/backfill/app/datasources.js +0 -28
  251. package/dist/migrations/functions/backfill/app/layouts.js +0 -33
  252. package/dist/migrations/functions/backfill/app/queries.js +0 -32
  253. package/dist/migrations/functions/backfill/app/roles.js +0 -28
  254. package/dist/migrations/functions/backfill/app/screens.js +0 -28
  255. package/dist/migrations/functions/backfill/app/tables.js +0 -40
  256. package/dist/migrations/functions/backfill/app.js +0 -175
  257. package/dist/migrations/functions/backfill/global/configs.js +0 -61
  258. package/dist/migrations/functions/backfill/global/quotas.js +0 -60
  259. package/dist/migrations/functions/backfill/global/users.js +0 -50
  260. package/dist/migrations/functions/backfill/global.js +0 -189
  261. package/dist/migrations/functions/backfill/index.js +0 -32
  262. package/dist/migrations/functions/backfill/installation.js +0 -80
  263. package/dist/migrations/tests/helpers.js +0 -72
  264. package/dist/migrations/tests/structures.js +0 -37
  265. package/src/api/controllers/analytics.ts +0 -8
  266. package/src/api/routes/tests/data/export.txt +0 -1
  267. package/src/api/routes/tests/deployment.spec.js +0 -25
  268. package/src/api/routes/tests/dev.spec.js +0 -40
  269. package/src/migrations/functions/backfill/app/automations.ts +0 -26
  270. package/src/migrations/functions/backfill/app/datasources.ts +0 -22
  271. package/src/migrations/functions/backfill/app/layouts.ts +0 -29
  272. package/src/migrations/functions/backfill/app/queries.ts +0 -33
  273. package/src/migrations/functions/backfill/app/roles.ts +0 -22
  274. package/src/migrations/functions/backfill/app/screens.ts +0 -22
  275. package/src/migrations/functions/backfill/app/tables.ts +0 -36
  276. package/src/migrations/functions/backfill/app.ts +0 -148
  277. package/src/migrations/functions/backfill/global/configs.ts +0 -66
  278. package/src/migrations/functions/backfill/global/quotas.ts +0 -60
  279. package/src/migrations/functions/backfill/global/users.ts +0 -49
  280. package/src/migrations/functions/backfill/global.ts +0 -194
  281. package/src/migrations/functions/backfill/index.ts +0 -7
  282. package/src/migrations/functions/backfill/installation.ts +0 -50
  283. package/src/migrations/tests/helpers.ts +0 -40
  284. package/src/migrations/tests/index.spec.ts +0 -132
  285. package/src/migrations/tests/structures.ts +0 -66
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90.38% </span>
26
+ <span class="strong">88.4% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>94/104</span>
28
+ <span class='fraction'>61/69</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">90.76% </span>
33
+ <span class="strong">72% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>59/65</span>
35
+ <span class='fraction'>18/25</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">72.72% </span>
40
+ <span class="strong">62.5% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/11</span>
42
+ <span class='fraction'>5/8</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">91.26% </span>
47
+ <span class="strong">89.7% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>94/103</span>
49
+ <span class='fraction'>61/68</span>
50
50
  </div>
51
51
 
52
52
 
@@ -182,183 +182,49 @@
182
182
  <a name='L117'></a><a href='#L117'>117</a>
183
183
  <a name='L118'></a><a href='#L118'>118</a>
184
184
  <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">43x</span>
256
- <span class="cline-any cline-yes">43x</span>
257
- <span class="cline-any cline-yes">43x</span>
258
- <span class="cline-any cline-yes">43x</span>
259
- <span class="cline-any cline-yes">43x</span>
260
- <span class="cline-any cline-yes">43x</span>
261
- <span class="cline-any cline-yes">43x</span>
262
- <span class="cline-any cline-yes">43x</span>
263
- <span class="cline-any cline-yes">43x</span>
264
- <span class="cline-any cline-yes">43x</span>
265
- <span class="cline-any cline-yes">43x</span>
266
- <span class="cline-any cline-neutral">&nbsp;</span>
267
- <span class="cline-any cline-yes">43x</span>
185
+ <a name='L120'></a><a href='#L120'>120</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
186
+ <span class="cline-any cline-yes">40x</span>
187
+ <span class="cline-any cline-yes">40x</span>
188
+ <span class="cline-any cline-yes">40x</span>
189
+ <span class="cline-any cline-yes">40x</span>
190
+ <span class="cline-any cline-yes">40x</span>
191
+ <span class="cline-any cline-yes">40x</span>
192
+ <span class="cline-any cline-yes">40x</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-yes">40x</span>
268
195
  <span class="cline-any cline-yes">1x</span>
269
196
  <span class="cline-any cline-neutral">&nbsp;</span>
270
197
  <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-yes">43x</span>
272
- <span class="cline-any cline-yes">23x</span>
273
- <span class="cline-any cline-yes">23x</span>
274
- <span class="cline-any cline-yes">23x</span>
275
- <span class="cline-any cline-yes">23x</span>
198
+ <span class="cline-any cline-yes">40x</span>
199
+ <span class="cline-any cline-yes">8x</span>
200
+ <span class="cline-any cline-yes">8x</span>
201
+ <span class="cline-any cline-yes">8x</span>
276
202
  <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-yes">23x</span>
203
+ <span class="cline-any cline-yes">8x</span>
278
204
  <span class="cline-any cline-no">&nbsp;</span>
279
205
  <span class="cline-any cline-neutral">&nbsp;</span>
280
206
  <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-yes">23x</span>
207
+ <span class="cline-any cline-yes">8x</span>
282
208
  <span class="cline-any cline-neutral">&nbsp;</span>
283
209
  <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-yes">23x</span>
285
- <span class="cline-any cline-yes">23x</span>
286
- <span class="cline-any cline-yes">23x</span>
287
- <span class="cline-any cline-yes">23x</span>
288
- <span class="cline-any cline-yes">7x</span>
210
+ <span class="cline-any cline-yes">8x</span>
211
+ <span class="cline-any cline-yes">8x</span>
212
+ <span class="cline-any cline-yes">8x</span>
213
+ <span class="cline-any cline-yes">3x</span>
289
214
  <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-yes">23x</span>
291
- <span class="cline-any cline-yes">23x</span>
292
- <span class="cline-any cline-no">&nbsp;</span>
215
+ <span class="cline-any cline-yes">8x</span>
216
+ <span class="cline-any cline-yes">8x</span>
293
217
  <span class="cline-any cline-no">&nbsp;</span>
294
218
  <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-yes">23x</span>
296
- <span class="cline-any cline-yes">23x</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-yes">23x</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-yes">43x</span>
305
- <span class="cline-any cline-yes">23x</span>
306
- <span class="cline-any cline-yes">23x</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-yes">23x</span>
309
- <span class="cline-any cline-yes">1x</span>
310
- <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-yes">23x</span>
313
- <span class="cline-any cline-yes">12x</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-yes">23x</span>
317
- <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-yes">1x</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-yes">43x</span>
326
- <span class="cline-any cline-yes">23x</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-yes">23x</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-yes">23x</span>
334
- <span class="cline-any cline-yes">1x</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-yes">23x</span>
338
- <span class="cline-any cline-yes">4x</span>
339
- <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-yes">23x</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-yes">1x</span>
347
- <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-yes">8x</span>
348
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
+ <span class="cline-any cline-yes">8x</span>
349
222
  <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-yes">43x</span>
351
- <span class="cline-any cline-yes">23x</span>
352
- <span class="cline-any cline-yes">18x</span>
353
223
  <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-yes">5x</span>
355
224
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">23x</span>
357
- <span class="cline-any cline-yes">23x</span>
358
225
  <span class="cline-any cline-neutral">&nbsp;</span>
359
226
  <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-yes">43x</span>
361
- <span class="cline-any cline-yes">1x</span>
227
+ <span class="cline-any cline-yes">40x</span>
362
228
  <span class="cline-any cline-yes">1x</span>
363
229
  <span class="cline-any cline-yes">1x</span>
364
230
  <span class="cline-any cline-yes">1x</span>
@@ -369,16 +235,16 @@
369
235
  <span class="cline-any cline-yes">1x</span>
370
236
  <span class="cline-any cline-neutral">&nbsp;</span>
371
237
  <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-yes">43x</span>
373
- <span class="cline-any cline-yes">4x</span>
374
- <span class="cline-any cline-yes">4x</span>
238
+ <span class="cline-any cline-yes">40x</span>
239
+ <span class="cline-any cline-yes">2x</span>
240
+ <span class="cline-any cline-yes">2x</span>
375
241
  <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-yes">4x</span>
377
- <span class="cline-any cline-yes">4x</span>
242
+ <span class="cline-any cline-yes">2x</span>
243
+ <span class="cline-any cline-yes">2x</span>
378
244
  <span class="cline-any cline-no">&nbsp;</span>
379
245
  <span class="cline-any cline-neutral">&nbsp;</span>
380
246
  <span class="cline-any cline-neutral">&nbsp;</span>
381
- <span class="cline-any cline-yes">4x</span>
247
+ <span class="cline-any cline-yes">2x</span>
382
248
  <span class="cline-any cline-yes">2x</span>
383
249
  <span class="cline-any cline-neutral">&nbsp;</span>
384
250
  <span class="cline-any cline-yes">2x</span>
@@ -393,22 +259,22 @@
393
259
  <span class="cline-any cline-neutral">&nbsp;</span>
394
260
  <span class="cline-any cline-neutral">&nbsp;</span>
395
261
  <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-yes">4x</span>
397
- <span class="cline-any cline-yes">4x</span>
262
+ <span class="cline-any cline-yes">2x</span>
263
+ <span class="cline-any cline-yes">2x</span>
398
264
  <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-yes">4x</span>
400
- <span class="cline-any cline-yes">4x</span>
401
- <span class="cline-any cline-yes">4x</span>
402
- <span class="cline-any cline-yes">4x</span>
403
- <span class="cline-any cline-yes">4x</span>
265
+ <span class="cline-any cline-yes">2x</span>
266
+ <span class="cline-any cline-yes">2x</span>
267
+ <span class="cline-any cline-yes">2x</span>
268
+ <span class="cline-any cline-yes">2x</span>
269
+ <span class="cline-any cline-yes">2x</span>
404
270
  <span class="cline-any cline-neutral">&nbsp;</span>
405
271
  <span class="cline-any cline-neutral">&nbsp;</span>
406
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-yes">2x</span>
407
274
  <span class="cline-any cline-yes">4x</span>
408
- <span class="cline-any cline-yes">8x</span>
409
275
  <span class="cline-any cline-no">&nbsp;</span>
410
276
  <span class="cline-any cline-neutral">&nbsp;</span>
411
- <span class="cline-any cline-yes">4x</span>
277
+ <span class="cline-any cline-yes">2x</span>
412
278
  <span class="cline-any cline-no">&nbsp;</span>
413
279
  <span class="cline-any cline-no">&nbsp;</span>
414
280
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -416,30 +282,24 @@
416
282
  <span class="cline-any cline-neutral">&nbsp;</span>
417
283
  <span class="cline-any cline-neutral">&nbsp;</span>
418
284
  <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-yes">4x</span>
285
+ <span class="cline-any cline-yes">2x</span>
286
+ <span class="cline-any cline-yes">1x</span>
287
+ <span class="cline-any cline-yes">1x</span>
288
+ <span class="cline-any cline-yes">2x</span>
420
289
  <span class="cline-any cline-yes">2x</span>
421
290
  <span class="cline-any cline-yes">2x</span>
422
- <span class="cline-any cline-yes">4x</span>
423
- <span class="cline-any cline-yes">4x</span>
424
- <span class="cline-any cline-no">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
291
  <span class="cline-any cline-neutral">&nbsp;</span>
428
292
  <span class="cline-any cline-neutral">&nbsp;</span>
429
293
  <span class="cline-any cline-neutral">&nbsp;</span>
430
294
  <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-yes">4x</span>
432
- <span class="cline-any cline-yes">4x</span>
433
- <span class="cline-any cline-yes">4x</span>
434
295
  <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-yes">4x</span>
436
- <span class="cline-any cline-yes">4x</span>
437
296
  <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-yes">4x</span>
439
297
  <span class="cline-any cline-yes">2x</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-yes">2x</span>
441
299
  <span class="cline-any cline-yes">2x</span>
442
300
  <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-yes">2x</span>
302
+ <span class="cline-any cline-yes">2x</span>
443
303
  <span class="cline-any cline-neutral">&nbsp;</span>
444
304
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const viewTemplate = require("./viewBuilder")
445
305
  const { apiFileReturn } = require("../../../utilities/fileSystem")
@@ -449,9 +309,6 @@ const { fetchView } = require("../row")
449
309
  const { getTable } = require("../table/utils")
450
310
  const { FieldTypes } = require("../../../constants")
451
311
  const { getAppDB } = require("@budibase/backend-core/context")
452
- const { events } = require("@budibase/backend-core")
453
- const { DocumentTypes } = require("../../../db/utils")
454
- const { cloneDeep, isEqual } = require("lodash")
455
312
  &nbsp;
456
313
  exports.fetch = async ctx =&gt; {
457
314
  ctx.body = await getViews()
@@ -461,28 +318,24 @@ exports.save = async ctx =&gt; {
461
318
  const db = getAppDB()
462
319
  const { originalName, ...viewToSave } = ctx.request.body
463
320
  const view = viewTemplate(viewToSave)
464
- const viewName = viewToSave.name
465
321
  &nbsp;
466
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!viewName) {
322
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!viewToSave.name) {
467
323
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot create view without a name")</span>
468
324
  }
469
325
  &nbsp;
470
- await saveView(originalName, viewName, view)
326
+ await saveView(originalName, viewToSave.name, view)
471
327
  &nbsp;
472
328
  // add views to table document
473
- const existingTable = await db.get(ctx.request.body.tableId)
474
- const table = cloneDeep(existingTable)
329
+ const table = await db.get(ctx.request.body.tableId)
475
330
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!table.views) <span class="cstat-no" title="statement not covered" >table.views = {}</span>
476
331
  if (!view.meta.schema) {
477
332
  view.meta.schema = table.schema
478
333
  }
479
- table.views[viewName] = view.meta
334
+ table.views[viewToSave.name] = view.meta
480
335
  <span class="missing-if-branch" title="if path not taken" >I</span>if (originalName) {
481
336
  <span class="cstat-no" title="statement not covered" > delete table.views[originalName]</span>
482
- <span class="cstat-no" title="statement not covered" > existingTable.views[viewName] = existingTable.views[originalName]</span>
483
337
  }
484
338
  await db.put(table)
485
- await handleViewEvents(existingTable.views[viewName], table.views[viewName])
486
339
  &nbsp;
487
340
  ctx.body = {
488
341
  ...table.views[viewToSave.name],
@@ -490,62 +343,6 @@ exports.save = async ctx =&gt; {
490
343
  }
491
344
  }
492
345
  &nbsp;
493
- const calculationEvents = async (existingView, newView) =&gt; {
494
- const existingCalculation = existingView &amp;&amp; existingView.calculation
495
- const newCalculation = newView &amp;&amp; newView.calculation
496
- &nbsp;
497
- if (existingCalculation &amp;&amp; !newCalculation) {
498
- await events.view.calculationDeleted(existingView)
499
- }
500
- &nbsp;
501
- if (!existingCalculation &amp;&amp; newCalculation) {
502
- await events.view.calculationCreated(newView)
503
- }
504
- &nbsp;
505
- if (
506
- existingCalculation &amp;&amp;
507
- newCalculation &amp;&amp;
508
- existingCalculation !== newCalculation
509
- ) {
510
- await events.view.calculationUpdated(newView)
511
- }
512
- }
513
- &nbsp;
514
- const filterEvents = async (existingView, newView) =&gt; {
515
- const hasExistingFilters = !!(
516
- existingView &amp;&amp;
517
- existingView.filters &amp;&amp;
518
- existingView.filters.length
519
- )
520
- const hasNewFilters = !!(newView &amp;&amp; newView.filters &amp;&amp; newView.filters.length)
521
- &nbsp;
522
- if (hasExistingFilters &amp;&amp; !hasNewFilters) {
523
- await events.view.filterDeleted(newView)
524
- }
525
- &nbsp;
526
- if (!hasExistingFilters &amp;&amp; hasNewFilters) {
527
- await events.view.filterCreated(newView)
528
- }
529
- &nbsp;
530
- if (
531
- hasExistingFilters &amp;&amp;
532
- hasNewFilters &amp;&amp;
533
- !isEqual(existingView.filters, newView.filters)
534
- ) {
535
- await events.view.filterUpdated(newView)
536
- }
537
- }
538
- &nbsp;
539
- const handleViewEvents = async (existingView, newView) =&gt; {
540
- if (!existingView) {
541
- await events.view.created(newView)
542
- } else {
543
- await events.view.updated(newView)
544
- }
545
- await calculationEvents(existingView, newView)
546
- await filterEvents(existingView, newView)
547
- }
548
- &nbsp;
549
346
  exports.destroy = async ctx =&gt; {
550
347
  const db = getAppDB()
551
348
  const viewName = decodeURI(ctx.params.viewName)
@@ -553,7 +350,6 @@ exports.destroy = async ctx =&gt; {
553
350
  const table = await db.get(view.meta.tableId)
554
351
  delete table.views[viewName]
555
352
  await db.put(table)
556
- await events.view.deleted(view)
557
353
  &nbsp;
558
354
  ctx.body = view
559
355
  }
@@ -576,7 +372,7 @@ exports.exportView = async ctx =&gt; {
576
372
  stats: !!view.meta.field,
577
373
  field: view.meta.field,
578
374
  }
579
- } else {
375
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>{
580
376
  // table all_ view
581
377
  /* istanbul ignore next */
582
378
  ctx.params.viewName = viewName
@@ -586,9 +382,9 @@ exports.exportView = async ctx =&gt; {
586
382
  let rows = ctx.body
587
383
  &nbsp;
588
384
  let schema = view &amp;&amp; view.meta &amp;&amp; view.meta.schema
589
- const tableId = ctx.params.tableId || view.meta.tableId
590
- const table = await getTable(tableId)
591
385
  <span class="missing-if-branch" title="else path not taken" >E</span>if (!schema) {
386
+ const tableId = ctx.params.tableId || view.meta.tableId
387
+ const table = await getTable(tableId)
592
388
  schema = table.schema
593
389
  }
594
390
  &nbsp;
@@ -609,8 +405,8 @@ exports.exportView = async ctx =&gt; {
609
405
  const schemaKeys = Object.keys(schema)
610
406
  for (let key of schemaKeys) {
611
407
  for (let row of rows) {
612
- <span class="missing-if-branch" title="if path not taken" >I</span>if (row[key] == null) {
613
- <span class="cstat-no" title="statement not covered" > row[key] = ""</span>
408
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (row[key] == null) {
409
+ row[key] = ""
614
410
  }
615
411
  }
616
412
  }
@@ -623,12 +419,6 @@ exports.exportView = async ctx =&gt; {
623
419
  // send down the file
624
420
  ctx.attachment(filename)
625
421
  ctx.body = apiFileReturn(exporter(headers, rows))
626
- &nbsp;
627
- if (viewName.startsWith(DocumentTypes.TABLE)) {
628
- await events.table.exported(table, format)
629
- } else {
630
- await events.view.exported(table, format)
631
- }
632
422
  }
633
423
  &nbsp;</pre></td></tr></table></pre>
634
424
 
@@ -637,7 +427,7 @@ exports.exportView = async ctx =&gt; {
637
427
  <div class='footer quiet pad2 space-top1 center small'>
638
428
  Code coverage generated by
639
429
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
640
- at Mon Jun 13 2022 21:38:45 GMT+0000 (Coordinated Universal Time)
430
+ at Tue Jun 14 2022 15:56:11 GMT+0000 (Coordinated Universal Time)
641
431
  </div>
642
432
  <script src="../../../prettify.js"></script>
643
433
  <script>
@@ -219,16 +219,16 @@
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-yes">44x</span>
223
- <span class="cline-any cline-yes">44x</span>
224
- <span class="cline-any cline-yes">44x</span>
225
- <span class="cline-any cline-yes">44x</span>
222
+ <span class="cline-any cline-yes">41x</span>
223
+ <span class="cline-any cline-yes">41x</span>
224
+ <span class="cline-any cline-yes">41x</span>
225
+ <span class="cline-any cline-yes">41x</span>
226
226
  <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-yes">44x</span>
228
- <span class="cline-any cline-yes">4x</span>
229
- <span class="cline-any cline-yes">4x</span>
230
- <span class="cline-any cline-yes">4x</span>
231
- <span class="cline-any cline-yes">4x</span>
227
+ <span class="cline-any cline-yes">41x</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>
232
232
  <span class="cline-any cline-neutral">&nbsp;</span>
233
233
  <span class="cline-any cline-neutral">&nbsp;</span>
234
234
  <span class="cline-any cline-no">&nbsp;</span>
@@ -240,7 +240,7 @@
240
240
  <span class="cline-any cline-neutral">&nbsp;</span>
241
241
  <span class="cline-any cline-neutral">&nbsp;</span>
242
242
  <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-yes">44x</span>
243
+ <span class="cline-any cline-yes">41x</span>
244
244
  <span class="cline-any cline-yes">2x</span>
245
245
  <span class="cline-any cline-yes">2x</span>
246
246
  <span class="cline-any cline-yes">2x</span>
@@ -273,19 +273,19 @@
273
273
  <span class="cline-any cline-yes">2x</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
275
275
  <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-yes">44x</span>
277
- <span class="cline-any cline-yes">23x</span>
278
- <span class="cline-any cline-yes">23x</span>
279
- <span class="cline-any cline-yes">23x</span>
280
- <span class="cline-any cline-yes">23x</span>
276
+ <span class="cline-any cline-yes">41x</span>
277
+ <span class="cline-any cline-yes">8x</span>
278
+ <span class="cline-any cline-yes">8x</span>
279
+ <span class="cline-any cline-yes">8x</span>
280
+ <span class="cline-any cline-yes">8x</span>
281
281
  <span class="cline-any cline-neutral">&nbsp;</span>
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
283
  <span class="cline-any cline-neutral">&nbsp;</span>
284
284
  <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-yes">23x</span>
285
+ <span class="cline-any cline-yes">8x</span>
286
286
  <span class="cline-any cline-no">&nbsp;</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">23x</span>
288
+ <span class="cline-any cline-yes">8x</span>
289
289
  <span class="cline-any cline-neutral">&nbsp;</span>
290
290
  <span class="cline-any cline-no">&nbsp;</span>
291
291
  <span class="cline-any cline-no">&nbsp;</span>
@@ -311,7 +311,7 @@
311
311
  <span class="cline-any cline-neutral">&nbsp;</span>
312
312
  <span class="cline-any cline-neutral">&nbsp;</span>
313
313
  <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-yes">44x</span>
314
+ <span class="cline-any cline-yes">41x</span>
315
315
  <span class="cline-any cline-yes">1x</span>
316
316
  <span class="cline-any cline-yes">1x</span>
317
317
  <span class="cline-any cline-yes">1x</span>
@@ -327,7 +327,7 @@
327
327
  <span class="cline-any cline-neutral">&nbsp;</span>
328
328
  <span class="cline-any cline-neutral">&nbsp;</span>
329
329
  <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-yes">44x</span>
330
+ <span class="cline-any cline-yes">41x</span>
331
331
  <span class="cline-any cline-neutral">&nbsp;</span>
332
332
  <span class="cline-any cline-no">&nbsp;</span>
333
333
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -337,7 +337,7 @@
337
337
  <span class="cline-any cline-no">&nbsp;</span>
338
338
  <span class="cline-any cline-neutral">&nbsp;</span>
339
339
  <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-yes">44x</span>
340
+ <span class="cline-any cline-yes">41x</span>
341
341
  <span class="cline-any cline-no">&nbsp;</span>
342
342
  <span class="cline-any cline-no">&nbsp;</span>
343
343
  <span class="cline-any cline-no">&nbsp;</span>
@@ -345,7 +345,7 @@
345
345
  <span class="cline-any cline-no">&nbsp;</span>
346
346
  <span class="cline-any cline-neutral">&nbsp;</span>
347
347
  <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-yes">44x</span>
348
+ <span class="cline-any cline-yes">41x</span>
349
349
  <span class="cline-any cline-yes">6x</span>
350
350
  <span class="cline-any cline-yes">6x</span>
351
351
  <span class="cline-any cline-yes">6x</span>
@@ -354,7 +354,7 @@
354
354
  <span class="cline-any cline-yes">5x</span>
355
355
  <span class="cline-any cline-neutral">&nbsp;</span>
356
356
  <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-yes">44x</span>
357
+ <span class="cline-any cline-yes">41x</span>
358
358
  <span class="cline-any cline-yes">1x</span>
359
359
  <span class="cline-any cline-no">&nbsp;</span>
360
360
  <span class="cline-any cline-no">&nbsp;</span>
@@ -520,7 +520,7 @@ exports.getFromMemoryDoc = async (db, viewName) =&gt; {
520
520
  <div class='footer quiet pad2 space-top1 center small'>
521
521
  Code coverage generated by
522
522
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
523
- at Mon Jun 13 2022 21:38:45 GMT+0000 (Coordinated Universal Time)
523
+ at Tue Jun 14 2022 15:56:11 GMT+0000 (Coordinated Universal Time)
524
524
  </div>
525
525
  <script src="../../../prettify.js"></script>
526
526
  <script>