@budibase/server 1.4.8-alpha.6 → 1.4.8-alpha.8

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 (220) hide show
  1. package/builder/assets/{index.d2b2d372.js → index.f3982453.js} +313 -309
  2. package/builder/assets/index.fd3654ad.css +6 -0
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +97 -135
  5. package/coverage/coverage-final.json +30 -32
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/index.html +9 -24
  13. package/coverage/lcov-report/api/controllers/integration.js.html +2 -2
  14. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  19. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/table/external.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 +1 -1
  33. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  41. package/coverage/lcov-report/api/index.html +1 -1
  42. package/coverage/lcov-report/api/index.js.html +1 -1
  43. package/coverage/lcov-report/api/routes/analytics.js.html +2 -2
  44. package/coverage/lcov-report/api/routes/apikeys.js.html +2 -2
  45. package/coverage/lcov-report/api/routes/automation.js.html +2 -2
  46. package/coverage/lcov-report/api/routes/backup.js.html +2 -2
  47. package/coverage/lcov-report/api/routes/cloud.js.html +2 -2
  48. package/coverage/lcov-report/api/routes/component.js.html +2 -2
  49. package/coverage/lcov-report/api/routes/datasource.js.html +2 -2
  50. package/coverage/lcov-report/api/routes/deploy.js.html +2 -2
  51. package/coverage/lcov-report/api/routes/dev.js.html +2 -2
  52. package/coverage/lcov-report/api/routes/index.html +5 -20
  53. package/coverage/lcov-report/api/routes/integration.js.html +2 -2
  54. package/coverage/lcov-report/api/routes/layout.js.html +2 -2
  55. package/coverage/lcov-report/api/routes/metadata.js.html +2 -2
  56. package/coverage/lcov-report/api/routes/migrations.js.html +2 -2
  57. package/coverage/lcov-report/api/routes/permission.js.html +2 -2
  58. package/coverage/lcov-report/api/routes/query.js.html +2 -2
  59. package/coverage/lcov-report/api/routes/role.js.html +2 -2
  60. package/coverage/lcov-report/api/routes/routing.js.html +2 -2
  61. package/coverage/lcov-report/api/routes/screen.js.html +2 -2
  62. package/coverage/lcov-report/api/routes/script.js.html +2 -2
  63. package/coverage/lcov-report/api/routes/table.js.html +2 -2
  64. package/coverage/lcov-report/api/routes/templates.js.html +2 -2
  65. package/coverage/lcov-report/api/routes/user.js.html +2 -2
  66. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  67. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/view.js.html +2 -2
  69. package/coverage/lcov-report/api/routes/webhook.js.html +2 -2
  70. package/coverage/lcov-report/automations/actions.js.html +1 -1
  71. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  72. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  73. package/coverage/lcov-report/automations/index.html +1 -1
  74. package/coverage/lcov-report/automations/index.js.html +1 -1
  75. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  76. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  77. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/index.html +1 -1
  82. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  92. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  93. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  94. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  101. package/coverage/lcov-report/constants/index.html +1 -1
  102. package/coverage/lcov-report/constants/index.js.html +1 -1
  103. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  104. package/coverage/lcov-report/constants/screens.js.html +1 -1
  105. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  106. package/coverage/lcov-report/db/index.html +1 -1
  107. package/coverage/lcov-report/db/index.js.html +1 -1
  108. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  109. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  110. package/coverage/lcov-report/db/linkedRows/index.js.html +11 -11
  111. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +7 -7
  112. package/coverage/lcov-report/db/newid.js.html +1 -1
  113. package/coverage/lcov-report/db/utils.js.html +1 -1
  114. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  115. package/coverage/lcov-report/events/index.html +1 -1
  116. package/coverage/lcov-report/events/index.js.html +1 -1
  117. package/coverage/lcov-report/events/utils.js.html +1 -1
  118. package/coverage/lcov-report/index.html +30 -30
  119. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  120. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  121. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  122. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  123. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  124. package/coverage/lcov-report/middleware/index.html +1 -1
  125. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  126. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  127. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  128. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  129. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  130. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  131. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  132. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  133. package/coverage/lcov-report/utilities/global.js.html +19 -13
  134. package/coverage/lcov-report/utilities/index.html +24 -24
  135. package/coverage/lcov-report/utilities/index.js.html +1 -1
  136. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  137. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  138. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  139. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  140. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  141. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +12 -12
  142. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +8 -8
  143. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  144. package/coverage/lcov-report/utilities/security.js.html +1 -1
  145. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  146. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  147. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  148. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  149. package/coverage/lcov-report/utilities/users.js.html +21 -12
  150. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  151. package/coverage/lcov.info +155 -213
  152. package/dist/api/controllers/application.js +2 -0
  153. package/dist/api/controllers/auth.js +58 -49
  154. package/dist/api/controllers/integration.js +1 -1
  155. package/dist/api/routes/analytics.js +1 -1
  156. package/dist/api/routes/apikeys.js +1 -1
  157. package/dist/api/routes/auth.js +31 -4
  158. package/dist/api/routes/automation.js +1 -1
  159. package/dist/api/routes/backup.js +1 -1
  160. package/dist/api/routes/cloud.js +1 -1
  161. package/dist/api/routes/component.js +1 -1
  162. package/dist/api/routes/datasource.js +1 -1
  163. package/dist/api/routes/deploy.js +1 -1
  164. package/dist/api/routes/dev.js +1 -1
  165. package/dist/api/routes/integration.js +1 -1
  166. package/dist/api/routes/layout.js +1 -1
  167. package/dist/api/routes/metadata.js +1 -1
  168. package/dist/api/routes/migrations.js +1 -1
  169. package/dist/api/routes/permission.js +1 -1
  170. package/dist/api/routes/query.js +1 -1
  171. package/dist/api/routes/role.js +1 -1
  172. package/dist/api/routes/routing.js +1 -1
  173. package/dist/api/routes/screen.js +1 -1
  174. package/dist/api/routes/script.js +1 -1
  175. package/dist/api/routes/table.js +1 -1
  176. package/dist/api/routes/templates.js +1 -1
  177. package/dist/api/routes/user.js +1 -1
  178. package/dist/api/routes/view.js +1 -1
  179. package/dist/api/routes/webhook.js +1 -1
  180. package/dist/middleware/authorized.js +2 -2
  181. package/dist/package.json +6 -6
  182. package/dist/tsconfig.build.tsbuildinfo +1 -1
  183. package/dist/utilities/global.js +6 -3
  184. package/dist/utilities/users.js +4 -2
  185. package/package.json +7 -7
  186. package/src/api/controllers/application.ts +3 -7
  187. package/src/api/controllers/{auth.js → auth.ts} +20 -18
  188. package/src/api/controllers/integration.js +1 -1
  189. package/src/api/routes/analytics.js +1 -1
  190. package/src/api/routes/apikeys.js +1 -1
  191. package/src/api/routes/auth.ts +8 -0
  192. package/src/api/routes/automation.js +1 -1
  193. package/src/api/routes/backup.js +1 -1
  194. package/src/api/routes/cloud.js +1 -1
  195. package/src/api/routes/component.js +1 -1
  196. package/src/api/routes/datasource.js +1 -1
  197. package/src/api/routes/deploy.js +1 -1
  198. package/src/api/routes/dev.js +1 -1
  199. package/src/api/routes/integration.js +1 -1
  200. package/src/api/routes/layout.js +1 -1
  201. package/src/api/routes/metadata.js +1 -1
  202. package/src/api/routes/migrations.js +1 -1
  203. package/src/api/routes/permission.js +1 -1
  204. package/src/api/routes/query.js +1 -1
  205. package/src/api/routes/role.js +1 -1
  206. package/src/api/routes/routing.js +1 -1
  207. package/src/api/routes/screen.js +1 -1
  208. package/src/api/routes/script.js +1 -1
  209. package/src/api/routes/table.js +1 -1
  210. package/src/api/routes/templates.js +1 -1
  211. package/src/api/routes/user.js +1 -1
  212. package/src/api/routes/view.js +1 -1
  213. package/src/api/routes/webhook.js +1 -1
  214. package/src/middleware/authorized.ts +2 -2
  215. package/src/utilities/global.js +6 -4
  216. package/src/utilities/users.js +5 -2
  217. package/builder/assets/index.10b8a572.css +0 -6
  218. package/coverage/lcov-report/api/controllers/auth.js.html +0 -292
  219. package/coverage/lcov-report/api/routes/auth.js.html +0 -109
  220. package/src/api/routes/auth.js +0 -8
