@budibase/server 1.2.42 → 1.2.45

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 (162) hide show
  1. package/builder/assets/{index.b0f613b5.js → index.0956c8bc.js} +6 -6
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +305 -297
  4. package/coverage/coverage-final.json +20 -20
  5. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/index.html +1 -1
  14. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  20. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/index.html +19 -19
  25. package/coverage/lcov-report/api/controllers/row/internal.js.html +88 -46
  26. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +15 -15
  28. package/coverage/lcov-report/api/controllers/row/utils.js.html +13 -13
  29. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +41 -41
  32. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.js.html +17 -17
  35. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/exporters.js.html +2 -2
  38. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  43. package/coverage/lcov-report/api/index.html +1 -1
  44. package/coverage/lcov-report/api/index.js.html +5 -5
  45. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/index.html +1 -1
  56. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  70. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  73. package/coverage/lcov-report/automations/actions.js.html +1 -1
  74. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  75. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  76. package/coverage/lcov-report/automations/index.html +1 -1
  77. package/coverage/lcov-report/automations/index.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/index.html +1 -1
  85. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  104. package/coverage/lcov-report/constants/index.html +1 -1
  105. package/coverage/lcov-report/constants/index.js.html +1 -1
  106. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  107. package/coverage/lcov-report/constants/screens.js.html +1 -1
  108. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  109. package/coverage/lcov-report/db/index.html +1 -1
  110. package/coverage/lcov-report/db/index.js.html +1 -1
  111. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -11
  112. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/index.js.html +19 -19
  114. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +7 -7
  115. package/coverage/lcov-report/db/newid.js.html +2 -2
  116. package/coverage/lcov-report/db/utils.js.html +11 -11
  117. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  118. package/coverage/lcov-report/events/index.html +1 -1
  119. package/coverage/lcov-report/events/index.js.html +1 -1
  120. package/coverage/lcov-report/events/utils.js.html +1 -1
  121. package/coverage/lcov-report/index.html +19 -19
  122. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  123. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  124. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  125. package/coverage/lcov-report/middleware/builder.js.html +12 -12
  126. package/coverage/lcov-report/middleware/currentapp.js.html +33 -33
  127. package/coverage/lcov-report/middleware/index.html +1 -1
  128. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  129. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  130. package/coverage/lcov-report/middleware/resourceId.js.html +7 -7
  131. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  132. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  133. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  134. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  135. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  136. package/coverage/lcov-report/utilities/global.js.html +16 -16
  137. package/coverage/lcov-report/utilities/index.html +1 -1
  138. package/coverage/lcov-report/utilities/index.js.html +1 -1
  139. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  140. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  141. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  142. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  143. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  144. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +39 -39
  145. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +10 -10
  146. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  147. package/coverage/lcov-report/utilities/security.js.html +1 -1
  148. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  149. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  150. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  151. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  152. package/coverage/lcov-report/utilities/users.js.html +1 -1
  153. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  154. package/coverage/lcov.info +533 -521
  155. package/dist/api/controllers/row/internal.js +15 -1
  156. package/dist/automations/utils.js +1 -1
  157. package/dist/package.json +7 -7
  158. package/dist/tsconfig.build.tsbuildinfo +1 -1
  159. package/package.json +8 -8
  160. package/src/api/controllers/row/internal.js +15 -1
  161. package/src/api/routes/tests/row.spec.js +149 -67
  162. package/src/automations/utils.ts +1 -1
@@ -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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
235
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
247
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
928
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
127
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
412
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
175
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
862
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
478
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
389
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
139
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
214
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
196
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
112
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
598
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
104
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
223
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
397
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
349
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
832
+ at Fri Aug 19 2022 14:42:14 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">56.39% </span>
26
+ <span class="strong">58.81% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>366/649</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">34.76% </span>
33
+ <span class="strong">35.62% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>105/302</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">51.11% </span>
40
+ <span class="strong">53.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>46/90</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">56.62% </span>
47
+ <span class="strong">59.03% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>359/634</span>
49
+ <span class='fraction'>379/642</span>
50
50
  </div>
51
51
 
52
52
 
@@ -95,17 +95,17 @@
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>
@@ -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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
164
+ at Fri Aug 19 2022 14:42:14 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 Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
1480
+ at Fri Aug 19 2022 14:42:14 GMT+0000 (Coordinated Universal Time)
1439
1481
  </div>
