@budibase/server 1.2.44-alpha.0 → 1.2.46

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 (205) hide show
  1. package/__mocks__/mongodb.ts +0 -4
  2. package/__mocks__/node-fetch.ts +1 -8
  3. package/builder/assets/index.08dd0c5e.css +6 -0
  4. package/builder/assets/index.f6823431.js +975 -0
  5. package/builder/assets/{vendor.67dbd8fa.js → vendor.6bcafa60.js} +1 -1
  6. package/builder/index.html +3 -3
  7. package/coverage/clover.xml +714 -727
  8. package/coverage/coverage-final.json +27 -27
  9. package/coverage/lcov-report/api/controllers/apikeys.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 +1 -1
  16. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/index.html +1 -1
  18. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/migrations.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 +1 -1
  24. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/index.html +35 -35
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +88 -46
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +191 -317
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +15 -15
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +30 -39
  33. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +41 -41
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +2 -2
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +17 -17
  39. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/user.js.html +19 -19
  41. package/coverage/lcov-report/api/controllers/view/exporters.js.html +2 -2
  42. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  47. package/coverage/lcov-report/api/index.html +1 -1
  48. package/coverage/lcov-report/api/index.js.html +5 -5
  49. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/index.html +1 -1
  60. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  74. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  77. package/coverage/lcov-report/automations/actions.js.html +1 -1
  78. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  79. package/coverage/lcov-report/automations/bullboard.js.html +13 -7
  80. package/coverage/lcov-report/automations/index.html +12 -12
  81. package/coverage/lcov-report/automations/index.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/index.html +1 -1
  89. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  108. package/coverage/lcov-report/constants/index.html +1 -1
  109. package/coverage/lcov-report/constants/index.js.html +30 -30
  110. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  111. package/coverage/lcov-report/constants/screens.js.html +1 -1
  112. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  113. package/coverage/lcov-report/db/index.html +1 -1
  114. package/coverage/lcov-report/db/index.js.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -11
  116. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  117. package/coverage/lcov-report/db/linkedRows/index.js.html +19 -19
  118. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +7 -7
  119. package/coverage/lcov-report/db/newid.js.html +4 -4
  120. package/coverage/lcov-report/db/utils.js.html +71 -71
  121. package/coverage/lcov-report/events/AutomationEmitter.js.html +5 -5
  122. package/coverage/lcov-report/events/index.html +1 -1
  123. package/coverage/lcov-report/events/index.js.html +1 -1
  124. package/coverage/lcov-report/events/utils.js.html +1 -1
  125. package/coverage/lcov-report/index.html +25 -25
  126. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  127. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  128. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  129. package/coverage/lcov-report/middleware/builder.js.html +12 -12
  130. package/coverage/lcov-report/middleware/currentapp.js.html +33 -33
  131. package/coverage/lcov-report/middleware/index.html +1 -1
  132. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  133. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  134. package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
  135. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  136. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  137. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  138. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  139. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  140. package/coverage/lcov-report/utilities/global.js.html +31 -31
  141. package/coverage/lcov-report/utilities/index.html +1 -1
  142. package/coverage/lcov-report/utilities/index.js.html +23 -23
  143. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  144. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  145. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  146. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  147. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  148. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +39 -39
  149. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +10 -10
  150. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  151. package/coverage/lcov-report/utilities/security.js.html +1 -1
  152. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  153. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  154. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  156. package/coverage/lcov-report/utilities/users.js.html +7 -7
  157. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  158. package/coverage/lcov.info +1168 -1194
  159. package/dist/api/controllers/row/internal.js +15 -1
  160. package/dist/api/controllers/row/internalSearch.js +4 -39
  161. package/dist/api/controllers/row/utils.js +1 -3
  162. package/dist/api/controllers/static/index.js +2 -8
  163. package/dist/api/controllers/table/external.js +1 -1
  164. package/dist/api/routes/static.js +0 -2
  165. package/dist/automations/bullboard.js +2 -0
  166. package/dist/automations/listeners.js +102 -0
  167. package/dist/automations/logging/index.js +0 -3
  168. package/dist/automations/utils.js +6 -2
  169. package/dist/integrations/base/sql.js +30 -62
  170. package/dist/integrations/base/utils.js +27 -13
  171. package/dist/integrations/microsoftSqlServer.js +2 -5
  172. package/dist/integrations/mongodb.js +8 -35
  173. package/dist/integrations/mysql.js +2 -2
  174. package/dist/integrations/postgres.js +2 -5
  175. package/dist/package.json +7 -7
  176. package/dist/threads/automation.js +27 -11
  177. package/dist/tsconfig.build.tsbuildinfo +1 -1
  178. package/dist/utilities/fileSystem/index.js +1 -2
  179. package/package.json +8 -8
  180. package/src/api/controllers/row/internal.js +15 -1
  181. package/src/api/controllers/row/internalSearch.js +3 -45
  182. package/src/api/controllers/row/utils.js +1 -4
  183. package/src/api/controllers/static/index.ts +1 -5
  184. package/src/api/controllers/table/external.js +1 -1
  185. package/src/api/routes/static.ts +0 -11
  186. package/src/api/routes/tests/row.spec.js +149 -67
  187. package/src/automations/bullboard.js +2 -0
  188. package/src/automations/listeners.ts +78 -0
  189. package/src/automations/logging/index.ts +0 -3
  190. package/src/automations/utils.ts +7 -6
  191. package/src/integrations/base/sql.ts +30 -67
  192. package/src/integrations/base/utils.ts +18 -9
  193. package/src/integrations/microsoftSqlServer.ts +2 -3
  194. package/src/integrations/mongodb.ts +8 -35
  195. package/src/integrations/mysql.ts +1 -1
  196. package/src/integrations/postgres.ts +1 -2
  197. package/src/integrations/tests/mongo.spec.js +0 -218
  198. package/src/integrations/tests/sql.spec.js +11 -101
  199. package/src/threads/automation.ts +35 -16
  200. package/src/utilities/fileSystem/index.js +0 -2
  201. package/builder/assets/index.6b1c808b.css +0 -6
  202. package/builder/assets/index.7e1eb5c8.js +0 -977
  203. package/dist/integrations/base/query.js +0 -27
  204. package/src/api/routes/tests/internalSearch.spec.js +0 -176
  205. package/src/integrations/base/query.ts +0 -16
