@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
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">58.01% </span>
26
+ <span class="strong">58.39% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>76/131</span>
28
+ <span class='fraction'>80/137</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">43% </span>
33
+ <span class="strong">46.53% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>43/100</span>
35
+ <span class='fraction'>47/101</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">60.48% </span>
47
+ <span class="strong">60.76% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>75/124</span>
49
+ <span class='fraction'>79/130</span>
50
50
  </div>
51
51
 
52
52
 
@@ -396,7 +396,10 @@
396
396
  <a name='L337'></a><a href='#L337'>337</a>
397
397
  <a name='L338'></a><a href='#L338'>338</a>
398
398
  <a name='L339'></a><a href='#L339'>339</a>
399
- <a name='L340'></a><a href='#L340'>340</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
399
+ <a name='L340'></a><a href='#L340'>340</a>
400
+ <a name='L341'></a><a href='#L341'>341</a>
401
+ <a name='L342'></a><a href='#L342'>342</a>
402
+ <a name='L343'></a><a href='#L343'>343</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
400
403
  <span class="cline-any cline-yes">41x</span>
401
404
  <span class="cline-any cline-yes">41x</span>
402
405
  <span class="cline-any cline-yes">41x</span>
@@ -409,6 +412,7 @@
409
412
  <span class="cline-any cline-neutral">&nbsp;</span>
410
413
  <span class="cline-any cline-yes">41x</span>
411
414
  <span class="cline-any cline-yes">41x</span>
415
+ <span class="cline-any cline-yes">41x</span>
412
416
  <span class="cline-any cline-neutral">&nbsp;</span>
413
417
  <span class="cline-any cline-yes">41x</span>
414
418
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -536,6 +540,10 @@
536
540
  <span class="cline-any cline-neutral">&nbsp;</span>
537
541
  <span class="cline-any cline-yes">78x</span>
538
542
  <span class="cline-any cline-yes">78x</span>
543
+ <span class="cline-any cline-yes">78x</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-yes">78x</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
547
  <span class="cline-any cline-neutral">&nbsp;</span>
540
548
  <span class="cline-any cline-yes">78x</span>
541
549
  <span class="cline-any cline-yes">78x</span>
@@ -543,14 +551,12 @@
543
551
  <span class="cline-any cline-yes">216x</span>
544
552
  <span class="cline-any cline-neutral">&nbsp;</span>
545
553
  <span class="cline-any cline-no">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
554
  <span class="cline-any cline-no">&nbsp;</span>
548
555
  <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-no">&nbsp;</span>
552
557
  <span class="cline-any cline-neutral">&nbsp;</span>
553
558
  <span class="cline-any cline-no">&nbsp;</span>
559
+ <span class="cline-any cline-no">&nbsp;</span>
554
560
  <span class="cline-any cline-neutral">&nbsp;</span>
555
561
  <span class="cline-any cline-no">&nbsp;</span>
556
562
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -577,7 +583,7 @@
577
583
  <span class="cline-any cline-yes">78x</span>
578
584
  <span class="cline-any cline-neutral">&nbsp;</span>
579
585
  <span class="cline-any cline-yes">41x</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-yes">41x</span>
581
587
  <span class="cline-any cline-yes">41x</span>
582
588
  <span class="cline-any cline-neutral">&nbsp;</span>
583
589
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -739,7 +745,7 @@
739
745
  const { cloneDeep } = require("lodash/fp")
740
746
  const { FieldTypes, AutoFieldSubTypes } = require("../../constants")
741
747
  const { attachmentsRelativeURL } = require("../index")
742
- const { processFormulas } = require("./utils")
748
+ const { processFormulas, fixAutoColumnSubType } = require("./utils")
743
749
  const { deleteFiles } = require("../../utilities/fileSystem/utilities")
744
750
  const { ObjectStoreBuckets } = require("../../constants")
