@budibase/server 0.9.185-alpha.12 → 0.9.185-alpha.16

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 (203) hide show
  1. package/Dockerfile +7 -1
  2. package/__mocks__/oracledb.ts +31 -0
  3. package/builder/assets/{index.4a7c5636.css → index.67ac3a72.css} +1 -1
  4. package/builder/assets/{index.708945dd.js → index.b14b663d.js} +181 -179
  5. package/builder/assets/oracle.66592424.png +0 -0
  6. package/builder/index.html +2 -2
  7. package/coverage/clover.xml +266 -244
  8. package/coverage/coverage-final.json +8 -8
  9. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/datasource.js.html +102 -18
  18. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/index.html +19 -19
  21. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/query.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +29 -8
  37. package/coverage/lcov-report/api/controllers/table/index.html +13 -13
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.html +1 -1
  64. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  81. package/coverage/lcov-report/automations/actions.js.html +1 -1
  82. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  83. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  84. package/coverage/lcov-report/automations/index.html +1 -1
  85. package/coverage/lcov-report/automations/index.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/index.html +1 -1
  95. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  113. package/coverage/lcov-report/automations/utils.js.html +1 -1
  114. package/coverage/lcov-report/constants/index.html +5 -5
  115. package/coverage/lcov-report/constants/index.js.html +44 -23
  116. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  117. package/coverage/lcov-report/constants/screens.js.html +1 -1
  118. package/coverage/lcov-report/db/client.js.html +1 -1
  119. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  120. package/coverage/lcov-report/db/index.html +1 -1
  121. package/coverage/lcov-report/db/index.js.html +1 -1
  122. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  123. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  124. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  126. package/coverage/lcov-report/db/newid.js.html +3 -3
  127. package/coverage/lcov-report/db/utils.js.html +57 -57
  128. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  129. package/coverage/lcov-report/events/index.html +1 -1
  130. package/coverage/lcov-report/events/index.js.html +1 -1
  131. package/coverage/lcov-report/events/utils.js.html +1 -1
  132. package/coverage/lcov-report/index.html +37 -37
  133. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  134. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  135. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  136. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  137. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  138. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  139. package/coverage/lcov-report/middleware/index.html +1 -1
  140. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  141. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  142. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  143. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  144. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  145. package/coverage/lcov-report/threads/automation.js.html +14 -8
  146. package/coverage/lcov-report/threads/index.html +27 -27
  147. package/coverage/lcov-report/threads/index.js.html +29 -11
  148. package/coverage/lcov-report/threads/query.js.html +16 -7
  149. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  150. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  151. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  152. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  153. package/coverage/lcov-report/utilities/global.js.html +1 -1
  154. package/coverage/lcov-report/utilities/index.html +1 -1
  155. package/coverage/lcov-report/utilities/index.js.html +1 -1
  156. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  157. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  158. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  159. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  160. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  161. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  162. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  163. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  164. package/coverage/lcov-report/utilities/security.js.html +1 -1
  165. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  166. package/coverage/lcov-report/utilities/users.js.html +1 -1
  167. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  168. package/coverage/lcov.info +380 -336
  169. package/dist/api/controllers/datasource.js +25 -5
  170. package/dist/api/controllers/table/external.js +8 -1
  171. package/dist/constants/index.js +6 -0
  172. package/dist/definitions/datasource.js +1 -0
  173. package/dist/environment.js +13 -0
  174. package/dist/integrations/base/sql.js +4 -0
  175. package/dist/integrations/index.js +6 -0
  176. package/dist/integrations/oracle.js +345 -0
  177. package/dist/integrations/utils.js +17 -2
  178. package/dist/package.json +8 -4
  179. package/dist/threads/automation.js +3 -1
  180. package/dist/threads/index.js +9 -3
  181. package/dist/threads/query.js +3 -0
  182. package/dist/tsconfig.tsbuildinfo +1 -1
  183. package/package.json +9 -5
  184. package/scripts/dev/manage.js +1 -0
  185. package/scripts/integrations/oracle/docker-compose.yml +19 -0
  186. package/scripts/integrations/oracle/instantclient/linux/x86-64/basiclite-21.4.zip +0 -0
  187. package/scripts/integrations/oracle/instantclient/linux/x86-64/install.sh +23 -0
  188. package/scripts/integrations/oracle/oracle.md +90 -0
  189. package/scripts/integrations/postgres/docker-compose.yml +3 -3
  190. package/src/api/controllers/datasource.js +35 -7
  191. package/src/api/controllers/table/external.js +8 -1
  192. package/src/constants/index.js +7 -0
  193. package/src/definitions/datasource.ts +1 -0
  194. package/src/environment.js +15 -0
  195. package/src/integrations/base/IntegrationBase.ts +4 -4
  196. package/src/integrations/base/sql.ts +3 -0
  197. package/src/integrations/index.ts +7 -0
  198. package/src/integrations/oracle.ts +445 -0
  199. package/src/integrations/tests/oracle.spec.js +94 -0
  200. package/src/integrations/utils.ts +16 -2
  201. package/src/threads/automation.js +3 -1
  202. package/src/threads/index.js +9 -3
  203. package/src/threads/query.js +3 -0
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">8.27% </span>
26
+ <span class="strong">8.02% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>11/133</span>
28
+ <span class='fraction'>11/137</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/70</span>
35
+ <span class='fraction'>0/76</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">8.27% </span>
47
+ <span class="strong">8.02% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/133</span>
49
+ <span class='fraction'>11/137</span>
50
50
  </div>
