@budibase/server 1.0.6 → 1.0.8-alpha.2

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 (212) hide show
  1. package/builder/assets/{index.4fb3f887.css → index.9337c392.css} +1 -1
  2. package/builder/assets/{index.8b07ec4f.js → index.db2ce927.js} +160 -160
  3. package/builder/assets/{vendor.470042a4.js → vendor.a9288856.js} +1 -1
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +369 -330
  6. package/coverage/coverage-final.json +11 -10
  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 +1 -1
  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 +14 -14
  16. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/index.html +9 -24
  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 +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.html +126 -0
  24. package/coverage/lcov-report/api/controllers/{query.js.html → query/index.js.html} +150 -24
  25. package/coverage/lcov-report/api/controllers/query/validation.js.html +200 -0
  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 +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  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 +5 -2
  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 +15 -15
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +52 -10
  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 +9 -9
  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 +11 -98
  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 +1 -1
  115. package/coverage/lcov-report/constants/index.js.html +1 -1
  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 +4 -4
  127. package/coverage/lcov-report/db/utils.js.html +58 -58
  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 +55 -40
  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 +2 -2
  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 +3 -3
  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 +1 -1
  146. package/coverage/lcov-report/threads/index.html +1 -1
  147. package/coverage/lcov-report/threads/index.js.html +1 -1
  148. package/coverage/lcov-report/threads/query.js.html +1 -1
  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 +19 -10
  153. package/coverage/lcov-report/utilities/global.js.html +1 -1
  154. package/coverage/lcov-report/utilities/index.html +14 -14
  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 +538 -480
  169. package/dist/api/controllers/query/import/index.js +79 -0
  170. package/dist/api/controllers/query/import/sources/base/index.js +63 -0
  171. package/dist/api/controllers/query/import/sources/base/openapi.js +42 -0
  172. package/dist/api/controllers/query/import/sources/curl.js +90 -0
  173. package/dist/api/controllers/query/import/sources/openapi2.js +139 -0
  174. package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  175. package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  176. package/dist/api/controllers/{query.js → query/index.js} +38 -4
  177. package/dist/api/controllers/query/validation.js +36 -0
  178. package/dist/api/controllers/view/index.js +15 -2
  179. package/dist/api/routes/query.js +2 -32
  180. package/dist/package.json +8 -4
  181. package/dist/tsconfig.tsbuildinfo +1 -1
  182. package/dist/utilities/csvParser.js +5 -2
  183. package/package.json +9 -5
  184. package/src/api/controllers/query/import/index.ts +85 -0
  185. package/src/api/controllers/query/import/sources/base/index.ts +86 -0
  186. package/src/api/controllers/query/import/sources/base/openapi.ts +24 -0
  187. package/src/api/controllers/query/import/sources/curl.ts +94 -0
  188. package/src/api/controllers/query/import/sources/openapi2.ts +159 -0
  189. package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +104 -0
  190. package/src/api/controllers/query/import/sources/tests/curl/data/delete.txt +1 -0
  191. package/src/api/controllers/query/import/sources/tests/curl/data/empty-body.txt +2 -0
  192. package/src/api/controllers/query/import/sources/tests/curl/data/get.txt +1 -0
  193. package/src/api/controllers/query/import/sources/tests/curl/data/headers.txt +3 -0
  194. package/src/api/controllers/query/import/sources/tests/curl/data/patch.txt +2 -0
  195. package/src/api/controllers/query/import/sources/tests/curl/data/path.txt +1 -0
  196. package/src/api/controllers/query/import/sources/tests/curl/data/post.txt +2 -0
  197. package/src/api/controllers/query/import/sources/tests/curl/data/put.txt +2 -0
  198. package/src/api/controllers/query/import/sources/tests/curl/data/query.txt +1 -0
  199. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  200. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.yaml +160 -0
  201. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  202. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.yaml +711 -0
  203. package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +239 -0
  204. package/src/api/controllers/query/import/tests/index.spec.js +115 -0
  205. package/src/api/controllers/{query.js → query/index.js} +46 -4
  206. package/src/api/controllers/query/validation.js +40 -0
  207. package/src/api/controllers/table/utils.js +1 -0
  208. package/src/api/controllers/view/index.js +16 -2
  209. package/src/api/routes/query.js +5 -34
  210. package/src/definitions/common.ts +22 -0
  211. package/src/integrations/oracle.ts +1 -1
  212. package/src/utilities/csvParser.js +5 -2
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/controllers/query.js</title>
6
+ <title>Code coverage report for api/controllers/query/index.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">api/controllers</a> query.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">api/controllers/query</a> index.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.5% </span>
26
+ <span class="strong">70.78% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>60/71</span>
28
+ <span class='fraction'>63/89</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">48% </span>
33
+ <span class="strong">44.44% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>12/25</span>
35
+ <span class='fraction'>12/27</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">90% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/9</span>
42
+ <span class='fraction'>9/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">84.28% </span>
47
+ <span class="strong">70.45% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>59/70</span>
49
+ <span class='fraction'>62/88</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 high'></div>
58
+ <div class='status-line medium'></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>
@@ -215,7 +215,49 @@
215
215
  <a name='L156'></a><a href='#L156'>156</a>