@@ -232,7 +232,7 @@ exports.update = async function (ctx) {
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
235
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
236
236
  </div>
237
237
  <script src="../../prettify.js"></script>
238
238
  <script>
@@ -244,7 +244,7 @@ exports.fetchSelf = async ctx =&gt; {
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" rel="noopener noreferrer">istanbul</a>
247
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
247
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
248
248
  </div>
249
249
  <script src="../../prettify.js"></script>
250
250
  <script>
@@ -925,7 +925,7 @@ exports.test = async function (ctx) {
925
925
  <div class='footer quiet pad2 space-top1 center small'>
926
926
  Code coverage generated by
927
927
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
928
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
928
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
929
929
  </div>
930
930
  <script src="../../prettify.js"></script>
931
931
  <script>
@@ -124,7 +124,7 @@ exports.exportAppDump = async function (ctx) {
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
127
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
128
128
  </div>
129
129
  <script src="../../prettify.js"></script>
130
130
  <script>
@@ -409,7 +409,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
409
409
  <div class='footer quiet pad2 space-top1 center small'>
410
410
  Code coverage generated by
411
411
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
412
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
412
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
413
413
  </div>
414
414
  <script src="../../prettify.js"></script>
415
415
  <script>
@@ -172,7 +172,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
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" rel="noopener noreferrer">istanbul</a>
175
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
175
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
176
176
  </div>
177
177
  <script src="../../prettify.js"></script>
178
178
  <script>
@@ -859,7 +859,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
859
859
  <div class='footer quiet pad2 space-top1 center small'>
860
860
  Code coverage generated by
861
861
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
862
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
862
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
863
863
  </div>
864
864
  <script src="../../prettify.js"></script>
865
865
  <script>
@@ -475,7 +475,7 @@ exports.getBudibaseVersion = async ctx =&gt; {
475
475
  <div class='footer quiet pad2 space-top1 center small'>
476
476
  Code coverage generated by
477
477
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
478
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
478
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
479
479
  </div>
480
480
  <script src="../../prettify.js"></script>
481
481
  <script>
@@ -386,7 +386,7 @@
386
386
  <div class='footer quiet pad2 space-top1 center small'>
387
387
  Code coverage generated by
388
388
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
389
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
389
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
390
390
  </div>
391
391
  <script src="../../prettify.js"></script>
392
392
  <script>
@@ -136,7 +136,7 @@ exports.find = async function (ctx) {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
139
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  <script src="../../prettify.js"></script>
142
142
  <script>
@@ -211,7 +211,7 @@ exports.destroy = async function (ctx) {
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
214
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
214
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
216
  <script src="../../prettify.js"></script>
217
217
  <script>
@@ -193,7 +193,7 @@ exports.getMetadata = async ctx =&gt; {
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" rel="noopener noreferrer">istanbul</a>
196
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
196
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
197
197
  </div>
198
198
  <script src="../../prettify.js"></script>
199
199
  <script>
@@ -109,7 +109,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
112
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  <script src="../../prettify.js"></script>
115
115
  <script>
@@ -595,7 +595,7 @@ exports.removePermission = async function (ctx) {
595
595
  <div class='footer quiet pad2 space-top1 center small'>
596
596
  Code coverage generated by
597
597
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
598
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
598
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
599
599
  </div>
600
600
  <script src="../../prettify.js"></script>
601
601
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
104
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -220,7 +220,7 @@ exports.generateQueryPreviewValidation = () =&gt; {
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
223
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  <script src="../../../prettify.js"></script>
226
226
  <script>
@@ -394,7 +394,7 @@ exports.destroy = async function (ctx) {
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" rel="noopener noreferrer">istanbul</a>
397
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
397
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
398
398
  </div>
399
399
  <script src="../../prettify.js"></script>
400
400
  <script>
@@ -346,7 +346,7 @@ exports.clientFetch = 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" rel="noopener noreferrer">istanbul</a>
349
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
349
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
350
350
  </div>
351
351
  <script src="../../prettify.js"></script>
352
352
  <script>
@@ -829,7 +829,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
829
829
  <div class='footer quiet pad2 space-top1 center small'>
830
830
  Code coverage generated by
831
831
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
832
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
832
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
833
833
  </div>
834
834
  <script src="../../../prettify.js"></script>
835
835
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">62.85% </span>
26
+ <span class="strong">58.81% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>423/673</span>
28
+ <span class='fraction'>387/658</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.94% </span>
33
+ <span class="strong">35.62% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>146/311</span>
35
+ <span class='fraction'>109/306</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">59.57% </span>
40
+ <span class="strong">53.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>56/94</span>
42
+ <span class='fraction'>48/90</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">62.7% </span>
47
+ <span class="strong">59.03% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>412/657</span>
49
+ <span class='fraction'>379/642</span>
50
50
  </div>
51
51
 
52
52
 
@@ -95,32 +95,32 @@
95
95
 
96
96
  <tr>
97
97
  <td class="file high" data-value="internal.js"><a href="internal.js.html">internal.js</a></td>
98
- <td data-value="80.82" class="pic high">
99
- <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
98
+ <td data-value="86.84" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
100
100
  </td>
101
- <td data-value="80.82" class="pct high">80.82%</td>
102
- <td data-value="219" class="abs high">177/219</td>
103
- <td data-value="62.5" class="pct medium">62.5%</td>
104
- <td data-value="64" class="abs medium">40/64</td>
105
- <td data-value="84.61" class="pct high">84.61%</td>
106
- <td data-value="26" class="abs high">22/26</td>
107
- <td data-value="80.75" class="pct high">80.75%</td>
108
- <td data-value="213" class="abs high">172/213</td>
101
+ <td data-value="86.84" class="pct high">86.84%</td>
102
+ <td data-value="228" class="abs high">198/228</td>
103
+ <td data-value="64.7" class="pct medium">64.7%</td>
104
+ <td data-value="68" class="abs medium">44/68</td>
105
+ <td data-value="92.3" class="pct high">92.3%</td>
106
+ <td data-value="26" class="abs high">24/26</td>
107
+ <td data-value="86.87" class="pct high">86.87%</td>
108
+ <td data-value="221" class="abs high">192/221</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
112
112
  <td class="file medium" data-value="internalSearch.js"><a href="internalSearch.js.html">internalSearch.js</a></td>
113
- <td data-value="79.14" class="pic medium">
114
- <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
113
+ <td data-value="59.25" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
115
115
  </td>
116
- <td data-value="79.14" class="pct medium">79.14%</td>
117
- <td data-value="211" class="abs medium">167/211</td>
118
- <td data-value="68.75" class="pct medium">68.75%</td>
119
- <td data-value="128" class="abs medium">88/128</td>
120
- <td data-value="68.29" class="pct medium">68.29%</td>
121
- <td data-value="41" class="abs medium">28/41</td>
122
- <td data-value="78.64" class="pct medium">78.64%</td>
123
- <td data-value="206" class="abs medium">162/206</td>
116
+ <td data-value="59.25" class="pct medium">59.25%</td>
117
+ <td data-value="189" class="abs medium">112/189</td>
118
+ <td data-value="39.49" class="pct low">39.49%</td>
119
+ <td data-value="119" class="abs low">47/119</td>
120
+ <td data-value="48.64" class="pct low">48.64%</td>
121
+ <td data-value="37" class="abs low">18/37</td>
122
+ <td data-value="60" class="pct medium">60%</td>
123
+ <td data-value="185" class="abs medium">111/185</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -140,17 +140,17 @@
140
140
 
141
141
  <tr>
142
142
  <td class="file medium" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
143
- <td data-value="67.85" class="pic medium">
144
- <div class="chart"><div class="cover-fill" style="width: 67%"></div><div class="cover-empty" style="width: 33%"></div></div>
143
+ <td data-value="66.66" class="pic medium">
144
+ <div class="chart"><div class="cover-fill" style="width: 66%"></div><div class="cover-empty" style="width: 34%"></div></div>
145
145
  </td>
146
- <td data-value="67.85" class="pct medium">67.85%</td>
147
- <td data-value="56" class="abs medium">38/56</td>
146
+ <td data-value="66.66" class="pct medium">66.66%</td>
147
+ <td data-value="54" class="abs medium">36/54</td>
148
148
  <td data-value="38.23" class="pct low">38.23%</td>
149
149
  <td data-value="34" class="abs low">13/34</td>
150
150
  <td data-value="66.66" class="pct medium">66.66%</td>
151
151
  <td data-value="6" class="abs medium">4/6</td>
152
- <td data-value="67.27" class="pct medium">67.27%</td>
153
- <td data-value="55" class="abs medium">37/55</td>
152
+ <td data-value="66.03" class="pct medium">66.03%</td>
153
+ <td data-value="53" class="abs medium">35/53</td>
154
154
  </tr>
155
155
 
156
156
  </tbody>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
164
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
165
165
  </div>
166
166
  <script src="../../../prettify.js"></script>
167
167
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80.82% </span>
26
+ <span class="strong">86.84% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>177/219</span>
28
+ <span class='fraction'>198/228</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">62.5% </span>
33
+ <span class="strong">64.7% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>40/64</span>
35
+ <span class='fraction'>44/68</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">84.61% </span>
40
+ <span class="strong">92.3% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>22/26</span>
42
+ <span class='fraction'>24/26</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">80.75% </span>
47
+ <span class="strong">86.87% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>172/213</span>
49
+ <span class='fraction'>192/221</span>
50
50
  </div>
51
51
 
52
52
 
@@ -518,7 +518,21 @@
518
518
  <a name='L453'></a><a href='#L453'>453</a>
519
519
  <a name='L454'></a><a href='#L454'>454</a>
520
520
  <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
522
536
  <span class="cline-any cline-neutral">&nbsp;</span>
523
537
  <span class="cline-any cline-neutral">&nbsp;</span>
524
538
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -665,35 +679,35 @@
665
679
  <span class="cline-any cline-neutral">&nbsp;</span>
666
680
  <span class="cline-any cline-neutral">&nbsp;</span>
667
681
  <span class="cline-any cline-yes">45x</span>
668
- <span class="cline-any cline-yes">74x</span>
669
- <span class="cline-any cline-yes">74x</span>
670
- <span class="cline-any cline-yes">74x</span>
682
+ <span class="cline-any cline-yes">76x</span>
683
+ <span class="cline-any cline-yes">76x</span>
684
+ <span class="cline-any cline-yes">76x</span>
671
685
  <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-yes">74x</span>
673
- <span class="cline-any cline-yes">74x</span>
686
+ <span class="cline-any cline-yes">76x</span>
687
+ <span class="cline-any cline-yes">76x</span>
674
688
  <span class="cline-any cline-neutral">&nbsp;</span>
675
689
  <span class="cline-any cline-neutral">&nbsp;</span>
676
690
  <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-yes">74x</span>
678
- <span class="cline-any cline-yes">74x</span>
679
- <span class="cline-any cline-yes">74x</span>
691
+ <span class="cline-any cline-yes">76x</span>
692
+ <span class="cline-any cline-yes">76x</span>
693
+ <span class="cline-any cline-yes">76x</span>
680
694
  <span class="cline-any cline-neutral">&nbsp;</span>
681
695
  <span class="cline-any cline-neutral">&nbsp;</span>
682
696
  <span class="cline-any cline-neutral">&nbsp;</span>
683
697
  <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-yes">74x</span>
698
+ <span class="cline-any cline-yes">76x</span>
685
699
  <span class="cline-any cline-no">&nbsp;</span>
686
700
  <span class="cline-any cline-neutral">&nbsp;</span>
687
701
  <span class="cline-any cline-neutral">&nbsp;</span>
688
702
  <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-yes">74x</span>
703
+ <span class="cline-any cline-yes">76x</span>
690
704
  <span class="cline-any cline-neutral">&nbsp;</span>
691
705
  <span class="cline-any cline-neutral">&nbsp;</span>
692
706
  <span class="cline-any cline-neutral">&nbsp;</span>
693
707
  <span class="cline-any cline-neutral">&nbsp;</span>
694
708
  <span class="cline-any cline-neutral">&nbsp;</span>
695
709
  <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-yes">73x</span>
710
+ <span class="cline-any cline-yes">75x</span>
697
711
  <span class="cline-any cline-neutral">&nbsp;</span>
698
712
  <span class="cline-any cline-neutral">&nbsp;</span>
699
713
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -891,26 +905,40 @@
891
905
  <span class="cline-any cline-neutral">&nbsp;</span>
892
906
  <span class="cline-any cline-neutral">&nbsp;</span>
893
907
  <span class="cline-any cline-yes">45x</span>
894
- <span class="cline-any cline-no">&nbsp;</span>
895
- <span class="cline-any cline-no">&nbsp;</span>
896
- <span class="cline-any cline-no">&nbsp;</span>
897
- <span class="cline-any cline-no">&nbsp;</span>
898
- <span class="cline-any cline-no">&nbsp;</span>
908
+ <span class="cline-any cline-yes">2x</span>
909
+ <span class="cline-any cline-yes">2x</span>
910
+ <span class="cline-any cline-yes">2x</span>
911
+ <span class="cline-any cline-yes">2x</span>
912
+ <span class="cline-any cline-yes">2x</span>
913
+ <span class="cline-any cline-yes">2x</span>
899
914
  <span class="cline-any cline-neutral">&nbsp;</span>
900
915
  <span class="cline-any cline-neutral">&nbsp;</span>
901
916
  <span class="cline-any cline-neutral">&nbsp;</span>
902
917
  <span class="cline-any cline-neutral">&nbsp;</span>
903
- <span class="cline-any cline-no">&nbsp;</span>
918
+ <span class="cline-any cline-yes">2x</span>
904
919
  <span class="cline-any cline-neutral">&nbsp;</span>
905
- <span class="cline-any cline-no">&nbsp;</span>
920
+ <span class="cline-any cline-yes">2x</span>
921
+ <span class="cline-any cline-yes">2x</span>
906
922
  <span class="cline-any cline-neutral">&nbsp;</span>
907
- <span class="cline-any cline-no">&nbsp;</span>
908
- <span class="cline-any cline-no">&nbsp;</span>
909
- <span class="cline-any cline-no">&nbsp;</span>
910
923
  <span class="cline-any cline-neutral">&nbsp;</span>
924
+ <span class="cline-any cline-yes">2x</span>
925
+ <span class="cline-any cline-yes">1x</span>
926
+ <span class="cline-any cline-yes">1x</span>
927
+ <span class="cline-any cline-yes">1x</span>
928
+ <span class="cline-any cline-yes">1x</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-neutral">&nbsp;</span>
931
+ <span class="cline-any cline-neutral">&nbsp;</span>
932
+ <span class="cline-any cline-yes">1x</span>
911
933
  <span class="cline-any cline-neutral">&nbsp;</span>
912
- <span class="cline-any cline-no">&nbsp;</span>
913
- <span class="cline-any cline-no">&nbsp;</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-yes">2x</span>
936
+ <span class="cline-any cline-yes">2x</span>
937
+ <span class="cline-any cline-yes">2x</span>
938
+ <span class="cline-any cline-neutral">&nbsp;</span>
939
+ <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-yes">2x</span>
941
+ <span class="cline-any cline-yes">2x</span>
914
942
  <span class="cline-any cline-neutral">&nbsp;</span>
915
943
  <span class="cline-any cline-neutral">&nbsp;</span>
916
944
  <span class="cline-any cline-yes">45x</span>
@@ -1345,27 +1373,41 @@ exports.validate = async ctx =&gt; {
1345
1373
  })
1346
1374
  }
1347
1375
  &nbsp;
1348
- exports.exportRows = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
1349
- const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
1350
- const table = <span class="cstat-no" title="statement not covered" >await db.get(ctx.params.tableId)</span>
1351
- const rowIds = <span class="cstat-no" title="statement not covered" >ctx.request.body.rows</span>
1352
- let format = <span class="cstat-no" title="statement not covered" >ctx.query.format</span>
1353
- let response = <span class="cstat-no" title="statement not covered" >(</span>
1376
+ exports.exportRows = async ctx =&gt; {
1377
+ const db = getAppDB()
1378
+ const table = await db.get(ctx.params.tableId)
1379
+ const rowIds = ctx.request.body.rows
1380
+ let format = ctx.query.format
1381
+ const { columns } = ctx.request.body
1382
+ let response = (
1354
1383
  await db.allDocs({
1355
1384
  include_docs: true,
1356
1385
  keys: rowIds,
1357
1386
  })
1358
- ).rows.map(<span class="fstat-no" title="function not covered" >ro</span>w =&gt; <span class="cstat-no" title="statement not covered" >row.doc)</span>
1387
+ ).rows.map(row =&gt; row.doc)
1359
1388
  &nbsp;
1360
- let rows = <span class="cstat-no" title="statement not covered" >await outputProcessing(table, response)</span>
1389
+ let result = await outputProcessing(table, response)
1390
+ let rows = []
1391
+ &nbsp;
1392
+ // Filter data to only specified columns if required
1393
+ if (columns &amp;&amp; columns.length) {
1394
+ for (let i = 0; i &lt; result.length; i++) {
1395
+ rows[i] = {}
1396
+ for (let column of columns) {
1397
+ rows[i][column] = result[i][column]
1398
+ }
1399
+ }
1400
+ } else {
1401
+ rows = result
1402
+ }
1361
1403
  &nbsp;
1362
- let headers = <span class="cstat-no" title="statement not covered" >Object.keys(rows[0])</span>
1363
- const exporter = <span class="cstat-no" title="statement not covered" >exporters[format]</span>
1364
- const filename = <span class="cstat-no" title="statement not covered" >`export.${format}`</span>
1404
+ let headers = Object.keys(rows[0])
1405
+ const exporter = exporters[format]
1406
+ const filename = `export.${format}`
1365
1407
  &nbsp;
1366
1408
  // send down the file
1367
- <span class="cstat-no" title="statement not covered" > ctx.attachment(filename)</span>
1368
- <span class="cstat-no" title="statement not covered" > return apiFileReturn(exporter(headers, rows))</span>
1409
+ ctx.attachment(filename)
1410
+ return apiFileReturn(exporter(headers, rows))
1369
1411
  }
1370
1412
  &nbsp;
1371
1413
  exports.fetchEnrichedRow = async ctx =&gt; {
@@ -1435,7 +1477,7 @@ exports.fetchEnrichedRow = async ctx =&gt; {
1435
1477
  <div class='footer quiet pad2 space-top1 center small'>
1436
1478
  Code coverage generated by
1437
1479
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1438
- at Fri Aug 19 2022 15:13:13 GMT+0000 (Coordinated Universal Time)
1480
+ at Sat Aug 20 2022 08:35:08 GMT+0000 (Coordinated Universal Time)
1439
1481
  </div>
1440
1482
  <script src="../../../prettify.js"></script>
1441
1483
  <script>