1440
1482
  <script src="../../../prettify.js"></script>
1441
1483
  <script>
@@ -1450,7 +1450,7 @@ exports.fullSearch = async (query, params) =&gt; {
1450
1450
  <div class='footer quiet pad2 space-top1 center small'>
1451
1451
  Code coverage generated by
1452
1452
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1453
- at Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
1453
+ at Fri Aug 19 2022 14:42:14 GMT+0000 (Coordinated Universal Time)
1454
1454
  </div>
1455
1455
  <script src="../../../prettify.js"></script>
1456
1456
  <script>
@@ -237,10 +237,10 @@
237
237
  <span class="cline-any cline-neutral">&nbsp;</span>
238
238
  <span class="cline-any cline-neutral">&nbsp;</span>
239
239
  <span class="cline-any cline-yes">45x</span>
240
- <span class="cline-any cline-yes">83x</span>
240
+ <span class="cline-any cline-yes">85x</span>
241
241
  <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-yes">83x</span>
243
- <span class="cline-any cline-yes">83x</span>
242
+ <span class="cline-any cline-yes">85x</span>
243
+ <span class="cline-any cline-yes">85x</span>
244
244
  <span class="cline-any cline-neutral">&nbsp;</span>
245
245
  <span class="cline-any cline-no">&nbsp;</span>
246
246
  <span class="cline-any cline-no">&nbsp;</span>
@@ -334,14 +334,14 @@
334
334
  <span class="cline-any cline-neutral">&nbsp;</span>
335
335
  <span class="cline-any cline-neutral">&nbsp;</span>
336
336
  <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-yes">78x</span>
338
- <span class="cline-any cline-yes">78x</span>
337
+ <span class="cline-any cline-yes">80x</span>
338
+ <span class="cline-any cline-yes">80x</span>
339
339
  <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-yes">78x</span>
340
+ <span class="cline-any cline-yes">80x</span>
341
341
  <span class="cline-any cline-neutral">&nbsp;</span>
342
342
  <span class="cline-any cline-neutral">&nbsp;</span>
343
343
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-yes">78x</span>
344
+ <span class="cline-any cline-yes">80x</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
346
  <span class="cline-any cline-neutral">&nbsp;</span>
347
347
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -349,7 +349,7 @@
349
349
  <span class="cline-any cline-neutral">&nbsp;</span>
350
350
  <span class="cline-any cline-neutral">&nbsp;</span>
351
351
  <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-yes">78x</span>
352
+ <span class="cline-any cline-yes">80x</span>
353
353
  <span class="cline-any cline-no">&nbsp;</span>
354
354
  <span class="cline-any cline-no">&nbsp;</span>
355
355
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -365,15 +365,15 @@
365
365
  <span class="cline-any cline-neutral">&nbsp;</span>
366
366
  <span class="cline-any cline-neutral">&nbsp;</span>
367
367
  <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">78x</span>
368
+ <span class="cline-any cline-yes">80x</span>
369
369
  <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-yes">78x</span>
371
- <span class="cline-any cline-yes">78x</span>
370
+ <span class="cline-any cline-yes">80x</span>
371
+ <span class="cline-any cline-yes">80x</span>
372
372
  <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">78x</span>
374
- <span class="cline-any cline-yes">78x</span>
373
+ <span class="cline-any cline-yes">80x</span>
374
+ <span class="cline-any cline-yes">80x</span>
375
375
  <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-yes">78x</span>
376
+ <span class="cline-any cline-yes">80x</span>
377
377
  <span class="cline-any cline-neutral">&nbsp;</span>
378
378
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getRowParams } = require("../../../db/utils")
379
379
  const {
@@ -538,7 +538,7 @@ exports.finaliseRow = async (
538
538
  <div class='footer quiet pad2 space-top1 center small'>
539
539
  Code coverage generated by
540
540
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
541
- at Thu Aug 18 2022 13:32:33 GMT+0000 (Coordinated Universal Time)
541
+ at Fri Aug 19 2022 14:42:14 GMT+0000 (Coordinated Universal Time)
542
542
  </div>
543
543
  <script src="../../../prettify.js"></script>
544
544
  <script>