216
216
  <a name='L157'></a><a href='#L157'>157</a>
217
217
  <a name='L158'></a><a href='#L158'>158</a>
218
- <a name='L159'></a><a href='#L159'>159</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
218
+ <a name='L159'></a><a href='#L159'>159</a>
219
+ <a name='L160'></a><a href='#L160'>160</a>
220
+ <a name='L161'></a><a href='#L161'>161</a>
221
+ <a name='L162'></a><a href='#L162'>162</a>
222
+ <a name='L163'></a><a href='#L163'>163</a>
223
+ <a name='L164'></a><a href='#L164'>164</a>
224
+ <a name='L165'></a><a href='#L165'>165</a>
225
+ <a name='L166'></a><a href='#L166'>166</a>
226
+ <a name='L167'></a><a href='#L167'>167</a>
227
+ <a name='L168'></a><a href='#L168'>168</a>
228
+ <a name='L169'></a><a href='#L169'>169</a>
229
+ <a name='L170'></a><a href='#L170'>170</a>
230
+ <a name='L171'></a><a href='#L171'>171</a>
231
+ <a name='L172'></a><a href='#L172'>172</a>
232
+ <a name='L173'></a><a href='#L173'>173</a>
233
+ <a name='L174'></a><a href='#L174'>174</a>
234
+ <a name='L175'></a><a href='#L175'>175</a>
235
+ <a name='L176'></a><a href='#L176'>176</a>
236
+ <a name='L177'></a><a href='#L177'>177</a>
237
+ <a name='L178'></a><a href='#L178'>178</a>
238
+ <a name='L179'></a><a href='#L179'>179</a>
239
+ <a name='L180'></a><a href='#L180'>180</a>
240
+ <a name='L181'></a><a href='#L181'>181</a>
241
+ <a name='L182'></a><a href='#L182'>182</a>
242
+ <a name='L183'></a><a href='#L183'>183</a>
243
+ <a name='L184'></a><a href='#L184'>184</a>
244
+ <a name='L185'></a><a href='#L185'>185</a>
245
+ <a name='L186'></a><a href='#L186'>186</a>
246
+ <a name='L187'></a><a href='#L187'>187</a>
247
+ <a name='L188'></a><a href='#L188'>188</a>
248
+ <a name='L189'></a><a href='#L189'>189</a>
249
+ <a name='L190'></a><a href='#L190'>190</a>
250
+ <a name='L191'></a><a href='#L191'>191</a>
251
+ <a name='L192'></a><a href='#L192'>192</a>
252
+ <a name='L193'></a><a href='#L193'>193</a>
253
+ <a name='L194'></a><a href='#L194'>194</a>
254
+ <a name='L195'></a><a href='#L195'>195</a>
255
+ <a name='L196'></a><a href='#L196'>196</a>
256
+ <a name='L197'></a><a href='#L197'>197</a>
257
+ <a name='L198'></a><a href='#L198'>198</a>
258
+ <a name='L199'></a><a href='#L199'>199</a>
259
+ <a name='L200'></a><a href='#L200'>200</a>
260
+ <a name='L201'></a><a href='#L201'>201</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
219
261
  <span class="cline-any cline-yes">34x</span>
220
262
  <span class="cline-any cline-neutral">&nbsp;</span>
