@budibase/server 0.9.140-alpha.4 → 0.9.140-alpha.5

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 (200) hide show
  1. package/builder/assets/{index.2bcd18f5.js → index.80d850d1.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +646 -528
  4. package/coverage/coverage-final.json +17 -15
  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/component.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +3 -3
  13. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/hosting.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/permission.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/query.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/index.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/internal.js.html +242 -47
  27. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  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/index.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/index.js.html +2 -2
  33. package/coverage/lcov-report/api/controllers/table/utils.js.html +31 -19
  34. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/index.html +32 -17
  38. package/coverage/lcov-report/api/controllers/view/index.js.html +84 -186
  39. package/coverage/lcov-report/api/controllers/view/utils.js.html +407 -0
  40. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  42. package/coverage/lcov-report/api/index.html +1 -1
  43. package/coverage/lcov-report/api/index.js.html +1 -1
  44. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  45. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/application.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/component.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/index.html +1 -1
  56. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/metadata.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/row.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/user.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/createRow.js.html +10 -19
  80. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/deleteRow.js.html +14 -20
  82. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/index.html +31 -31
  87. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/queryRows.js.html +18 -27
  90. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/updateRow.js.html +12 -21
  94. package/coverage/lcov-report/automations/steps/utils.js.html +23 -23
  95. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  96. package/coverage/lcov-report/automations/thread.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  106. package/coverage/lcov-report/automations/utils.js.html +1 -1
  107. package/coverage/lcov-report/constants/index.html +1 -1
  108. package/coverage/lcov-report/constants/index.js.html +1 -1
  109. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  110. package/coverage/lcov-report/constants/screens.js.html +1 -1
  111. package/coverage/lcov-report/db/client.js.html +1 -1
  112. package/coverage/lcov-report/db/inMemoryView.js.html +224 -0
  113. package/coverage/lcov-report/db/index.html +34 -19
  114. package/coverage/lcov-report/db/index.js.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +4 -4
  116. package/coverage/lcov-report/db/linkedRows/index.html +14 -14
  117. package/coverage/lcov-report/db/linkedRows/index.js.html +18 -9
  118. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  119. package/coverage/lcov-report/db/newid.js.html +1 -1
  120. package/coverage/lcov-report/db/utils.js.html +37 -10
  121. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  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 +65 -65
  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/authorized.js.html +1 -1
  130. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  131. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  132. package/coverage/lcov-report/middleware/index.html +1 -1
  133. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  134. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  135. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  136. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  137. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  138. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  139. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  140. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  141. package/coverage/lcov-report/utilities/global.js.html +1 -1
  142. package/coverage/lcov-report/utilities/index.html +1 -1
  143. package/coverage/lcov-report/utilities/index.js.html +1 -1
  144. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  145. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  146. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  147. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  148. package/coverage/lcov-report/utilities/rowProcessor/index.html +15 -15
  149. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +58 -13
  150. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  151. package/coverage/lcov-report/utilities/security.js.html +2 -2
  152. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  153. package/coverage/lcov-report/utilities/users.js.html +1 -1
  154. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  155. package/coverage/lcov.info +1093 -883
  156. package/dist/api/controllers/datasource.js +2 -2
  157. package/dist/api/controllers/row/ExternalRequest.js +4 -0
  158. package/dist/api/controllers/row/internal.js +97 -23
  159. package/dist/api/controllers/table/index.js +1 -1
  160. package/dist/api/controllers/table/utils.js +13 -11
  161. package/dist/api/controllers/view/index.js +74 -96
  162. package/dist/api/controllers/view/utils.js +102 -0
  163. package/dist/automations/steps/createRow.js +5 -8
  164. package/dist/automations/steps/deleteRow.js +7 -10
  165. package/dist/automations/steps/queryRows.js +11 -14
  166. package/dist/automations/steps/updateRow.js +4 -7
  167. package/dist/db/inMemoryView.js +51 -0
  168. package/dist/db/linkedRows/index.js +5 -2
  169. package/dist/db/utils.js +7 -0
  170. package/dist/environment.js +7 -1
  171. package/dist/integrations/mysql.js +2 -13
  172. package/dist/integrations/postgres.js +8 -14
  173. package/dist/integrations/utils.js +19 -1
  174. package/dist/package.json +5 -5
  175. package/dist/tsconfig.tsbuildinfo +1 -1
  176. package/dist/utilities/rowProcessor/index.js +10 -5
  177. package/package.json +6 -6
  178. package/scripts/integrations/service-vehicles/docker-compose.yml +28 -0
  179. package/scripts/integrations/service-vehicles/init.sql +52 -0
  180. package/scripts/integrations/service-vehicles/reset.sh +3 -0
  181. package/src/api/controllers/datasource.js +2 -2
  182. package/src/api/controllers/row/ExternalRequest.ts +5 -1
  183. package/src/api/controllers/row/internal.js +88 -23
  184. package/src/api/controllers/table/index.js +1 -1
  185. package/src/api/controllers/table/utils.js +16 -12
  186. package/src/api/controllers/view/index.js +82 -116
  187. package/src/api/controllers/view/utils.js +109 -0
  188. package/src/api/routes/tests/view.spec.js +1 -1
  189. package/src/automations/steps/createRow.js +5 -8
  190. package/src/automations/steps/deleteRow.js +8 -10
  191. package/src/automations/steps/queryRows.js +11 -14
  192. package/src/automations/steps/updateRow.js +7 -10
  193. package/src/db/inMemoryView.js +48 -0
  194. package/src/db/linkedRows/index.js +5 -2
  195. package/src/db/utils.js +9 -0
  196. package/src/environment.js +8 -1
  197. package/src/integrations/mysql.ts +2 -13
  198. package/src/integrations/postgres.ts +9 -16
  199. package/src/integrations/utils.ts +18 -0
  200. package/src/utilities/rowProcessor/index.js +20 -5
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">77.53% </span>
26
+ <span class="strong">76.92% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>69/89</span>
28
+ <span class='fraction'>70/91</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">68.42% </span>
33
+ <span class="strong">59.09% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>39/57</span>
35
+ <span class='fraction'>39/66</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.16% </span>
47
+ <span class="strong">77.53% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>68/87</span>
49
+ <span class='fraction'>69/89</span>
50
50
  </div>
51
51
 
52
52
 
@@ -74,17 +74,17 @@
74
74
  </thead>
75
75
  <tbody><tr>
76
76
  <td class="file medium" data-value="index.js"><a href="index.js.html">index.js</a></td>
77
- <td data-value="76.62" class="pic medium">
78
- <div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
77
+ <td data-value="75.95" class="pic medium">
78
+ <div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
79
79
  </td>
80
- <td data-value="76.62" class="pct medium">76.62%</td>
81
- <td data-value="77" class="abs medium">59/77</td>
82
- <td data-value="66.67" class="pct medium">66.67%</td>
83
- <td data-value="51" class="abs medium">34/51</td>
80
+ <td data-value="75.95" class="pct medium">75.95%</td>
81
+ <td data-value="79" class="abs medium">60/79</td>
82
+ <td data-value="56.67" class="pct medium">56.67%</td>
83
+ <td data-value="60" class="abs medium">34/60</td>
84
84
  <td data-value="90" class="pct high">90%</td>
85
85
  <td data-value="10" class="abs high">9/10</td>
86
- <td data-value="76.32" class="pct medium">76.32%</td>
87
- <td data-value="76" class="abs medium">58/76</td>
86
+ <td data-value="75.64" class="pct medium">75.64%</td>
87
+ <td data-value="78" class="abs medium">59/78</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
@@ -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 Wed Sep 22 2021 15:00:11 GMT+0000 (Coordinated Universal Time)
113
+ at Wed Sep 22 2021 17:29:03 GMT+0000 (Coordinated Universal Time)
114
114
  </div>
115
115
  </div>
116
116
  <script src="../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">76.62% </span>
26
+ <span class="strong">75.95% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>59/77</span>
28
+ <span class='fraction'>60/79</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">66.67% </span>
33
+ <span class="strong">56.67% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>34/51</span>
35
+ <span class='fraction'>34/60</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">76.32% </span>
47
+ <span class="strong">75.64% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>58/76</span>
49
+ <span class='fraction'>59/78</span>
50
50
  </div>
51
51
 
52
52
 
@@ -288,7 +288,22 @@
288
288
  <a name='L229'></a><a href='#L229'>229</a>
289
289
  <a name='L230'></a><a href='#L230'>230</a>
290
290
  <a name='L231'></a><a href='#L231'>231</a>
291
- <a name='L232'></a><a href='#L232'>232</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
291
+ <a name='L232'></a><a href='#L232'>232</a>
292
+ <a name='L233'></a><a href='#L233'>233</a>
293
+ <a name='L234'></a><a href='#L234'>234</a>
294
+ <a name='L235'></a><a href='#L235'>235</a>
295
+ <a name='L236'></a><a href='#L236'>236</a>
296
+ <a name='L237'></a><a href='#L237'>237</a>
297
+ <a name='L238'></a><a href='#L238'>238</a>
298
+ <a name='L239'></a><a href='#L239'>239</a>
299
+ <a name='L240'></a><a href='#L240'>240</a>
300
+ <a name='L241'></a><a href='#L241'>241</a>
301
+ <a name='L242'></a><a href='#L242'>242</a>
302
+ <a name='L243'></a><a href='#L243'>243</a>
303
+ <a name='L244'></a><a href='#L244'>244</a>
304
+ <a name='L245'></a><a href='#L245'>245</a>
305
+ <a name='L246'></a><a href='#L246'>246</a>
306
+ <a name='L247'></a><a href='#L247'>247</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
292
307
  <span class="cline-any cline-yes">34x</span>
293
308
  <span class="cline-any cline-yes">34x</span>
294
309
  <span class="cline-any cline-yes">34x</span>
@@ -383,6 +398,12 @@
383
398
  <span class="cline-any cline-neutral">&nbsp;</span>
384
399
  <span class="cline-any cline-neutral">&nbsp;</span>
385
400
  <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
407
  <span class="cline-any cline-yes">73x</span>
387
408
  <span class="cline-any cline-neutral">&nbsp;</span>
388
409
  <span class="cline-any cline-yes">73x</span>
@@ -406,6 +427,8 @@
406
427
  <span class="cline-any cline-no">&nbsp;</span>
407
428
  <span class="cline-any cline-neutral">&nbsp;</span>
408
429
  <span class="cline-any cline-no">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-no">&nbsp;</span>
409
432
  <span class="cline-any cline-no">&nbsp;</span>
410
433
  <span class="cline-any cline-neutral">&nbsp;</span>
411
434
  <span class="cline-any cline-no">&nbsp;</span>
@@ -417,6 +440,7 @@
417
440
  <span class="cline-any cline-neutral">&nbsp;</span>
418
441
  <span class="cline-any cline-yes">73x</span>
419
442
  <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-yes">34x</span>
420
444
  <span class="cline-any cline-neutral">&nbsp;</span>
421
445
  <span class="cline-any cline-neutral">&nbsp;</span>
422
446
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -443,7 +467,13 @@
443
467
  <span class="cline-any cline-neutral">&nbsp;</span>
444
468
  <span class="cline-any cline-neutral">&nbsp;</span>
445
469
  <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
471
  <span class="cline-any cline-yes">34x</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
477
  <span class="cline-any cline-yes">73x</span>
448
478
  <span class="cline-any cline-neutral">&nbsp;</span>
449
479
  <span class="cline-any cline-yes">73x</span>
@@ -610,10 +640,16 @@ const TYPE_TRANSFORM_MAP = {
610
640
  * @param {Object} user The user to be used for an appId as well as the createdBy and createdAt fields.
611
641
  * @param {Object} table The table which is to be used for the schema, as well as handling auto IDs incrementing.
612
642
  * @param {Object} row The row which is to be updated with information for the auto columns.
643
+ * @param {Object} opts specific options for function to carry out optional features.
613
644
  * @returns {{row: Object, table: Object}} The updated row and table, the table may need to be updated
614
645
  * for automatic ID purposes.
615
646
  */
616
- function processAutoColumn(user, table, row) {
647
+ function processAutoColumn(
648
+ user,
649
+ table,
650
+ row,
651
+ opts = <span class="branch-0 cbranch-no" title="branch not covered" >{ reprocessing: false, noAutoRelationships: false }</span>
652
+ ) {
617
653
  let now = new Date().toISOString()
618
654
  // if a row doesn't have a revision then it doesn't exist yet
619
655
  const creating = !row._rev
@@ -623,7 +659,7 @@ function processAutoColumn(user, table, row) {
623
659
  }
624
660
  <span class="cstat-no" title="statement not covered" > switch (schema.subtype) {</span>
625
661
  case AutoFieldSubTypes.CREATED_BY:
626
- <span class="cstat-no" title="statement not covered" > if (creating) {</span>
662
+ <span class="cstat-no" title="statement not covered" > if (creating &amp;&amp; !opts.reprocessing &amp;&amp; !opts.noAutoRelationships) {</span>
627
663
  <span class="cstat-no" title="statement not covered" > row[key] = [user.userId]</span>
628
664
  }
629
665
  <span class="cstat-no" title="statement not covered" > break</span>
@@ -633,7 +669,9 @@ function processAutoColumn(user, table, row) {
633
669
  }
634
670
  <span class="cstat-no" title="statement not covered" > break</span>
635
671
  case AutoFieldSubTypes.UPDATED_BY:
636
- <span class="cstat-no" title="statement not covered" > row[key] = [user.userId]</span>
672
+ <span class="cstat-no" title="statement not covered" > if (!opts.reprocessing &amp;&amp; !opts.noAutoRelationships) {</span>
673
+ <span class="cstat-no" title="statement not covered" > row[key] = [user.userId]</span>
674
+ }
637
675
  <span class="cstat-no" title="statement not covered" > break</span>
638
676
  case AutoFieldSubTypes.UPDATED_AT:
639
677
  <span class="cstat-no" title="statement not covered" > row[key] = now</span>
@@ -648,6 +686,7 @@ function processAutoColumn(user, table, row) {
648
686
  }
649
687
  return { table, row }
650
688
  }
689
+ exports.processAutoColumn = processAutoColumn
651
690
  &nbsp;
652
691
  /**
653
692
  * This will coerce a value to the correct types based on the type transform map
@@ -672,9 +711,15 @@ exports.coerce = (row, type) =&gt; {
672
711
  * @param {object} user the user which is performing the input.
673
712
  * @param {object} row the row which is being created/updated.
674
713
  * @param {object} table the table which the row is being saved to.
714
+ * @param {object} opts some input processing options (like disabling auto-column relationships).
675
715
  * @returns {object} the row which has been prepared to be written to the DB.
676
716
  */
677
- exports.inputProcessing = (user = {}, table, row) =&gt; {
717
+ exports.inputProcessing = (
718
+ user = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
719
+ table,
720
+ row,
721
+ opts = { noAutoRelationships: false }
722
+ ) =&gt; {
678
723
  let clonedRow = cloneDeep(row)
679
724
  // need to copy the table so it can be differenced on way out
680
725
  const copiedTable = cloneDeep(table)
@@ -697,7 +742,7 @@ exports.inputProcessing = (user = {}, table, row) =&gt; {
697
742
  }
698
743
  }
699
744
  // handle auto columns - this returns an object like {table, row}
700
- return processAutoColumn(user, copiedTable, clonedRow)
745
+ return processAutoColumn(user, copiedTable, clonedRow, opts)
701
746
  }
702
747
  &nbsp;
703
748
  /**
@@ -757,7 +802,7 @@ exports.outputProcessing = async (
757
802
  <div class='footer quiet pad2 space-top1 center small'>
758
803
  Code coverage generated by
759
804
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
760
- at Wed Sep 22 2021 15:00:11 GMT+0000 (Coordinated Universal Time)
805
+ at Wed Sep 22 2021 17:29:03 GMT+0000 (Coordinated Universal Time)
761
806
  </div>
762
807
  </div>
763
808
  <script src="../../prettify.js"></script>
@@ -133,7 +133,7 @@ exports.processFormulas = (table, rows) =&gt; {
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
136
- at Wed Sep 22 2021 15:00:11 GMT+0000 (Coordinated Universal Time)
136
+ at Wed Sep 22 2021 17:29:03 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  </div>
139
139
  <script src="../../prettify.js"></script>
@@ -140,7 +140,7 @@
140
140
  <span class="cline-any cline-neutral">&nbsp;</span>
141
141
  <span class="cline-any cline-yes">33x</span>
142
142
  <span class="cline-any cline-yes">4x</span>
143
- <span class="cline-any cline-yes">76x</span>
143
+ <span class="cline-any cline-yes">80x</span>
144
144
  <span class="cline-any cline-neutral">&nbsp;</span>
145
145
  <span class="cline-any cline-yes">4x</span>
146
146
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -265,7 +265,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
265
265
  <div class='footer quiet pad2 space-top1 center small'>
266
266
  Code coverage generated by
267
267
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
268
- at Wed Sep 22 2021 15:00:11 GMT+0000 (Coordinated Universal Time)
268
+ at Wed Sep 22 2021 17:29:03 GMT+0000 (Coordinated Universal Time)
269
269
  </div>
270
270
  </div>
271
271
  <script src="../prettify.js"></script>
@@ -85,7 +85,7 @@
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
88
- at Wed Sep 22 2021 15:00:11 GMT+0000 (Coordinated Universal Time)
88
+ at Wed Sep 22 2021 17:29:03 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  </div>
91
91
  <script src="../prettify.js"></script>
@@ -136,7 +136,7 @@ exports.getFullUser = async (ctx, userId) =&gt; {
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">istanbul</a>
139
- at Wed Sep 22 2021 15:00:11 GMT+0000 (Coordinated Universal Time)
139
+ at Wed Sep 22 2021 17:29:03 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -493,7 +493,7 @@ exports.removeAppFromUserRoles = async (ctx, appId) =&gt; {
493
493
  <div class='footer quiet pad2 space-top1 center small'>
494
494
  Code coverage generated by
495
495
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
496
- at Wed Sep 22 2021 15:00:11 GMT+0000 (Coordinated Universal Time)
496
+ at Wed Sep 22 2021 17:29:03 GMT+0000 (Coordinated Universal Time)
497
497
  </div>
498
498
  </div>
499
499
  <script src="../prettify.js"></script>