51
51
 
52
52
 
@@ -357,7 +357,14 @@
357
357
  <a name='L298'></a><a href='#L298'>298</a>
358
358
  <a name='L299'></a><a href='#L299'>299</a>
359
359
  <a name='L300'></a><a href='#L300'>300</a>
360
- <a name='L301'></a><a href='#L301'>301</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
361
368
  <span class="cline-any cline-neutral">&nbsp;</span>
362
369
  <span class="cline-any cline-neutral">&nbsp;</span>
363
370
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -523,6 +530,10 @@
523
530
  <span class="cline-any cline-neutral">&nbsp;</span>
524
531
  <span class="cline-any cline-no">&nbsp;</span>
525
532
  <span class="cline-any cline-no">&nbsp;</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-no">&nbsp;</span>
535
+ <span class="cline-any cline-no">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
537
  <span class="cline-any cline-no">&nbsp;</span>
527
538
  <span class="cline-any cline-neutral">&nbsp;</span>
528
539
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -625,6 +636,9 @@
625
636
  <span class="cline-any cline-no">&nbsp;</span>
626
637
  <span class="cline-any cline-no">&nbsp;</span>
627
638
  <span class="cline-any cline-no">&nbsp;</span>
639
+ <span class="cline-any cline-no">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-no">&nbsp;</span>
628
642
  <span class="cline-any cline-neutral">&nbsp;</span>
629
643
  <span class="cline-any cline-no">&nbsp;</span>
630
644
  <span class="cline-any cline-no">&nbsp;</span>
@@ -820,9 +834,13 @@ function <span class="fstat-no" title="function not covered" >isRelationshipSetu
820
834
  exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
821
835
  const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
822
836
  const table = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
823
- // can't do this
837
+ // can't do this right now
824
838
  <span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