221
263
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -224,6 +266,8 @@
224
266
  <span class="cline-any cline-yes">34x</span>
225
267
  <span class="cline-any cline-yes">34x</span>
226
268
  <span class="cline-any cline-yes">34x</span>
269
+ <span class="cline-any cline-yes">34x</span>
270
+ <span class="cline-any cline-yes">34x</span>
227
271
  <span class="cline-any cline-neutral">&nbsp;</span>
228
272
  <span class="cline-any cline-yes">34x</span>
229
273
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -247,10 +291,50 @@
247
291
  <span class="cline-any cline-neutral">&nbsp;</span>
248
292
  <span class="cline-any cline-neutral">&nbsp;</span>
249
293
  <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
295
  <span class="cline-any cline-yes">2x</span>
251
296
  <span class="cline-any cline-neutral">&nbsp;</span>
252
297
  <span class="cline-any cline-neutral">&nbsp;</span>
253
298
  <span class="cline-any cline-yes">34x</span>
299
+ <span class="cline-any cline-no">&nbsp;</span>
300
+ <span class="cline-any cline-no">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-no">&nbsp;</span>
303
+ <span class="cline-any cline-no">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-no">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-no">&nbsp;</span>
309
+ <span class="cline-any cline-no">&nbsp;</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-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-no">&nbsp;</span>
320
+ <span class="cline-any cline-no">&nbsp;</span>
321
+ <span class="cline-any cline-no">&nbsp;</span>
322
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-no">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-no">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-no">&nbsp;</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">34x</span>
254
338
  <span class="cline-any cline-yes">20x</span>
255
339
  <span class="cline-any cline-yes">20x</span>
256
340
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -374,14 +458,16 @@
374
458
  <span class="cline-any cline-yes">1x</span>
375
459
  <span class="cline-any cline-neutral">&nbsp;</span>
376
460
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { processString } = require("@budibase/string-templates")
377
- const CouchDB = require("../../db")
461
+ const CouchDB = require("../../../db")
378
462
  const {
379
463
  generateQueryID,
380
464
  getQueryParams,
381
465
  isProdAppID,
382
- } = require("../../db/utils")
383
- const { BaseQueryVerbs } = require("../../constants")
384
- const { Thread, ThreadType } = require("../../threads")
466
+ } = require("../../../db/utils")
467
+ const { BaseQueryVerbs } = require("../../../constants")
468
+ const { Thread, ThreadType } = require("../../../threads")
469
+ const { save: saveDatasource } = require("../datasource")
470
+ const { RestImporter } = require("./import")
385
471
  &nbsp;
386
472
  const Runner = new Thread(ThreadType.QUERY, { timeoutMs: 10000 })
387
473
  &nbsp;
@@ -405,9 +491,49 @@ exports.fetch = async function (ctx) {
405
491
  include_docs: true,
406
492
  })
407
493
  )
494
+ &nbsp;
408
495
  ctx.body = enrichQueries(body.rows.map(row =&gt; row.doc))
409
496
  }
410
497
  &nbsp;
