@budibase/server 1.0.121 → 1.0.123

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 (189) hide show
  1. package/builder/assets/{index.be685d3b.js → index.8d4a5b33.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +246 -213
  4. package/coverage/coverage-final.json +5 -5
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/index.html +1 -1
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  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 +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 +19 -19
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +83 -11
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/index.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  80. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  83. package/coverage/lcov-report/automations/actions.js.html +1 -1
  84. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  85. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  86. package/coverage/lcov-report/automations/index.html +1 -1
  87. package/coverage/lcov-report/automations/index.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/index.html +1 -1
  97. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  115. package/coverage/lcov-report/automations/utils.js.html +1 -1
  116. package/coverage/lcov-report/constants/index.html +5 -5
  117. package/coverage/lcov-report/constants/index.js.html +28 -4
  118. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  119. package/coverage/lcov-report/constants/screens.js.html +1 -1
  120. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  121. package/coverage/lcov-report/db/index.html +1 -1
  122. package/coverage/lcov-report/db/index.js.html +1 -1
  123. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +9 -6
  124. package/coverage/lcov-report/db/linkedRows/index.html +10 -10
  125. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  126. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  127. package/coverage/lcov-report/db/newid.js.html +1 -1
  128. package/coverage/lcov-report/db/utils.js.html +1 -1
  129. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  130. package/coverage/lcov-report/events/index.html +1 -1
  131. package/coverage/lcov-report/events/index.js.html +1 -1
  132. package/coverage/lcov-report/events/utils.js.html +1 -1
  133. package/coverage/lcov-report/index.html +34 -34
  134. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  135. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  136. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  137. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  138. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  139. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  140. package/coverage/lcov-report/middleware/index.html +1 -1
  141. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  142. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  143. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  144. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  145. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  146. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  147. package/coverage/lcov-report/threads/automation.js.html +1 -1
  148. package/coverage/lcov-report/threads/index.html +1 -1
  149. package/coverage/lcov-report/threads/index.js.html +1 -1
  150. package/coverage/lcov-report/threads/query.js.html +1 -1
  151. package/coverage/lcov-report/threads/utils.js.html +1 -1
  152. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  153. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  154. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  155. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  156. package/coverage/lcov-report/utilities/global.js.html +1 -1
  157. package/coverage/lcov-report/utilities/index.html +1 -1
  158. package/coverage/lcov-report/utilities/index.js.html +1 -1
  159. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  160. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  161. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  163. package/coverage/lcov-report/utilities/rowProcessor/index.html +25 -25
  164. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +31 -22
  165. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +94 -10
  166. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  167. package/coverage/lcov-report/utilities/security.js.html +1 -1
  168. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  169. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  170. package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
  171. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  172. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  173. package/coverage/lcov-report/utilities/users.js.html +1 -1
  174. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  175. package/coverage/lcov.info +457 -392
  176. package/dist/api/controllers/table/internal.js +22 -1
  177. package/dist/constants/index.js +7 -0
  178. package/dist/db/linkedRows/LinkController.js +1 -0
  179. package/dist/package.json +4 -4
  180. package/dist/tsconfig.tsbuildinfo +1 -1
  181. package/dist/utilities/rowProcessor/index.js +11 -6
  182. package/dist/utilities/rowProcessor/utils.js +27 -1
  183. package/package.json +5 -5
  184. package/src/api/controllers/table/internal.js +25 -1
  185. package/src/api/routes/tests/routing.spec.js +0 -1
  186. package/src/constants/index.js +8 -0
  187. package/src/db/linkedRows/LinkController.js +1 -0
  188. package/src/utilities/rowProcessor/index.js +12 -9
  189. package/src/utilities/rowProcessor/utils.js +29 -1
@@ -181,7 +181,7 @@ exports.endUserPing = <span class="fstat-no" title="function not covered" >as</s
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
184
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -226,7 +226,7 @@ exports.update = async function (ctx) {
226
226
  <div class='footer quiet pad2 space-top1 center small'>
227
227
  Code coverage generated by
228
228
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
229
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
229
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
230
230
  </div>
231
231
  </div>
232
232
  <script src="../../prettify.js"></script>
@@ -1420,7 +1420,7 @@ const createEmptyAppPackage = async (ctx, app) =&gt; {
1420
1420
  <div class='footer quiet pad2 space-top1 center small'>
1421
1421
  Code coverage generated by
1422
1422
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1423
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
1423
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
1424
1424
  </div>
1425
1425
  </div>
1426
1426
  <script src="../../prettify.js"></script>
@@ -238,7 +238,7 @@ exports.fetchSelf = async ctx =&gt; {
238
238
  <div class='footer quiet pad2 space-top1 center small'>
239
239
  Code coverage generated by
240
240
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
241
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
241
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
242
242
  </div>
243
243
  </div>
244
244
  <script src="../../prettify.js"></script>
@@ -718,7 +718,7 @@ exports.test = async function (ctx) {
718
718
  <div class='footer quiet pad2 space-top1 center small'>
719
719
  Code coverage generated by
720
720
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
721
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
721
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
722
722
  </div>
723
723
  </div>
724
724
  <script src="../../prettify.js"></script>
@@ -91,7 +91,7 @@ exports.exportAppDump = async function (ctx) {
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
94
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
94
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -403,7 +403,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
403
403
  <div class='footer quiet pad2 space-top1 center small'>
404
404
  Code coverage generated by
405
405
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
406
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
406
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
407
407
  </div>
408
408
  </div>
409
409
  <script src="../../prettify.js"></script>
@@ -166,7 +166,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
166
166
  <div class='footer quiet pad2 space-top1 center small'>
167
167
  Code coverage generated by
168
168
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
169
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
169
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
170
170
  </div>
171
171
  </div>
172
172
  <script src="../../prettify.js"></script>
@@ -841,7 +841,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
841
841
  <div class='footer quiet pad2 space-top1 center small'>
842
842
  Code coverage generated by
843
843
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
844
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
844
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
845
845
  </div>
846
846
  </div>
847
847
  <script src="../../prettify.js"></script>
@@ -445,7 +445,7 @@ exports.getBudibaseVersion = <span class="fstat-no" title="function not covered"
445
445
  <div class='footer quiet pad2 space-top1 center small'>
446
446
  Code coverage generated by
447
447
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
448
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
448
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
449
449
  </div>
450
450
  </div>
451
451
  <script src="../../prettify.js"></script>
@@ -410,7 +410,7 @@
410
410
  <div class='footer quiet pad2 space-top1 center small'>
411
411
  Code coverage generated by
412
412
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
413
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
413
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
414
414
  </div>
415
415
  </div>
416
416
  <script src="../../prettify.js"></script>
@@ -145,7 +145,7 @@ exports.find = async function (ctx) {
145
145
  <div class='footer quiet pad2 space-top1 center small'>
146
146
  Code coverage generated by
147
147
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
148
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
148
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
149
149
  </div>
150
150
  </div>
151
151
  <script src="../../prettify.js"></script>
@@ -217,7 +217,7 @@ exports.destroy = async function (ctx) {
217
217
  <div class='footer quiet pad2 space-top1 center small'>
218
218
  Code coverage generated by
219
219
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
220
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
220
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
221
221
  </div>
222
222
  </div>
223
223
  <script src="../../prettify.js"></script>
@@ -187,7 +187,7 @@ exports.getMetadata = async ctx =&gt; {
187
187
  <div class='footer quiet pad2 space-top1 center small'>
188
188
  Code coverage generated by
189
189
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
190
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
190
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
191
191
  </div>
192
192
  </div>
193
193
  <script src="../../prettify.js"></script>
@@ -103,7 +103,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
106
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
106
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
107
107
  </div>
108
108
  </div>
109
109
  <script src="../../prettify.js"></script>
@@ -589,7 +589,7 @@ exports.removePermission = async function (ctx) {
589
589
  <div class='footer quiet pad2 space-top1 center small'>
590
590
  Code coverage generated by
591
591
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
592
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
592
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
593
593
  </div>
594
594
  </div>
595
595
  <script src="../../prettify.js"></script>
@@ -110,7 +110,7 @@
110
110
  <div class='footer quiet pad2 space-top1 center small'>
111
111
  Code coverage generated by
112
112
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
113
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
114
114
  </div>
115
115
  </div>
116
116
  <script src="../../../prettify.js"></script>
@@ -697,7 +697,7 @@ exports.destroy = async function (ctx) {
697
697
  <div class='footer quiet pad2 space-top1 center small'>
698
698
  Code coverage generated by
699
699
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
700
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
700
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
701
701
  </div>
702
702
  </div>
703
703
  <script src="../../../prettify.js"></script>
@@ -214,7 +214,7 @@ exports.generateQueryPreviewValidation = () =&gt; {
214
214
  <div class='footer quiet pad2 space-top1 center small'>
215
215
  Code coverage generated by
216
216
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
217
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
217
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
218
218
  </div>
219
219
  </div>
220
220
  <script src="../../../prettify.js"></script>
@@ -358,7 +358,7 @@ exports.destroy = async function (ctx) {
358
358
  <div class='footer quiet pad2 space-top1 center small'>
359
359
  Code coverage generated by
360
360
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
361
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
361
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
362
362
  </div>
363
363
  </div>
364
364
  <script src="../../prettify.js"></script>
@@ -340,7 +340,7 @@ exports.clientFetch = async ctx =&gt; {
340
340
  <div class='footer quiet pad2 space-top1 center small'>
341
341
  Code coverage generated by
342
342
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
343
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
343
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
344
344
  </div>
345
345
  </div>
346
346
  <script src="../../prettify.js"></script>
@@ -763,7 +763,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
763
763
  <div class='footer quiet pad2 space-top1 center small'>
764
764
  Code coverage generated by
765
765
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
766
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
766
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
767
767
  </div>
768
768
  </div>
769
769
  <script src="../../../prettify.js"></script>
@@ -170,7 +170,7 @@
170
170
  <div class='footer quiet pad2 space-top1 center small'>
171
171
  Code coverage generated by
172
172
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
173
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
173
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
174
174
  </div>
175
175
  </div>
176
176
  <script src="../../../prettify.js"></script>
@@ -508,7 +508,7 @@ exports.export = <span class="fstat-no" title="function not covered" >as</span>y
508
508
  <div class='footer quiet pad2 space-top1 center small'>
509
509
  Code coverage generated by
510
510
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
511
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
511
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
512
512
  </div>
513
513
  </div>
514
514
  <script src="../../../prettify.js"></script>
@@ -1426,7 +1426,7 @@ exports.fetchEnrichedRow = async ctx =&gt; {
1426
1426
  <div class='footer quiet pad2 space-top1 center small'>
1427
1427
  Code coverage generated by
1428
1428
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1429
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
1429
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
1430
1430
  </div>
1431
1431
  </div>
1432
1432
  <script src="../../../prettify.js"></script>
@@ -1249,7 +1249,7 @@ exports.fullSearch = async (query, params) =&gt; {
1249
1249
  <div class='footer quiet pad2 space-top1 center small'>
1250
1250
  Code coverage generated by
1251
1251
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1252
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
1252
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
1253
1253
  </div>
1254
1254
  </div>
1255
1255
  <script src="../../../prettify.js"></script>
@@ -532,7 +532,7 @@ exports.finaliseRow = async (
532
532
  <div class='footer quiet pad2 space-top1 center small'>
533
533
  Code coverage generated by
534
534
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
535
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
535
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
536
536
  </div>
537
537
  </div>
538
538
  <script src="../../../prettify.js"></script>
@@ -331,7 +331,7 @@ exports.validate = async ({ tableId, row, table }) =&gt; {
331
331
  <div class='footer quiet pad2 space-top1 center small'>
332
332
  Code coverage generated by
333
333
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
334
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
334
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
335
335
  </div>
336
336
  </div>
337
337
  <script src="../../../prettify.js"></script>
@@ -202,7 +202,7 @@ exports.destroy = async ctx =&gt; {
202
202
  <div class='footer quiet pad2 space-top1 center small'>
203
203
  Code coverage generated by
204
204
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
205
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
205
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../../prettify.js"></script>
@@ -97,7 +97,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
100
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
100
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
101
101
  </div>
102
102
  </div>
103
103
  <script src="../../prettify.js"></script>
@@ -583,7 +583,7 @@ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) =&gt; {
583
583
  <div class='footer quiet pad2 space-top1 center small'>
584
584
  Code coverage generated by
585
585
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
586
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
586
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
587
587
  </div>
588
588
  </div>
589
589
  <script src="../../../prettify.js"></script>
@@ -1018,7 +1018,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
1018
1018
  <div class='footer quiet pad2 space-top1 center small'>
1019
1019
  Code coverage generated by
1020
1020
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1021
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
1021
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
1022
1022
  </div>
1023
1023
  </div>
1024
1024
  <script src="../../../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">53.01% </span>
26
+ <span class="strong">53.58% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>290/547</span>
28
+ <span class='fraction'>299/558</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">35.66% </span>
33
+ <span class="strong">37.24% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>102/286</span>
35
+ <span class='fraction'>111/298</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">52.56% </span>
40
+ <span class="strong">53.16% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>41/78</span>
42
+ <span class='fraction'>42/79</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">53.37% </span>
47
+ <span class="strong">53.94% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>285/534</span>
49
+ <span class='fraction'>294/545</span>
50
50
  </div>
51
51
 
52
52
 
@@ -119,17 +119,17 @@
119
119
 
120
120
  <tr>
121
121
  <td class="file medium" data-value="internal.js"><a href="internal.js.html">internal.js</a></td>
122
- <td data-value="72.46" class="pic medium">
123
- <div class="chart"><div class="cover-fill" style="width: 72%"></div><div class="cover-empty" style="width: 28%"></div></div>
122
+ <td data-value="73.75" class="pic medium">
123
+ <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
124
124
  </td>
125
- <td data-value="72.46" class="pct medium">72.46%</td>
126
- <td data-value="69" class="abs medium">50/69</td>
127
- <td data-value="67.64" class="pct medium">67.64%</td>
128
- <td data-value="34" class="abs medium">23/34</td>
129
- <td data-value="40" class="pct low">40%</td>
130
- <td data-value="5" class="abs low">2/5</td>
131
- <td data-value="75.75" class="pct medium">75.75%</td>
132
- <td data-value="66" class="abs medium">50/66</td>
125
+ <td data-value="73.75" class="pct medium">73.75%</td>
126
+ <td data-value="80" class="abs medium">59/80</td>
127
+ <td data-value="69.56" class="pct medium">69.56%</td>
128
+ <td data-value="46" class="abs medium">32/46</td>
129
+ <td data-value="50" class="pct medium">50%</td>
130
+ <td data-value="6" class="abs medium">3/6</td>
131
+ <td data-value="76.62" class="pct medium">76.62%</td>
132
+ <td data-value="77" class="abs medium">59/77</td>
133
133
  </tr>
134
134
 
135
135
  <tr>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
158
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../../prettify.js"></script>
@@ -361,7 +361,7 @@ exports.validateCSVSchema = async function (ctx) {
361
361
  <div class='footer quiet pad2 space-top1 center small'>
362
362
  Code coverage generated by
363
363
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
364
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
364
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
365
365
  </div>
366
366
  </div>
367
367
  <script src="../../../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">72.46% </span>
26
+ <span class="strong">73.75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>50/69</span>
28
+ <span class='fraction'>59/80</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">67.64% </span>
33
+ <span class="strong">69.56% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>23/34</span>
35
+ <span class='fraction'>32/46</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">40% </span>
40
+ <span class="strong">50% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/5</span>
42
+ <span class='fraction'>3/6</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">75.75% </span>
47
+ <span class="strong">76.62% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>50/66</span>
49
+ <span class='fraction'>59/77</span>
50
50
  </div>
51
51
 
52
52
 
@@ -213,7 +213,31 @@
213
213
  <a name='L154'></a><a href='#L154'>154</a>
214
214
  <a name='L155'></a><a href='#L155'>155</a>
215
215
  <a name='L156'></a><a href='#L156'>156</a>
216
- <a name='L157'></a><a href='#L157'>157</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
216
+ <a name='L157'></a><a href='#L157'>157</a>
217
+ <a name='L158'></a><a href='#L158'>158</a>
218
+ <a name='L159'></a><a href='#L159'>159</a>
219
+ <a name='L160'></a><a href='#L160'>160</a>
220
+ <a name='L161'></a><a href='#L161'>161</a>
221
+ <a name='L162'></a><a href='#L162'>162</a>
222
+ <a name='L163'></a><a href='#L163'>163</a>
223
+ <a name='L164'></a><a href='#L164'>164</a>
224
+ <a name='L165'></a><a href='#L165'>165</a>
225
+ <a name='L166'></a><a href='#L166'>166</a>
226
+ <a name='L167'></a><a href='#L167'>167</a>
227
+ <a name='L168'></a><a href='#L168'>168</a>
228
+ <a name='L169'></a><a href='#L169'>169</a>
229
+ <a name='L170'></a><a href='#L170'>170</a>
230
+ <a name='L171'></a><a href='#L171'>171</a>
231
+ <a name='L172'></a><a href='#L172'>172</a>
232
+ <a name='L173'></a><a href='#L173'>173</a>
233
+ <a name='L174'></a><a href='#L174'>174</a>
234
+ <a name='L175'></a><a href='#L175'>175</a>
235
+ <a name='L176'></a><a href='#L176'>176</a>
236
+ <a name='L177'></a><a href='#L177'>177</a>
237
+ <a name='L178'></a><a href='#L178'>178</a>
238
+ <a name='L179'></a><a href='#L179'>179</a>
239
+ <a name='L180'></a><a href='#L180'>180</a>
240
+ <a name='L181'></a><a href='#L181'>181</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
217
241
  <span class="cline-any cline-yes">41x</span>
218
242
  <span class="cline-any cline-yes">41x</span>
219
243
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -225,9 +249,30 @@
225
249
  <span class="cline-any cline-yes">41x</span>
226
250
  <span class="cline-any cline-yes">41x</span>
227
251
  <span class="cline-any cline-yes">41x</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
255
  <span class="cline-any cline-yes">41x</span>
229
256
  <span class="cline-any cline-yes">41x</span>
230
257
  <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-yes">106x</span>
260
+ <span class="cline-any cline-no">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-yes">106x</span>
263
+ <span class="cline-any cline-yes">264x</span>
264
+ <span class="cline-any cline-yes">262x</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-yes">2x</span>
267
+ <span class="cline-any cline-yes">2x</span>
268
+ <span class="cline-any cline-no">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-yes">2x</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-yes">106x</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
276
  <span class="cline-any cline-yes">41x</span>
232
277
  <span class="cline-any cline-yes">106x</span>
233
278
  <span class="cline-any cline-yes">106x</span>
@@ -244,10 +289,13 @@
244
289
  <span class="cline-any cline-yes">5x</span>
245
290
  <span class="cline-any cline-neutral">&nbsp;</span>
246
291
  <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
293
  <span class="cline-any cline-yes">106x</span>
248
294
  <span class="cline-any cline-no">&nbsp;</span>
249
295
  <span class="cline-any cline-neutral">&nbsp;</span>
250
296
  <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-yes">106x</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
299
  <span class="cline-any cline-neutral">&nbsp;</span>
252
300
  <span class="cline-any cline-neutral">&nbsp;</span>
253
301
  <span class="cline-any cline-yes">106x</span>
@@ -381,9 +429,30 @@ const {
381
429
  const usageQuota = require("../../../utilities/usageQuota")
382
430
  const { getAppDB } = require("@budibase/backend-core/context")
383
431
  const env = require("../../../environment")
384
- const { cleanupAttachments } = require("../../../utilities/rowProcessor")
432
+ const {
433
+ cleanupAttachments,
434
+ fixAutoColumnSubType,
435
+ } = require("../../../utilities/rowProcessor")
385
436
  const { runStaticFormulaChecks } = require("./bulkFormula")
386
437
  &nbsp;
438
+ function checkAutoColumns(table, oldTable) {
439
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!table.schema) {
440
+ <span class="cstat-no" title="statement not covered" > return table</span>
441
+ }
442
+ for (let [key, schema] of Object.entries(table.schema)) {
443
+ if (!schema.autocolumn || schema.subtype) {
444
+ continue
445
+ }
446
+ const oldSchema = oldTable &amp;&amp; oldTable.schema[key]
447
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (oldSchema &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >oldSchema.subtype)</span> {
448
+ <span class="cstat-no" title="statement not covered" > table.schema[key].subtype = oldSchema.subtype</span>
449
+ } else {
450
+ table.schema[key] = fixAutoColumnSubType(schema)
451
+ }
452
+ }
453
+ return table
454
+ }
455
+ &nbsp;
387
456
  exports.save = async function (ctx) {
388
457
  const db = getAppDB()
389
458
  const { dataImport, ...rest } = ctx.request.body
@@ -400,9 +469,12 @@ exports.save = async function (ctx) {
400
469
  oldTable = await db.get(ctx.request.body._id)
401
470
  }
402
471
  &nbsp;
472
+ // check all types are correct
403
473
  <span class="missing-if-branch" title="if path not taken" >I</span>if (hasTypeChanged(tableToSave, oldTable)) {
404
474
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, "A column type has changed.")</span>
405
475
  }
476
+ // check that subtypes have been maintained
477
+ tableToSave = checkAutoColumns(tableToSave, oldTable)
406
478
  &nbsp;
407
479
  // saving a table is a complex operation, involving many different steps, this
408
480
  // has been broken out into a utility to make it more obvious/easier to manipulate
@@ -532,7 +604,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
532
604
  <div class='footer quiet pad2 space-top1 center small'>
533
605
  Code coverage generated by
534
606
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
535
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
607
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
536
608
  </div>
537
609
  </div>
538
610
  <script src="../../../prettify.js"></script>
@@ -1315,7 +1315,7 @@ exports.TableSaveFunctions = TableSaveFunctions
1315
1315
  <div class='footer quiet pad2 space-top1 center small'>
1316
1316
  Code coverage generated by
1317
1317
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1318
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
1318
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
1319
1319
  </div>
1320
1320
  </div>
1321
1321
  <script src="../../../prettify.js"></script>