@@ -79,7 +79,7 @@ module.exports.budibaseTempDir = budibaseTempDir
79
79
  <div class='footer quiet pad2 space-top1 center small'>
80
80
  Code coverage generated by
81
81
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
82
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
83
83
  </div>
84
84
  <script src="../prettify.js"></script>
85
85
  <script>
@@ -136,7 +136,7 @@ exports.resolve = function (...args) {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
139
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  <script src="../prettify.js"></script>
142
142
  <script>
@@ -502,7 +502,7 @@ module.exports = {
502
502
  <div class='footer quiet pad2 space-top1 center small'>
503
503
  Code coverage generated by
504
504
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
505
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
505
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
506
506
  </div>
507
507
  <script src="../prettify.js"></script>
508
508
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">78.57% </span>
26
+ <span class="strong">77.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>55/70</span>
28
+ <span class='fraction'>56/72</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">75.67% </span>
33
+ <span class="strong">65.85% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>28/37</span>
35
+ <span class='fraction'>27/41</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">79.41% </span>
47
+ <span class="strong">78.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>54/68</span>
49
+ <span class='fraction'>55/70</span>
50
50
  </div>
51
51
 
52
52
 
@@ -188,7 +188,9 @@
188
188
  <a name='L123'></a><a href='#L123'>123</a>
189
189
  <a name='L124'></a><a href='#L124'>124</a>
190
190
  <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
192
194
  <span class="cline-any cline-neutral">&nbsp;</span>
193
195
  <span class="cline-any cline-neutral">&nbsp;</span>
194
196
  <span class="cline-any cline-yes">51x</span>
@@ -237,6 +239,7 @@
237
239
  <span class="cline-any cline-no">&nbsp;</span>
238
240
  <span class="cline-any cline-neutral">&nbsp;</span>
239
241
  <span class="cline-any cline-no">&nbsp;</span>
242
+ <span class="cline-any cline-no">&nbsp;</span>
240
243
  <span class="cline-any cline-neutral">&nbsp;</span>
241
244
  <span class="cline-any cline-neutral">&nbsp;</span>
242
245
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -266,6 +269,7 @@
266
269
  <span class="cline-any cline-yes">51x</span>
267
270
  <span class="cline-any cline-yes">2x</span>
268
271
  <span class="cline-any cline-yes">2x</span>
272
+ <span class="cline-any cline-yes">2x</span>
269
273
  <span class="cline-any cline-neutral">&nbsp;</span>
270
274
  <span class="cline-any cline-neutral">&nbsp;</span>
271
275
  <span class="cline-any cline-yes">51x</span>
@@ -358,13 +362,14 @@ exports.updateAppRole = (user, { appId } = {}) =&gt; {
358
362
  }
359
363
  &nbsp;
360
364
  async function <span class="fstat-no" title="function not covered" >checkGroupRoles(</span>user, { appId } = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
361
- let roleId = <span class="cstat-no" title="statement not covered" >await groups.getGroupRoleId(user, appId)</span>
362
- <span class="cstat-no" title="statement not covered" > user.roleId = roleId</span>
363
- &nbsp;
365
+ <span class="cstat-no" title="statement not covered" > if (user.roleId &amp;&amp; user.roleId !== BUILTIN_ROLE_IDS.PUBLIC) {</span>
366
+ <span class="cstat-no" title="statement not covered" > return user</span>
367
+ }
368
+ <span class="cstat-no" title="statement not covered" > user.roleId = await groups.getGroupRoleId(user, appId)</span>
364
369
  <span class="cstat-no" title="statement not covered" > return user</span>
365
370
  }
366
371
  &nbsp;
367
- async function processUser(user, { appId } = {}) {
372
+ async function processUser(user, { appId } = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
368
373
  <span class="missing-if-branch" title="else path not taken" >E</span>if (user) {
369
374
  delete user.password
370
375
  }
@@ -389,8 +394,9 @@ exports.getRawGlobalUser = async userId =&gt; {
389
394
  }
390
395
  &nbsp;
391
396
  exports.getGlobalUser = async userId =&gt; {
397
+ const appId = getAppId()
392
398
  let user = await exports.getRawGlobalUser(userId)
393
- return processUser(user)
399
+ return processUser(user, { appId })
394
400
  }
395
401
  &nbsp;
396
402
  exports.getGlobalUsers = async (users = null) =&gt; {
@@ -445,7 +451,7 @@ exports.getGlobalUsersFromMetadata = async users =&gt; {
445
451
  <div class='footer quiet pad2 space-top1 center small'>
446
452
  Code coverage generated by
447
453
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
448
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
454
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
449
455
  </div>
450
456
  <script src="../prettify.js"></script>
451
457
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">72.6% </span>
26
+ <span class="strong">72.7% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>265/365</span>
28
+ <span class='fraction'>269/370</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">60.52% </span>
33
+ <span class="strong">58.22% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>92/152</span>
35
+ <span class='fraction'>92/158</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">72.34% </span>
47
+ <span class="strong">72.45% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>259/358</span>
49
+ <span class='fraction'>263/363</span>
50
50
  </div>
51
51
 
52
52
 
@@ -125,17 +125,17 @@
125
125
 
126
126
  <tr>
127
127
  <td class="file medium" data-value="global.js"><a href="global.js.html">global.js</a></td>
128
- <td data-value="78.57" class="pic medium">
129
- <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
128
+ <td data-value="77.77" class="pic medium">
129
+ <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
130
130
  </td>
131
- <td data-value="78.57" class="pct medium">78.57%</td>
132
- <td data-value="70" class="abs medium">55/70</td>
133
- <td data-value="75.67" class="pct medium">75.67%</td>
134
- <td data-value="37" class="abs medium">28/37</td>
131
+ <td data-value="77.77" class="pct medium">77.77%</td>
132
+ <td data-value="72" class="abs medium">56/72</td>
133
+ <td data-value="65.85" class="pct medium">65.85%</td>
134
+ <td data-value="41" class="abs medium">27/41</td>
135
135
  <td data-value="68.75" class="pct medium">68.75%</td>
136
136
  <td data-value="16" class="abs medium">11/16</td>
137
- <td data-value="79.41" class="pct medium">79.41%</td>
138
- <td data-value="68" class="abs medium">54/68</td>
137
+ <td data-value="78.57" class="pct medium">78.57%</td>
138
+ <td data-value="70" class="abs medium">55/70</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -199,18 +199,18 @@
199
199
  </tr>
200
200
 
201
201
  <tr>
202
- <td class="file medium" data-value="users.js"><a href="users.js.html">users.js</a></td>
203
- <td data-value="79.16" class="pic medium">
204
- <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
202
+ <td class="file high" data-value="users.js"><a href="users.js.html">users.js</a></td>
203
+ <td data-value="81.48" class="pic high">
204
+ <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
205
205
  </td>
206
- <td data-value="79.16" class="pct medium">79.16%</td>
207
- <td data-value="24" class="abs medium">19/24</td>
208
- <td data-value="75" class="pct medium">75%</td>
209
- <td data-value="8" class="abs medium">6/8</td>
206
+ <td data-value="81.48" class="pct high">81.48%</td>
207
+ <td data-value="27" class="abs high">22/27</td>
208
+ <td data-value="70" class="pct medium">70%</td>
209
+ <td data-value="10" class="abs medium">7/10</td>
210
210
  <td data-value="100" class="pct high">100%</td>
211
211
  <td data-value="2" class="abs high">2/2</td>
212
- <td data-value="79.16" class="pct medium">79.16%</td>
213
- <td data-value="24" class="abs medium">19/24</td>
212
+ <td data-value="81.48" class="pct high">81.48%</td>
213
+ <td data-value="27" class="abs high">22/27</td>
214
214
  </tr>
215
215
 
216
216
  <tr>
@@ -236,7 +236,7 @@
236
236
  <div class='footer quiet pad2 space-top1 center small'>
237
237
  Code coverage generated by
238
238
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
239
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
239
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
240
240
  </div>
241
241
  <script src="../prettify.js"></script>
242
242
  <script>
@@ -586,7 +586,7 @@ exports.isQsTrue = param =&gt; {
586
586
  <div class='footer quiet pad2 space-top1 center small'>
587
587
  Code coverage generated by
588
588
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
589
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
589
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
590
590
  </div>
591
591
  <script src="../prettify.js"></script>
592
592
  <script>
@@ -436,7 +436,7 @@ module.exports = InMemoryQueue
436
436
  <div class='footer quiet pad2 space-top1 center small'>
437
437
  Code coverage generated by
438
438
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
439
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
439
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
440
440
  </div>
441
441
  <script src="../../prettify.js"></script>
442
442
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
104
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
104
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -145,7 +145,7 @@ exports.createRoutingView = createRoutingView
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" rel="noopener noreferrer">istanbul</a>
148
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
148
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
149
149
  </div>
150
150
  <script src="../../prettify.js"></script>
151
151
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
119
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -670,20 +670,20 @@
670
670
  <span class="cline-any cline-neutral">&nbsp;</span>
671
671
  <span class="cline-any cline-neutral">&nbsp;</span>
672
672
  <span class="cline-any cline-yes">45x</span>
673
- <span class="cline-any cline-yes">124x</span>
674
- <span class="cline-any cline-yes">124x</span>
675
- <span class="cline-any cline-yes">104x</span>
676
- <span class="cline-any cline-yes">104x</span>
673
+ <span class="cline-any cline-yes">125x</span>
674
+ <span class="cline-any cline-yes">125x</span>
675
+ <span class="cline-any cline-yes">105x</span>
676
+ <span class="cline-any cline-yes">105x</span>
677
677
  <span class="cline-any cline-neutral">&nbsp;</span>
678
678
  <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-yes">124x</span>
679
+ <span class="cline-any cline-yes">125x</span>
680
680
  <span class="cline-any cline-neutral">&nbsp;</span>
681
681
  <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-yes">124x</span>
682
+ <span class="cline-any cline-yes">125x</span>
683
683
  <span class="cline-any cline-neutral">&nbsp;</span>
684
684
  <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-yes">124x</span>
686
- <span class="cline-any cline-yes">344x</span>
685
+ <span class="cline-any cline-yes">125x</span>
686
+ <span class="cline-any cline-yes">349x</span>
687
687
  <span class="cline-any cline-yes">8x</span>
688
688
  <span class="cline-any cline-yes">8x</span>
689
689
  <span class="cline-any cline-yes">2x</span>
@@ -694,10 +694,10 @@
694
694
  <span class="cline-any cline-neutral">&nbsp;</span>
695
695
  <span class="cline-any cline-neutral">&nbsp;</span>
696
696
  <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-yes">124x</span>
698
- <span class="cline-any cline-yes">39x</span>
697
+ <span class="cline-any cline-yes">125x</span>
698
+ <span class="cline-any cline-yes">40x</span>
699
699
  <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-yes">124x</span>
700
+ <span class="cline-any cline-yes">125x</span>
701
701
  <span class="cline-any cline-neutral">&nbsp;</span>
702
702
  <span class="cline-any cline-neutral">&nbsp;</span>
703
703
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1096,7 +1096,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =&gt
1096
1096
  <div class='footer quiet pad2 space-top1 center small'>
1097
1097
  Code coverage generated by
1098
1098
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1099
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
1099
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
1100
1100
  </div>
1101
1101
  <script src="../../prettify.js"></script>
1102
1102
  <script>
@@ -194,19 +194,19 @@
194
194
  <span class="cline-any cline-neutral">&nbsp;</span>
195
195
  <span class="cline-any cline-neutral">&nbsp;</span>
196
196
  <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-yes">302x</span>
198
- <span class="cline-any cline-yes">302x</span>
197
+ <span class="cline-any cline-yes">303x</span>
198
+ <span class="cline-any cline-yes">303x</span>
199
199
  <span class="cline-any cline-yes">178x</span>
200
200
  <span class="cline-any cline-yes">178x</span>
201
201
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-yes">302x</span>
203
- <span class="cline-any cline-yes">846x</span>
204
- <span class="cline-any cline-yes">846x</span>
202
+ <span class="cline-any cline-yes">303x</span>
203
+ <span class="cline-any cline-yes">851x</span>
204
+ <span class="cline-any cline-yes">851x</span>
205
205
  <span class="cline-any cline-neutral">&nbsp;</span>
206
206
  <span class="cline-any cline-neutral">&nbsp;</span>
207
207
  <span class="cline-any cline-neutral">&nbsp;</span>
208
208
  <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-yes">846x</span>
209
+ <span class="cline-any cline-yes">851x</span>
210
210
  <span class="cline-any cline-neutral">&nbsp;</span>
211
211
  <span class="cline-any cline-neutral">&nbsp;</span>
212
212
  <span class="cline-any cline-no">&nbsp;</span>
@@ -220,7 +220,7 @@
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
222
  <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-yes">302x</span>
223
+ <span class="cline-any cline-yes">303x</span>
224
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
226
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -346,7 +346,7 @@ exports.processDates = <span class="fstat-no" title="function not covered" >(t</
346
346
  <div class='footer quiet pad2 space-top1 center small'>
347
347
  Code coverage generated by
348
348
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
349
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
349
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
350
350
  </div>
351
351
  <script src="../../prettify.js"></script>
352
352
  <script>
@@ -142,7 +142,7 @@ module.exports = ScriptRunner
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
145
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  <script src="../prettify.js"></script>
148
148
  <script>
@@ -283,7 +283,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
283
283
  <div class='footer quiet pad2 space-top1 center small'>
284
284
  Code coverage generated by
285
285
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
286
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
286
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
287
287
  </div>
288
288
  <script src="../prettify.js"></script>
289
289
  <script>
@@ -91,7 +91,7 @@
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" rel="noopener noreferrer">istanbul</a>
94
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
94
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  <script src="../prettify.js"></script>
97
97
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
119
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -310,7 +310,7 @@ exports.getUniqueRows = async appIds =&gt; {
310
310
  <div class='footer quiet pad2 space-top1 center small'>
311
311
  Code coverage generated by
312
312
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
313
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
313
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
314
314
  </div>
315
315
  <script src="../../prettify.js"></script>
316
316
  <script>
@@ -124,7 +124,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
127
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
128
128
  </div>
129
129
  <script src="../../prettify.js"></script>
130
130
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">79.16% </span>
26
+ <span class="strong">81.48% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>19/24</span>
28
+ <span class='fraction'>22/27</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">75% </span>
33
+ <span class="strong">70% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>6/8</span>
35
+ <span class='fraction'>7/10</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">79.16% </span>
47
+ <span class="strong">81.48% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>19/24</span>
49
+ <span class='fraction'>22/27</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -108,14 +108,18 @@
108
108
  <a name='L43'></a><a href='#L43'>43</a>
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
115
+ <span class="cline-any cline-yes">46x</span>
112
116
  <span class="cline-any cline-yes">46x</span>
113
117
  <span class="cline-any cline-yes">46x</span>
114
118
  <span class="cline-any cline-yes">46x</span>
115
119
  <span class="cline-any cline-neutral">&nbsp;</span>
116
120
  <span class="cline-any cline-yes">46x</span>
117
121
  <span class="cline-any cline-yes">2x</span>
118
- <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-yes">2x</span>
119
123
  <span class="cline-any cline-yes">2x</span>
120
124
  <span class="cline-any cline-neutral">&nbsp;</span>
121
125
  <span class="cline-any cline-yes">2x</span>
@@ -126,6 +130,8 @@
126
130
  <span class="cline-any cline-yes">2x</span>
127
131
  <span class="cline-any cline-neutral">&nbsp;</span>
128
132
  <span class="cline-any cline-yes">2x</span>
133
+ <span class="cline-any cline-yes">2x</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
135
  <span class="cline-any cline-neutral">&nbsp;</span>
130
136
  <span class="cline-any cline-neutral">&nbsp;</span>
131
137
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -157,10 +163,11 @@
157
163
  const { getGlobalUser } = require("../utilities/global")
158
164
  const { getAppDB } = require("@budibase/backend-core/context")
159
165
  const { getProdAppID } = require("@budibase/backend-core/db")
166
+ const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
160
167
  &nbsp;
161
168
  exports.getFullUser = async (ctx, userId) =&gt; {
162
169
  const global = await getGlobalUser(userId)
163
- let metadata
170
+ let metadata = {}
164
171
  try {
165
172
  // this will throw an error if the db doesn't exist, or there is no appId
166
173
  const db = getAppDB()
@@ -170,9 +177,11 @@ exports.getFullUser = async (ctx, userId) =&gt; {
170
177
  delete global._id
171
178
  delete global._rev
172
179
  }
180
+ delete metadata.csrfToken
173
181
  return {
174
- ...global,
175
182
  ...metadata,
183
+ ...global,
184
+ roleId: global.roleId || <span class="branch-1 cbranch-no" title="branch not covered" >BUILTIN_ROLE_IDS.PUBLIC,</span>
176
185
  tableId: InternalTables.USER_METADATA,
177
186
  // make sure the ID is always a local ID, not a global one
178
187
  _id: userId,
@@ -205,7 +214,7 @@ exports.publicApiUserFix = ctx =&gt; {
205
214
  <div class='footer quiet pad2 space-top1 center small'>
206
215
  Code coverage generated by
207
216
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
217
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
209
218
  </div>
210
219
  <script src="../prettify.js"></script>
211
220
  <script>
@@ -559,7 +559,7 @@ exports.generateApiKey = <span class="fstat-no" title="function not covered" >as
559
559
  <div class='footer quiet pad2 space-top1 center small'>
560
560
  Code coverage generated by
561
561
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
562
- at Fri Sep 23 2022 15:35:15 GMT+0000 (Coordinated Universal Time)
562
+ at Sat Sep 24 2022 18:34:04 GMT+0000 (Coordinated Universal Time)
563
563
  </div>
564
564
  <script src="../prettify.js"></script>
565
565
  <script>