498
+ exports.import = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
499
+ const body = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
500
+ const data = <span class="cstat-no" title="statement not covered" >body.data</span>
501
+ &nbsp;
502
+ const importer = <span class="cstat-no" title="statement not covered" >new RestImporter(data)</span>
503
+ <span class="cstat-no" title="statement not covered" > await importer.init()</span>
504
+ &nbsp;
505
+ let datasourceId
506
+ <span class="cstat-no" title="statement not covered" > if (!body.datasourceId) {</span>
507
+ // construct new datasource
508
+ const info = <span class="cstat-no" title="statement not covered" >await importer.getInfo()</span>
509
+ let datasource = <span class="cstat-no" title="statement not covered" >{</span>
510
+ type: "datasource",
511
+ source: "REST",
512
+ config: {
513
+ url: info.url,
514
+ defaultHeaders: [],
515
+ },
516
+ name: info.name,
517
+ }
518
+ // save the datasource
519
+ const datasourceCtx = <span class="cstat-no" title="statement not covered" >{ ...ctx }</span>
520
+ <span class="cstat-no" title="statement not covered" > datasourceCtx.request.body.datasource = datasource</span>
521
+ <span class="cstat-no" title="statement not covered" > await saveDatasource(datasourceCtx)</span>
522
+ <span class="cstat-no" title="statement not covered" > datasourceId = datasourceCtx.body.datasource._id</span>
523
+ } else {
524
+ // use existing datasource
525
+ <span class="cstat-no" title="statement not covered" > datasourceId = body.datasourceId</span>
526
+ }
527
+ &nbsp;
528
+ const importResult = <span class="cstat-no" title="statement not covered" >await importer.importQueries(ctx.appId, datasourceId)</span>
529
+ &nbsp;
530
+ <span class="cstat-no" title="statement not covered" > ctx.body = {</span>
531
+ ...importResult,
532
+ datasourceId,
533
+ }
534
+ <span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
535
+ }
536
+ &nbsp;
411
537
  exports.save = async function (ctx) {
412
538
  const db = new CouchDB(ctx.appId)
413
539
  const query = ctx.request.body
@@ -538,17 +664,17 @@ exports.destroy = async function (ctx) {
538
664
  <div class='footer quiet pad2 space-top1 center small'>
539
665
  Code coverage generated by
540
666
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
541
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
667
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
542
668
  </div>
543
669
  </div>
544
- <script src="../../prettify.js"></script>
670
+ <script src="../../../prettify.js"></script>
545
671
  <script>
546
672
  window.onload = function () {
547
673
  prettyPrint();
548
674
  };
549
675
  </script>
550
- <script src="../../sorter.js"></script>
551
- <script src="../../block-navigation.js"></script>
676
+ <script src="../../../sorter.js"></script>
677
+ <script src="../../../block-navigation.js"></script>
552
678
  </body>
553
679
  </html>
554
680
 
@@ -0,0 +1,200 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for api/controllers/query/validation.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">api/controllers/query</a> validation.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>8/8</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>3/3</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>8/8</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
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
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a>
83
+ <a name='L24'></a><a href='#L24'>24</a>
84
+ <a name='L25'></a><a href='#L25'>25</a>
85
+ <a name='L26'></a><a href='#L26'>26</a>
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>
100
+ <a name='L41'></a><a href='#L41'>41</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">35x</span>
101
+ <span class="cline-any cline-yes">35x</span>
102
+ <span class="cline-any cline-neutral">&nbsp;</span>
103
+ <span class="cline-any cline-yes">35x</span>
104
+ <span class="cline-any cline-yes">28x</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
+ <span class="cline-any cline-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-neutral">&nbsp;</span>
113
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
117
+ <span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-neutral">&nbsp;</span>
123
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-yes">35x</span>
125
+ <span class="cline-any cline-neutral">&nbsp;</span>
126
+ <span class="cline-any cline-yes">23x</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-yes">35x</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-yes">23x</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const joiValidator = require("../../../middleware/joi-validator")
141
+ const Joi = require("joi")
142
+ &nbsp;
143
+ exports.queryValidation = () =&gt; {
144
+ return Joi.object({
145
+ _id: Joi.string(),
146
+ _rev: Joi.string(),
147
+ name: Joi.string().required(),
148
+ fields: Joi.object().required(),
149
+ datasourceId: Joi.string().required(),
150
+ readable: Joi.boolean(),
151
+ parameters: Joi.array().items(
152
+ Joi.object({
153
+ name: Joi.string(),
154
+ default: Joi.string().allow(""),
155
+ })
156
+ ),
157
+ queryVerb: Joi.string().allow().required(),
158
+ extra: Joi.object().optional(),
159
+ schema: Joi.object({}).required().unknown(true),
160
+ transformer: Joi.string().optional(),
161
+ })
162
+ }
163
+ &nbsp;
164
+ exports.generateQueryValidation = () =&gt; {
165
+ // prettier-ignore
166
+ return joiValidator.body(exports.queryValidation())
167
+ }
168
+ &nbsp;
169
+ exports.generateQueryPreviewValidation = () =&gt; {
170
+ // prettier-ignore
171
+ return joiValidator.body(Joi.object({
172
+ fields: Joi.object().required(),
173
+ queryVerb: Joi.string().allow().required(),
174
+ extra: Joi.object().optional(),
175
+ datasourceId: Joi.string().required(),
176
+ transformer: Joi.string().optional(),
177
+ parameters: Joi.object({}).required().unknown(true)
178
+ }))
179
+ }
180
+ &nbsp;</pre></td></tr></table></pre>
181
+
182
+ <div class='push'></div><!-- for sticky footer -->
183
+ </div><!-- /wrapper -->
184
+ <div class='footer quiet pad2 space-top1 center small'>
185
+ Code coverage generated by
186
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
187
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
188
+ </div>
189
+ </div>
190
+ <script src="../../../prettify.js"></script>
191
+ <script>
192
+ window.onload = function () {
193
+ prettyPrint();
194
+ };
195
+ </script>
196
+ <script src="../../../sorter.js"></script>
197
+ <script src="../../../block-navigation.js"></script>
198
+ </body>
199
+ </html>
200
+
@@ -358,7 +358,7 @@ exports.destroy = async function (ctx) {
358
358
  <div class='footer quiet pad2 space-top1 center small'>
359
359
  Code coverage generated by
360
360
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
361
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
361
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
362
362
  </div>
363
363
  </div>
364
364
  <script src="../../prettify.js"></script>
@@ -343,7 +343,7 @@ exports.clientFetch = async ctx =&gt; {
343
343
  <div class='footer quiet pad2 space-top1 center small'>
344
344
  Code coverage generated by
345
345
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
346
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
346
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  </div>
349
349
  <script src="../../prettify.js"></script>
@@ -757,7 +757,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
757
757
  <div class='footer quiet pad2 space-top1 center small'>
758
758
  Code coverage generated by
759
759
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
760
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
760
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
761
761
  </div>
762
762
  </div>
763
763
  <script src="../../../prettify.js"></script>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
158
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../../prettify.js"></script>
@@ -481,7 +481,7 @@ exports.fetchEnrichedRow = async function (ctx) {
481
481
  <div class='footer quiet pad2 space-top1 center small'>
482
482
  Code coverage generated by
483
483
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
484
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
484
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
485
485
  </div>
486
486
  </div>
487
487
  <script src="../../../prettify.js"></script>
@@ -1405,7 +1405,7 @@ exports.fetchEnrichedRow = async ctx =&gt; {
1405
1405
  <div class='footer quiet pad2 space-top1 center small'>
1406
1406
  Code coverage generated by
1407
1407
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1408
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
1408
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
1409
1409
  </div>
1410
1410
  </div>
1411
1411
  <script src="../../../prettify.js"></script>
@@ -1228,7 +1228,7 @@ exports.fullSearch = <span class="fstat-no" title="function not covered" >as</sp
1228
1228
  <div class='footer quiet pad2 space-top1 center small'>
1229
1229
  Code coverage generated by
1230
1230
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1231
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
1231
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
1232
1232
  </div>
1233
1233
  </div>
1234
1234
  <script src="../../../prettify.js"></script>
@@ -319,7 +319,7 @@ exports.validate = async ({ appId, tableId, row, table }) =&gt; {
319
319
  <div class='footer quiet pad2 space-top1 center small'>
320
320
  Code coverage generated by
321
321
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
322
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
322
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
323
323
  </div>
324
324
  </div>
325
325
  <script src="../../../prettify.js"></script>
@@ -208,7 +208,7 @@ exports.destroy = async ctx =&gt; {
208
208
  <div class='footer quiet pad2 space-top1 center small'>
209
209
  Code coverage generated by
210
210
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
211
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
211
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
212
212
  </div>
213
213
  </div>
214
214
  <script src="../../prettify.js"></script>
@@ -97,7 +97,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
100
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
100
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
101
101
  </div>
102
102
  </div>
103
103
  <script src="../../prettify.js"></script>
@@ -985,7 +985,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
985
985
  <div class='footer quiet pad2 space-top1 center small'>
986
986
  Code coverage generated by
987
987
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
988
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
988
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
989
989
  </div>
990
990
  </div>
991
991
  <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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
143
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
385
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
386
386
  </div>
387
387
  </div>
388
388
  <script src="../../../prettify.js"></script>
@@ -517,7 +517,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
517
517
  <div class='footer quiet pad2 space-top1 center small'>
518
518
  Code coverage generated by
519
519
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
520
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
520
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
521
521
  </div>
522
522
  </div>
523
523
  <script src="../../../prettify.js"></script>