825
839
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)</span>
840
+ // table doesn't exist already, note that it is created
841
+ <span class="cstat-no" title="statement not covered" > if (!table._id) {</span>
842
+ <span class="cstat-no" title="statement not covered" > table.created = true</span>
843
+ }
826
844
  let tableToSave = <span class="cstat-no" title="statement not covered" >{</span>
827
845
  type: "table",
828
846
  _id: buildExternalTableId(datasourceId, table.name),
@@ -924,6 +942,9 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
924
942
  exports.destroy = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
925
943
  const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
926
944
  const tableToDelete = <span class="cstat-no" title="statement not covered" >await getTable(appId, ctx.params.tableId)</span>
945
+ <span class="cstat-no" title="statement not covered" > if (!tableToDelete || !tableToDelete.created) {</span>
946
+ <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete tables which weren't created in Budibase.")</span>
947
+ }
927
948
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(tableToDelete)</span>
928
949
  &nbsp;
929
950
  const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
@@ -964,7 +985,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
964
985
  <div class='footer quiet pad2 space-top1 center small'>
965
986
  Code coverage generated by
966
987
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
967
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
988
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
968
989
  </div>
969
990
  </div>
970
991
  <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">51.74% </span>
26
+ <span class="strong">51.27% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>222/429</span>
28
+ <span class='fraction'>222/433</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">38.35% </span>
33
+ <span class="strong">37.33% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>84/219</span>
35
+ <span class='fraction'>84/225</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">52.25% </span>
47
+ <span class="strong">51.76% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>220/421</span>
49
+ <span class='fraction'>220/425</span>
50
50
  </div>
51
51
 
52
52
 
@@ -74,17 +74,17 @@
74
74
  </thead>
75
75
  <tbody><tr>
76
76
  <td class="file low" data-value="external.js"><a href="external.js.html">external.js</a></td>
77
- <td data-value="8.27" class="pic low">
77
+ <td data-value="8.02" class="pic low">
78
78
  <div class="chart"><div class="cover-fill" style="width: 8%"></div><div class="cover-empty" style="width: 92%"></div></div>
79
79
  </td>
80
- <td data-value="8.27" class="pct low">8.27%</td>
81
- <td data-value="133" class="abs low">11/133</td>
80
+ <td data-value="8.02" class="pct low">8.02%</td>
81
+ <td data-value="137" class="abs low">11/137</td>
82
82
  <td data-value="0" class="pct low">0%</td>
83
- <td data-value="70" class="abs low">0/70</td>
83
+ <td data-value="76" class="abs low">0/76</td>
84
84
  <td data-value="0" class="pct low">0%</td>
85
85
  <td data-value="14" class="abs low">0/14</td>
86
- <td data-value="8.27" class="pct low">8.27%</td>
87
- <td data-value="133" class="abs low">11/133</td>
86
+ <td data-value="8.02" class="pct low">8.02%</td>
87
+ <td data-value="137" class="abs low">11/137</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
@@ -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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
143
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../../../prettify.js"></script>
@@ -382,7 +382,7 @@ exports.validateCSVSchema = async function (ctx) {
382
382
  <div class='footer quiet pad2 space-top1 center small'>
383
383
  Code coverage generated by
384
384
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
385
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
385
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
386
386
  </div>
387
387
  </div>
388
388
  <script src="../../../prettify.js"></script>
@@ -529,7 +529,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
529
529
  <div class='footer quiet pad2 space-top1 center small'>
530
530
  Code coverage generated by
531
531
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
532
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
532
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
533
533
  </div>
534
534
  </div>
535
535
  <script src="../../../prettify.js"></script>
@@ -1141,7 +1141,7 @@ exports.TableSaveFunctions = TableSaveFunctions
1141
1141
  <div class='footer quiet pad2 space-top1 center small'>
1142
1142
  Code coverage generated by
1143
1143
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1144
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
1144
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
1145
1145
  </div>
1146
1146
  </div>
1147
1147
  <script src="../../../prettify.js"></script>
@@ -181,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
184
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -655,7 +655,7 @@ exports.findMetadata = async function (ctx) {
655
655
  <div class='footer quiet pad2 space-top1 center small'>
656
656
  Code coverage generated by
657
657
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
658
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
658
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
659
659
  </div>
660
660
  </div>
661
661
  <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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
121
+ at Tue Nov 23 2021 15:21:59 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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
143
+ at Tue Nov 23 2021 15:21:59 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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
349
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
350
350
  </div>
351
351
  </div>
352
352
  <script src="../../../prettify.js"></script>
@@ -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 Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
496
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
497
497
  </div>
498
498
  </div>
499
499
  <script src="../../../prettify.js"></script>
@@ -550,7 +550,7 @@ module.exports = viewTemplate
550
550
  <div class='footer quiet pad2 space-top1 center small'>
551
551
  Code coverage generated by
552
552
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
553
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
553
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
554
554
  </div>
555
555
  </div>
556
556
  <script src="../../../prettify.js"></script>
@@ -394,7 +394,7 @@ exports.trigger = async ctx =&gt; {
394
394
  <div class='footer quiet pad2 space-top1 center small'>
395
395
  Code coverage generated by
396
396
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
397
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
397
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
398
398
  </div>
399
399
  </div>
400
400
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
98
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../prettify.js"></script>
@@ -331,7 +331,7 @@ module.exports = router
331
331
  <div class='footer quiet pad2 space-top1 center small'>
332
332
  Code coverage generated by
333
333
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
334
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
334
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
335
335
  </div>
336
336
  </div>
337
337
  <script src="../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports = router
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
97
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -100,7 +100,7 @@ module.exports = router
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
103
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -163,7 +163,7 @@ module.exports = router
163
163
  <div class='footer quiet pad2 space-top1 center small'>
164
164
  Code coverage generated by
165
165
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
166
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
166
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
167
167
  </div>
168
168
  </div>
169
169
  <script src="../../prettify.js"></script>
@@ -88,7 +88,7 @@ module.exports = router
88
88
  <div class='footer quiet pad2 space-top1 center small'>
89
89
  Code coverage generated by
90
90
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
91
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
91
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
92
92
  </div>
93
93
  </div>
94
94
  <script src="../../prettify.js"></script>
@@ -379,7 +379,7 @@ module.exports = router
379
379
  <div class='footer quiet pad2 space-top1 center small'>
380
380
  Code coverage generated by
381
381
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
382
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
382
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
383
383
  </div>
384
384
  </div>
385
385
  <script src="../../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports = router
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
97
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
109
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
109
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>
@@ -355,7 +355,7 @@ module.exports = router
355
355
  <div class='footer quiet pad2 space-top1 center small'>
356
356
  Code coverage generated by
357
357
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
358
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
358
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
359
359
  </div>
360
360
  </div>
361
361
  <script src="../../prettify.js"></script>
@@ -115,7 +115,7 @@ module.exports = router
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
118
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
118
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
119
119
  </div>
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
@@ -142,7 +142,7 @@ module.exports = router
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
145
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
145
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  </div>
148
148
  <script src="../../prettify.js"></script>
@@ -103,7 +103,7 @@ module.exports = router
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
106
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
106
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
107
107
  </div>
108
108
  </div>
109
109
  <script src="../../prettify.js"></script>
@@ -515,7 +515,7 @@
515
515
  <div class='footer quiet pad2 space-top1 center small'>
516
516
  Code coverage generated by
517
517
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
518
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
518
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
519
519
  </div>
520
520
  </div>
521
521
  <script src="../../prettify.js"></script>
@@ -244,7 +244,7 @@ exports.staticRoutes = staticRoutes
244
244
  <div class='footer quiet pad2 space-top1 center small'>
245
245
  Code coverage generated by
246
246
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
247
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
247
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
248
248
  </div>
249
249
  </div>
250
250
  <script src="../../prettify.js"></script>
@@ -100,7 +100,7 @@ module.exports = router
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
103
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -112,7 +112,7 @@ module.exports = router
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
115
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
115
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
116
116
  </div>
117
117
  </div>
118
118
  <script src="../../prettify.js"></script>
@@ -178,7 +178,7 @@ module.exports = router
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
181
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
181
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  </div>
184
184
  <script src="../../prettify.js"></script>
@@ -196,7 +196,7 @@ module.exports = router
196
196
  <div class='footer quiet pad2 space-top1 center small'>
197
197
  Code coverage generated by
198
198
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
199
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
199
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
200
200
  </div>
201
201
  </div>
202
202
  <script src="../../prettify.js"></script>
@@ -322,7 +322,7 @@ module.exports = router
322
322
  <div class='footer quiet pad2 space-top1 center small'>
323
323
  Code coverage generated by
324
324
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
325
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
325
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
326
326
  </div>
327
327
  </div>
328
328
  <script src="../../prettify.js"></script>
@@ -172,7 +172,7 @@ module.exports = router
172
172
  <div class='footer quiet pad2 space-top1 center small'>
173
173
  Code coverage generated by
174
174
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
175
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
175
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
176
176
  </div>
177
177
  </div>
178
178
  <script src="../../prettify.js"></script>
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
109
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>
@@ -292,7 +292,7 @@ module.exports = router
292
292
  <div class='footer quiet pad2 space-top1 center small'>
293
293
  Code coverage generated by
294
294
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
295
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
295
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
296
296
  </div>
297
297
  </div>
298
298
  <script src="../../prettify.js"></script>
@@ -199,7 +199,7 @@ module.exports = router
199
199
  <div class='footer quiet pad2 space-top1 center small'>
200
200
  Code coverage generated by
201
201
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
202
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
202
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
203
203
  </div>
204
204
  </div>
205
205
  <script src="../../prettify.js"></script>
@@ -94,7 +94,7 @@ const router = <span class="cstat-no" title="statement not covered" >Router()</s
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
97
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -214,7 +214,7 @@ module.exports = router
214
214
  <div class='footer quiet pad2 space-top1 center small'>
215
215
  Code coverage generated by
216
216
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
217
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
217
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
218
218
  </div>
219
219
  </div>
220
220
  <script src="../../prettify.js"></script>
@@ -268,7 +268,7 @@ module.exports = router
268
268
  <div class='footer quiet pad2 space-top1 center small'>
269
269
  Code coverage generated by
270
270
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
271
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
271
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
272
272
  </div>
273
273
  </div>
274
274
  <script src="../../prettify.js"></script>
@@ -112,7 +112,7 @@ module.exports = router
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
115
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
115
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
116
116
  </div>
117
117
  </div>
118
118
  <script src="../../prettify.js"></script>
@@ -193,7 +193,7 @@ module.exports = router
193
193
  <div class='footer quiet pad2 space-top1 center small'>
194
194
  Code coverage generated by
195
195
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
196
- at Mon Nov 22 2021 10:51:12 GMT+0000 (Coordinated Universal Time)
196
+ at Tue Nov 23 2021 15:21:59 GMT+0000 (Coordinated Universal Time)
197
197
  </div>
198
198
  </div>
199
199
  <script src="../../prettify.js"></script>