@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
@@ -416,7 +416,8 @@
416
416
  <a name='L357'></a><a href='#L357'>357</a>
417
417
  <a name='L358'></a><a href='#L358'>358</a>
418
418
  <a name='L359'></a><a href='#L359'>359</a>
419
- <a name='L360'></a><a href='#L360'>360</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
419
+ <a name='L360'></a><a href='#L360'>360</a>
420
+ <a name='L361'></a><a href='#L361'>361</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
420
421
  <span class="cline-any cline-yes">34x</span>
421
422
  <span class="cline-any cline-neutral">&nbsp;</span>
422
423
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -493,6 +494,7 @@
493
494
  <span class="cline-any cline-yes">100x</span>
494
495
  <span class="cline-any cline-yes">99x</span>
495
496
  <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
496
498
  <span class="cline-any cline-yes">1x</span>
497
499
  <span class="cline-any cline-neutral">&nbsp;</span>
498
500
  <span class="cline-any cline-yes">1x</span>
@@ -852,6 +854,7 @@ exports.handleDataImport = async (appId, user, table, dataImport) =&gt; {
852
854
  if (!dataImport || !dataImport.csvString) {
853
855
  return table
854
856
  }
857
+ &nbsp;
855
858
  const db = new CouchDB(appId)
856
859
  // Populate the table with rows imported from CSV in a bulk update
857
860
  const data = await csvParser.transform({
@@ -1141,7 +1144,7 @@ exports.TableSaveFunctions = TableSaveFunctions
1141
1144
  <div class='footer quiet pad2 space-top1 center small'>
1142
1145
  Code coverage generated by
1143
1146
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1144
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
1147
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
1145
1148
  </div>
1146
1149
  </div>
1147
1150
  <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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
184
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
658
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
659
659
  </div>
660
660
  </div>
661
661
  <script src="../../prettify.js"></script>
@@ -133,7 +133,7 @@ exports.ExportFormats = {
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
136
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
136
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  </div>
139
139
  <script src="../../../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.31% </span>
26
+ <span class="strong">73.43% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>136/183</span>
28
+ <span class='fraction'>141/192</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">80.95% </span>
40
+ <span class="strong">72% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>17/21</span>
42
+ <span class='fraction'>18/25</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">74.58% </span>
47
+ <span class="strong">73.68% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>135/181</span>
49
+ <span class='fraction'>140/190</span>
50
50
  </div>
51
51
 
52
52
 
@@ -89,17 +89,17 @@
89
89
 
90
90
  <tr>
91
91
  <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
92
- <td data-value="93.54" class="pic high">
93
- <div class="chart"><div class="cover-fill" style="width: 93%"></div><div class="cover-empty" style="width: 7%"></div></div>
92
+ <td data-value="88.73" class="pic high">
93
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
94
94
  </td>
95
- <td data-value="93.54" class="pct high">93.54%</td>
96
- <td data-value="62" class="abs high">58/62</td>
95
+ <td data-value="88.73" class="pct high">88.73%</td>
96
+ <td data-value="71" class="abs high">63/71</td>
97
97
  <td data-value="72" class="pct medium">72%</td>
98
98
  <td data-value="25" class="abs medium">18/25</td>
99
- <td data-value="100" class="pct high">100%</td>
100
- <td data-value="4" class="abs high">4/4</td>
101
- <td data-value="95.08" class="pct high">95.08%</td>
102
- <td data-value="61" class="abs high">58/61</td>
99
+ <td data-value="62.5" class="pct medium">62.5%</td>
100
+ <td data-value="8" class="abs medium">5/8</td>
101
+ <td data-value="90" class="pct high">90%</td>
102
+ <td data-value="70" class="abs high">63/70</td>
103
103
  </tr>
104
104
 
105
105
  <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 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>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">93.54% </span>
26
+ <span class="strong">88.73% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>58/62</span>
28
+ <span class='fraction'>63/71</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">62.5% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/4</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">95.08% </span>
47
+ <span class="strong">90% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>58/61</span>
49
+ <span class='fraction'>63/70</span>
50
50
  </div>
51
51
 
52
52
 
@@ -164,7 +164,22 @@
164
164
  <a name='L105'></a><a href='#L105'>105</a>
165
165
  <a name='L106'></a><a href='#L106'>106</a>
166
166
  <a name='L107'></a><a href='#L107'>107</a>
167
- <a name='L108'></a><a href='#L108'>108</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
167
+ <a name='L108'></a><a href='#L108'>108</a>
168
+ <a name='L109'></a><a href='#L109'>109</a>
169
+ <a name='L110'></a><a href='#L110'>110</a>
170
+ <a name='L111'></a><a href='#L111'>111</a>
171
+ <a name='L112'></a><a href='#L112'>112</a>
172
+ <a name='L113'></a><a href='#L113'>113</a>
173
+ <a name='L114'></a><a href='#L114'>114</a>
174
+ <a name='L115'></a><a href='#L115'>115</a>
175
+ <a name='L116'></a><a href='#L116'>116</a>
176
+ <a name='L117'></a><a href='#L117'>117</a>
177
+ <a name='L118'></a><a href='#L118'>118</a>
178
+ <a name='L119'></a><a href='#L119'>119</a>
179
+ <a name='L120'></a><a href='#L120'>120</a>
180
+ <a name='L121'></a><a href='#L121'>121</a>
181
+ <a name='L122'></a><a href='#L122'>122</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
182
+ <span class="cline-any cline-yes">33x</span>
168
183
  <span class="cline-any cline-yes">33x</span>
169
184
  <span class="cline-any cline-yes">33x</span>
170
185
  <span class="cline-any cline-yes">33x</span>
@@ -243,6 +258,7 @@
243
258
  <span class="cline-any cline-neutral">&nbsp;</span>
244
259
  <span class="cline-any cline-neutral">&nbsp;</span>
245
260
  <span class="cline-any cline-yes">2x</span>
261
+ <span class="cline-any cline-yes">2x</span>
246
262
  <span class="cline-any cline-neutral">&nbsp;</span>
247
263
  <span class="cline-any cline-yes">2x</span>
248
264
  <span class="cline-any cline-yes">2x</span>
@@ -253,6 +269,18 @@
253
269
  <span class="cline-any cline-neutral">&nbsp;</span>
254
270
  <span class="cline-any cline-neutral">&nbsp;</span>
255
271
  <span class="cline-any cline-yes">2x</span>
272
+ <span class="cline-any cline-yes">4x</span>
273
+ <span class="cline-any cline-no">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-yes">2x</span>
276
+ <span class="cline-any cline-no">&nbsp;</span>
277
+ <span class="cline-any cline-no">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-no">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-yes">2x</span>
256
284
  <span class="cline-any cline-yes">1x</span>
257
285
  <span class="cline-any cline-yes">1x</span>
258
286
  <span class="cline-any cline-yes">2x</span>
@@ -278,6 +306,7 @@ const exporters = require("./exporters")
278
306
  const { saveView, getView, getViews, deleteView } = require("./utils")
279
307
  const { fetchView } = require("../row")
280
308
  const { getTable } = require("../table/utils")
309
+ const { FieldTypes } = require("../../../constants")
281
310
  &nbsp;
282
311
  exports.fetch = async ctx =&gt; {
283
312
  const db = new CouchDB(ctx.appId)
@@ -350,6 +379,7 @@ exports.exportView = async ctx =&gt; {
350
379
  }
351
380
  &nbsp;
352
381
  await fetchView(ctx)
382
+ let rows = ctx.body
353
383
  &nbsp;
354
384
  let schema = view &amp;&amp; view.meta &amp;&amp; view.meta.schema
355
385
  if (!schema) {
@@ -357,12 +387,24 @@ exports.exportView = async ctx =&gt; {
357
387
  const table = await getTable(ctx.appId, tableId)
358
388
  schema = table.schema
359
389
  }
390
+ &nbsp;
391
+ // remove any relationships
392
+ const relationships = Object.entries(schema)
393
+ .filter(entry =&gt; entry[1].type === FieldTypes.LINK)
394
+ .map(<span class="fstat-no" title="function not covered" >en</span>try =&gt; <span class="cstat-no" title="statement not covered" >entry[0])</span>
395
+ // iterate relationship columns and remove from and row and schema
396
+ relationships.forEach(<span class="fstat-no" title="function not covered" >co</span>lumn =&gt; {
397
+ <span class="cstat-no" title="statement not covered" > rows.forEach(<span class="fstat-no" title="function not covered" >ro</span>w =&gt; {</span>
398
+ <span class="cstat-no" title="statement not covered" > delete row[column]</span>
399
+ })
400
+ <span class="cstat-no" title="statement not covered" > delete schema[column]</span>
401
+ })
360
402
  &nbsp;
361
403
  // make sure no "undefined" entries appear in the CSV
362
404
  if (format === exporters.ExportFormats.CSV) {
363
405
  const schemaKeys = Object.keys(schema)
364
406
  for (let key of schemaKeys) {
365
- for (let row of ctx.body) {
407
+ for (let row of rows) {
366
408
  if (row[key] == null) {
367
409
  row[key] = ""
368
410
  }
@@ -376,7 +418,7 @@ exports.exportView = async ctx =&gt; {
376
418
  const filename = `${viewName}.${format}`
377
419
  // send down the file
378
420
  ctx.attachment(filename)
379
- ctx.body = apiFileReturn(exporter(headers, ctx.body))
421
+ ctx.body = apiFileReturn(exporter(headers, rows))
380
422
  }
381
423
  &nbsp;</pre></td></tr></table></pre>
382
424
 
@@ -385,7 +427,7 @@ exports.exportView = async ctx =&gt; {
385
427
  <div class='footer quiet pad2 space-top1 center small'>
386
428
  Code coverage generated by
387
429
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
388
- at Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
430
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
389
431
  </div>
390
432
  </div>
391
433
  <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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
496
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
553
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
397
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
98
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
334
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
97
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
103
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
166
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
91
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
382
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
97
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
109
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
109
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
358
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
118
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
145
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
106
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
107
107
  </div>
108
108
  </div>
109
109
  <script src="../../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.41% </span>
26
+ <span class="strong">97.38% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>264/271</span>
28
+ <span class='fraction'>261/268</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/12</span>
42
+ <span class='fraction'>10/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.41% </span>
47
+ <span class="strong">97.38% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>264/271</span>
49
+ <span class='fraction'>261/268</span>
50
50
  </div>
51
51
 
52
52
 
@@ -333,13 +333,13 @@
333
333
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
334
334
  </td>
335
335
  <td data-value="100" class="pct high">100%</td>
336
- <td data-value="12" class="abs high">12/12</td>
336
+ <td data-value="9" class="abs high">9/9</td>
337
337
  <td data-value="100" class="pct high">100%</td>
338
338
  <td data-value="0" class="abs high">0/0</td>
339
339
  <td data-value="100" class="pct high">100%</td>
340
- <td data-value="2" class="abs high">2/2</td>
340
+ <td data-value="0" class="abs high">0/0</td>
341
341
  <td data-value="100" class="pct high">100%</td>
342
- <td data-value="12" class="abs high">12/12</td>
342
+ <td data-value="9" class="abs high">9/9</td>
343
343
  </tr>
344
344
 
345
345
  <tr>
@@ -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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
518
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
247
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
103
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
115
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
181
+ at Wed Dec 08 2021 12:00:06 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 Fri Dec 03 2021 11:20:15 GMT+0000 (Coordinated Universal Time)
199
+ at Wed Dec 08 2021 12:00:06 GMT+0000 (Coordinated Universal Time)
200
200
  </div>
201
201
  </div>
202
202
  <script src="../../prettify.js"></script>