745
751
  const {
@@ -748,6 +754,7 @@ const {
748
754
  dbExists,
749
755
  } = require("@budibase/backend-core/db")
750
756
  const { getAppId } = require("@budibase/backend-core/context")
757
+ const { InternalTables } = require("../../db/utils")
751
758
  &nbsp;
752
759
  const BASE_AUTO_ID = 1
753
760
  &nbsp;
@@ -874,21 +881,23 @@ function processAutoColumn(
874
881
  opts = <span class="branch-0 cbranch-no" title="branch not covered" >{ reprocessing: false, noAutoRelationships: false }</span>
875
882
  ) {
876
883
  let noUser = !user || !user.userId
884
+ let isUserTable = table._id === InternalTables.USER_METADATA
877
885
  let now = new Date().toISOString()
878
886
  // if a row doesn't have a revision then it doesn't exist yet
879
887
  const creating = !row._rev
888
+ // check its not user table, or whether any of the processing options have been disabled
889
+ const shouldUpdateUserFields =
890
+ !isUserTable &amp;&amp; !opts.reprocessing &amp;&amp; !opts.noAutoRelationships &amp;&amp; !noUser
880
891
  for (let [key, schema] of Object.entries(table.schema)) {
881
892
  if (!schema.autocolumn) {
882
893
  continue
883
894
  }
895
+ <span class="cstat-no" title="statement not covered" > if (!schema.subtype) {</span>
896
+ <span class="cstat-no" title="statement not covered" > schema = fixAutoColumnSubType(schema)</span>
897
+ }
884
898
  <span class="cstat-no" title="statement not covered" > switch (schema.subtype) {</span>
885
899
  case AutoFieldSubTypes.CREATED_BY:
886
- <span class="cstat-no" title="statement not covered" > if (</span>
887
- creating &amp;&amp;
888
- !opts.reprocessing &amp;&amp;
889
- !opts.noAutoRelationships &amp;&amp;
890
- !noUser
891
- ) {
900
+ <span class="cstat-no" title="statement not covered" > if (creating &amp;&amp; shouldUpdateUserFields) {</span>
892
901
  <span class="cstat-no" title="statement not covered" > row[key] = [user.userId]</span>
893
902
  }
894
903
  <span class="cstat-no" title="statement not covered" > break</span>
@@ -898,7 +907,7 @@ function processAutoColumn(
898
907
  }
899
908
  <span class="cstat-no" title="statement not covered" > break</span>
900
909
  case AutoFieldSubTypes.UPDATED_BY:
901
- <span class="cstat-no" title="statement not covered" > if (!opts.reprocessing &amp;&amp; !opts.noAutoRelationships &amp;&amp; !noUser) {</span>
910
+ <span class="cstat-no" title="statement not covered" > if (shouldUpdateUserFields) {</span>
902
911
  <span class="cstat-no" title="statement not covered" > row[key] = [user.userId]</span>
903
912
  }
904
913
  <span class="cstat-no" title="statement not covered" > break</span>
@@ -916,7 +925,7 @@ function processAutoColumn(
916
925
  return { table, row }
917
926
  }
918
927
  exports.processAutoColumn = processAutoColumn
919
- &nbsp;
928
+ exports.fixAutoColumnSubType = fixAutoColumnSubType
920
929
  exports.processFormulas = processFormulas
921
930
  &nbsp;
922
931
  /**
@@ -1081,7 +1090,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =&gt
1081
1090
  <div class='footer quiet pad2 space-top1 center small'>
1082
1091
  Code coverage generated by
1083
1092
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1084
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
1093
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
1085
1094
  </div>
1086
1095
  </div>
1087
1096
  <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">66.66% </span>
26
+ <span class="strong">62.5% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>12/18</span>
28
+ <span class='fraction'>20/32</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
33
+ <span class="strong">54.54% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>9/18</span>
35
+ <span class='fraction'>18/33</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/1</span>
42
+ <span class='fraction'>2/2</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">70.58% </span>
47
+ <span class="strong">64.51% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>12/17</span>
49
+ <span class='fraction'>20/31</span>
50
50
  </div>
51
51
 
52
52
 
@@ -96,8 +96,64 @@
96
96
  <a name='L37'></a><a href='#L37'>37</a>
97
97
  <a name='L38'></a><a href='#L38'>38</a>
98
98
  <a name='L39'></a><a href='#L39'>39</a>
99
- <a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
99
+ <a name='L40'></a><a href='#L40'>40</a>
100
+ <a name='L41'></a><a href='#L41'>41</a>
101
+ <a name='L42'></a><a href='#L42'>42</a>
102
+ <a name='L43'></a><a href='#L43'>43</a>
103
+ <a name='L44'></a><a href='#L44'>44</a>
104
+ <a name='L45'></a><a href='#L45'>45</a>
105
+ <a name='L46'></a><a href='#L46'>46</a>
106
+ <a name='L47'></a><a href='#L47'>47</a>
107
+ <a name='L48'></a><a href='#L48'>48</a>
108
+ <a name='L49'></a><a href='#L49'>49</a>
109
+ <a name='L50'></a><a href='#L50'>50</a>
110
+ <a name='L51'></a><a href='#L51'>51</a>
111
+ <a name='L52'></a><a href='#L52'>52</a>
112
+ <a name='L53'></a><a href='#L53'>53</a>
113
+ <a name='L54'></a><a href='#L54'>54</a>
114
+ <a name='L55'></a><a href='#L55'>55</a>
115
+ <a name='L56'></a><a href='#L56'>56</a>
116
+ <a name='L57'></a><a href='#L57'>57</a>
117
+ <a name='L58'></a><a href='#L58'>58</a>
118
+ <a name='L59'></a><a href='#L59'>59</a>
119
+ <a name='L60'></a><a href='#L60'>60</a>
120
+ <a name='L61'></a><a href='#L61'>61</a>
121
+ <a name='L62'></a><a href='#L62'>62</a>
122
+ <a name='L63'></a><a href='#L63'>63</a>
123
+ <a name='L64'></a><a href='#L64'>64</a>
124
+ <a name='L65'></a><a href='#L65'>65</a>
125
+ <a name='L66'></a><a href='#L66'>66</a>
126
+ <a name='L67'></a><a href='#L67'>67</a>
127
+ <a name='L68'></a><a href='#L68'>68</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
132
  <span class="cline-any cline-yes">41x</span>
133
+ <span class="cline-any cline-yes">41x</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-yes">41x</span>
140
+ <span class="cline-any cline-yes">2x</span>
141
+ <span class="cline-any cline-no">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-neutral">&nbsp;</span>
144
+ <span class="cline-any cline-yes">2x</span>
145
+ <span class="cline-any cline-no">&nbsp;</span>
146
+ <span class="cline-any cline-yes">2x</span>
147
+ <span class="cline-any cline-no">&nbsp;</span>
148
+ <span class="cline-any cline-yes">2x</span>
149
+ <span class="cline-any cline-no">&nbsp;</span>
150
+ <span class="cline-any cline-yes">2x</span>
151
+ <span class="cline-any cline-no">&nbsp;</span>
152
+ <span class="cline-any cline-yes">2x</span>
153
+ <span class="cline-any cline-no">&nbsp;</span>
154
+ <span class="cline-any cline-neutral">&nbsp;</span>
155
+ <span class="cline-any cline-yes">2x</span>
156
+ <span class="cline-any cline-neutral">&nbsp;</span>
101
157
  <span class="cline-any cline-neutral">&nbsp;</span>
102
158
  <span class="cline-any cline-neutral">&nbsp;</span>
103
159
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -135,9 +191,37 @@
135
191
  <span class="cline-any cline-neutral">&nbsp;</span>
136
192
  <span class="cline-any cline-yes">281x</span>
137
193
  <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { FieldTypes, FormulaTypes } = require("../../constants")
194
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
195
+ FieldTypes,
196
+ FormulaTypes,
197
+ AutoFieldDefaultNames,
198
+ AutoFieldSubTypes,
199
+ } = require("../../constants")
139
200
  const { processStringSync } = require("@budibase/string-templates")
140
201
  &nbsp;
202
+ /**
203
+ * If the subtype has been lost for any reason this works out what
204
+ * subtype the auto column should be.
205
+ */
206
+ exports.fixAutoColumnSubType = column =&gt; {
207
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!column.autocolumn || !column.name || column.subtype) {
208
+ <span class="cstat-no" title="statement not covered" > return column</span>
209
+ }
210
+ // the columns which get auto generated
211
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (column.name.endsWith(AutoFieldDefaultNames.CREATED_BY)) {
212
+ <span class="cstat-no" title="statement not covered" > column.subtype = AutoFieldSubTypes.CREATED_BY</span>
213
+ } else <span class="missing-if-branch" title="if path not taken" >I</span>if (column.name.endsWith(AutoFieldDefaultNames.UPDATED_BY)) {
214
+ <span class="cstat-no" title="statement not covered" > column.subtype = AutoFieldSubTypes.UPDATED_BY</span>
215
+ } else <span class="missing-if-branch" title="if path not taken" >I</span>if (column.name.endsWith(AutoFieldDefaultNames.CREATED_AT)) {
216
+ <span class="cstat-no" title="statement not covered" > column.subtype = AutoFieldSubTypes.CREATED_AT</span>
217
+ } else <span class="missing-if-branch" title="if path not taken" >I</span>if (column.name.endsWith(AutoFieldDefaultNames.UPDATED_AT)) {
218
+ <span class="cstat-no" title="statement not covered" > column.subtype = AutoFieldSubTypes.UPDATED_AT</span>
219
+ } else <span class="missing-if-branch" title="if path not taken" >I</span>if (column.name.endsWith(AutoFieldDefaultNames.AUTO_ID)) {
220
+ <span class="cstat-no" title="statement not covered" > column.subtype = AutoFieldSubTypes.AUTO_ID</span>
221
+ }
222
+ return column
223
+ }
224
+ &nbsp;
141
225
  /**
142
226
  * Looks through the rows provided and finds formulas - which it then processes.
143
227
  */
@@ -181,7 +265,7 @@ exports.processFormulas = (
181
265
  <div class='footer quiet pad2 space-top1 center small'>
182
266
  Code coverage generated by
183
267
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
268
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
185
269
  </div>
186
270
  </div>
187
271
  <script src="../../prettify.js"></script>
@@ -136,7 +136,7 @@ module.exports = ScriptRunner
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 Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
139
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -274,7 +274,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
277
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
277
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
278
278
  </div>
279
279
  </div>
280
280
  <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 Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
88
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  </div>
91
91
  <script src="../prettify.js"></script>
@@ -125,7 +125,7 @@
125
125
  <div class='footer quiet pad2 space-top1 center small'>
126
126
  Code coverage generated by
127
127
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
128
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
129
129
  </div>
130
130
  </div>
131
131
  <script src="../../prettify.js"></script>
@@ -343,7 +343,7 @@ exports.update = async (property, usage, opts = { dryRun: false }) =&gt; {
343
343
  <div class='footer quiet pad2 space-top1 center small'>
344
344
  Code coverage generated by
345
345
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
346
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
346
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  </div>
349
349
  <script src="../../prettify.js"></script>
@@ -301,7 +301,7 @@ exports.getUniqueRows = async appIds =&gt; {
301
301
  <div class='footer quiet pad2 space-top1 center small'>
302
302
  Code coverage generated by
303
303
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
304
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
304
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
305
305
  </div>
306
306
  </div>
307
307
  <script src="../../prettify.js"></script>
@@ -118,7 +118,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
121
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
121
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  </div>
124
124
  <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 Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
139
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -481,7 +481,7 @@ exports.readGlobalUser = <span class="fstat-no" title="function not covered" >as
481
481
  <div class='footer quiet pad2 space-top1 center small'>
482
482
  Code coverage generated by
483
483
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
484
- at Mon Apr 25 2022 13:58:44 GMT+0000 (Coordinated Universal Time)
484
+ at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
485
485
  </div>
486
486
  </div>
487
487
  <script src="../prettify.js"></script>