@budibase/server 1.4.17 → 1.4.18-alpha.0

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 (248) hide show
  1. package/Dockerfile +2 -0
  2. package/builder/assets/{index.2062efc5.js → index.95d0ae95.js} +296 -292
  3. package/builder/assets/index.ffaba7b0.css +6 -0
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +141 -179
  6. package/coverage/coverage-final.json +33 -35
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/index.html +9 -24
  14. package/coverage/lcov-report/api/controllers/integration.js.html +2 -2
  15. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  20. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  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 +1 -1
  38. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  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 +2 -2
  45. package/coverage/lcov-report/api/routes/apikeys.js.html +2 -2
  46. package/coverage/lcov-report/api/routes/automation.js.html +2 -2
  47. package/coverage/lcov-report/api/routes/backup.js.html +2 -2
  48. package/coverage/lcov-report/api/routes/cloud.js.html +2 -2
  49. package/coverage/lcov-report/api/routes/component.js.html +2 -2
  50. package/coverage/lcov-report/api/routes/datasource.js.html +2 -2
  51. package/coverage/lcov-report/api/routes/deploy.js.html +2 -2
  52. package/coverage/lcov-report/api/routes/dev.js.html +2 -2
  53. package/coverage/lcov-report/api/routes/index.html +5 -20
  54. package/coverage/lcov-report/api/routes/integration.js.html +2 -2
  55. package/coverage/lcov-report/api/routes/layout.js.html +2 -2
  56. package/coverage/lcov-report/api/routes/metadata.js.html +2 -2
  57. package/coverage/lcov-report/api/routes/migrations.js.html +2 -2
  58. package/coverage/lcov-report/api/routes/permission.js.html +2 -2
  59. package/coverage/lcov-report/api/routes/query.js.html +2 -2
  60. package/coverage/lcov-report/api/routes/role.js.html +2 -2
  61. package/coverage/lcov-report/api/routes/routing.js.html +2 -2
  62. package/coverage/lcov-report/api/routes/screen.js.html +2 -2
  63. package/coverage/lcov-report/api/routes/script.js.html +2 -2
  64. package/coverage/lcov-report/api/routes/table.js.html +2 -2
  65. package/coverage/lcov-report/api/routes/templates.js.html +2 -2
  66. package/coverage/lcov-report/api/routes/user.js.html +2 -2
  67. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  68. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/view.js.html +2 -2
  70. package/coverage/lcov-report/api/routes/webhook.js.html +2 -2
  71. package/coverage/lcov-report/automations/actions.js.html +1 -1
  72. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  73. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  74. package/coverage/lcov-report/automations/index.html +1 -1
  75. package/coverage/lcov-report/automations/index.js.html +1 -1
  76. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  77. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/index.html +1 -1
  83. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +52 -4
  88. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  93. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  94. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  102. package/coverage/lcov-report/constants/index.html +1 -1
  103. package/coverage/lcov-report/constants/index.js.html +1 -1
  104. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  105. package/coverage/lcov-report/constants/screens.js.html +1 -1
  106. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  107. package/coverage/lcov-report/db/index.html +5 -5
  108. package/coverage/lcov-report/db/index.js.html +4 -4
  109. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  110. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  111. package/coverage/lcov-report/db/linkedRows/index.js.html +11 -11
  112. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +7 -7
  113. package/coverage/lcov-report/db/newid.js.html +1 -1
  114. package/coverage/lcov-report/db/utils.js.html +1 -1
  115. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  116. package/coverage/lcov-report/events/index.html +1 -1
  117. package/coverage/lcov-report/events/index.js.html +1 -1
  118. package/coverage/lcov-report/events/utils.js.html +1 -1
  119. package/coverage/lcov-report/index.html +32 -32
  120. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  121. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  122. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  123. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  124. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  125. package/coverage/lcov-report/middleware/index.html +1 -1
  126. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  127. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  128. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  129. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  130. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  131. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  132. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  133. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  134. package/coverage/lcov-report/utilities/global.js.html +19 -13
  135. package/coverage/lcov-report/utilities/index.html +24 -24
  136. package/coverage/lcov-report/utilities/index.js.html +1 -1
  137. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  138. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  139. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  140. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  141. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  142. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +12 -12
  143. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +8 -8
  144. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  145. package/coverage/lcov-report/utilities/security.js.html +1 -1
  146. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  147. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  148. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  149. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  150. package/coverage/lcov-report/utilities/users.js.html +21 -12
  151. package/coverage/lcov-report/utilities/workerRequests.js.html +33 -3
  152. package/coverage/lcov.info +216 -272
  153. package/dist/api/controllers/application.js +2 -0
  154. package/dist/api/controllers/auth.js +58 -49
  155. package/dist/api/controllers/integration.js +1 -1
  156. package/dist/api/routes/analytics.js +1 -1
  157. package/dist/api/routes/apikeys.js +1 -1
  158. package/dist/api/routes/auth.js +31 -4
  159. package/dist/api/routes/automation.js +1 -1
  160. package/dist/api/routes/backup.js +1 -1
  161. package/dist/api/routes/cloud.js +1 -1
  162. package/dist/api/routes/component.js +1 -1
  163. package/dist/api/routes/datasource.js +1 -1
  164. package/dist/api/routes/deploy.js +1 -1
  165. package/dist/api/routes/dev.js +1 -1
  166. package/dist/api/routes/integration.js +1 -1
  167. package/dist/api/routes/layout.js +1 -1
  168. package/dist/api/routes/metadata.js +1 -1
  169. package/dist/api/routes/migrations.js +1 -1
  170. package/dist/api/routes/permission.js +1 -1
  171. package/dist/api/routes/public/applications.js +5 -0
  172. package/dist/api/routes/public/queries.js +2 -0
  173. package/dist/api/routes/public/rows.js +5 -0
  174. package/dist/api/routes/public/tables.js +5 -0
  175. package/dist/api/routes/public/users.js +5 -0
  176. package/dist/api/routes/query.js +1 -1
  177. package/dist/api/routes/role.js +1 -1
  178. package/dist/api/routes/routing.js +1 -1
  179. package/dist/api/routes/screen.js +1 -1
  180. package/dist/api/routes/script.js +1 -1
  181. package/dist/api/routes/table.js +1 -1
  182. package/dist/api/routes/templates.js +1 -1
  183. package/dist/api/routes/user.js +1 -1
  184. package/dist/api/routes/view.js +1 -1
  185. package/dist/api/routes/webhook.js +1 -1
  186. package/dist/automations/steps/sendSmtpEmail.js +10 -2
  187. package/dist/db/index.js +1 -1
  188. package/dist/middleware/authorized.js +2 -2
  189. package/dist/migrations/functions/usageQuotas/syncApps.js +2 -1
  190. package/dist/migrations/functions/usageQuotas/syncRows.js +2 -1
  191. package/dist/package.json +6 -6
  192. package/dist/tsconfig.build.tsbuildinfo +1 -1
  193. package/dist/utilities/global.js +6 -3
  194. package/dist/utilities/users.js +4 -2
  195. package/dist/utilities/workerRequests.js +3 -1
  196. package/package.json +7 -7
  197. package/scripts/dev/manage.js +1 -0
  198. package/specs/openapi.json +22 -0
  199. package/specs/openapi.yaml +22 -0
  200. package/src/api/controllers/application.ts +3 -7
  201. package/src/api/controllers/{auth.js → auth.ts} +20 -18
  202. package/src/api/controllers/integration.js +1 -1
  203. package/src/api/routes/analytics.js +1 -1
  204. package/src/api/routes/apikeys.js +1 -1
  205. package/src/api/routes/auth.ts +8 -0
  206. package/src/api/routes/automation.js +1 -1
  207. package/src/api/routes/backup.js +1 -1
  208. package/src/api/routes/cloud.js +1 -1
  209. package/src/api/routes/component.js +1 -1
  210. package/src/api/routes/datasource.js +1 -1
  211. package/src/api/routes/deploy.js +1 -1
  212. package/src/api/routes/dev.js +1 -1
  213. package/src/api/routes/integration.js +1 -1
  214. package/src/api/routes/layout.js +1 -1
  215. package/src/api/routes/metadata.js +1 -1
  216. package/src/api/routes/migrations.js +1 -1
  217. package/src/api/routes/permission.js +1 -1
  218. package/src/api/routes/public/applications.ts +5 -0
  219. package/src/api/routes/public/queries.ts +2 -0
  220. package/src/api/routes/public/rows.ts +5 -0
  221. package/src/api/routes/public/tables.ts +5 -0
  222. package/src/api/routes/public/users.ts +5 -0
  223. package/src/api/routes/query.js +1 -1
  224. package/src/api/routes/role.js +1 -1
  225. package/src/api/routes/routing.js +1 -1
  226. package/src/api/routes/screen.js +1 -1
  227. package/src/api/routes/script.js +1 -1
  228. package/src/api/routes/table.js +1 -1
  229. package/src/api/routes/templates.js +1 -1
  230. package/src/api/routes/tests/row.spec.js +3 -1
  231. package/src/api/routes/user.js +1 -1
  232. package/src/api/routes/view.js +1 -1
  233. package/src/api/routes/webhook.js +1 -1
  234. package/src/automations/steps/sendSmtpEmail.js +18 -2
  235. package/src/db/index.js +1 -1
  236. package/src/definitions/openapi.ts +134 -447
  237. package/src/middleware/authorized.ts +2 -2
  238. package/src/migrations/functions/usageQuotas/syncApps.ts +2 -1
  239. package/src/migrations/functions/usageQuotas/syncRows.ts +2 -1
  240. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts +2 -1
  241. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +2 -1
  242. package/src/utilities/global.js +6 -4
  243. package/src/utilities/users.js +5 -2
  244. package/src/utilities/workerRequests.js +11 -1
  245. package/builder/assets/index.91c8117f.css +0 -6
  246. package/coverage/lcov-report/api/controllers/auth.js.html +0 -292
  247. package/coverage/lcov-report/api/routes/auth.js.html +0 -109
  248. package/src/api/routes/auth.js +0 -8
@@ -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 Mon Sep 26 2022 15:19:49 GMT+0000 (Coordinated Universal Time)
349
+ at Mon Sep 26 2022 17:13:42 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 Mon Sep 26 2022 15:19:49 GMT+0000 (Coordinated Universal Time)
145
+ at Mon Sep 26 2022 17:13:42 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 Mon Sep 26 2022 15:19:49 GMT+0000 (Coordinated Universal Time)
286
+ at Mon Sep 26 2022 17:13:42 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 Mon Sep 26 2022 15:19:49 GMT+0000 (Coordinated Universal Time)
94
+ at Mon Sep 26 2022 17:13:42 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 Mon Sep 26 2022 15:19:49 GMT+0000 (Coordinated Universal Time)
119
+ at Mon Sep 26 2022 17:13:42 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 Mon Sep 26 2022 15:19:49 GMT+0000 (Coordinated Universal Time)
313
+ at Mon Sep 26 2022 17:13:42 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 Mon Sep 26 2022 15:19:49 GMT+0000 (Coordinated Universal Time)
127
+ at Mon Sep 26 2022 17:13:42 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 Mon Sep 26 2022 15:19:49 GMT+0000 (Coordinated Universal Time)
217
+ at Mon Sep 26 2022 17:13:42 GMT+0000 (Coordinated Universal Time)
209
218
  </div>
210
219
  <script src="../prettify.js"></script>
211
220
  <script>
@@ -226,7 +226,17 @@
226
226
  <a name='L161'></a><a href='#L161'>161</a>
227
227
  <a name='L162'></a><a href='#L162'>162</a>
228
228
  <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
230
240
  <span class="cline-any cline-yes">45x</span>
231
241
  <span class="cline-any cline-yes">45x</span>
232
242
  <span class="cline-any cline-yes">45x</span>
@@ -284,6 +294,14 @@
284
294
  <span class="cline-any cline-neutral">&nbsp;</span>
285
295
  <span class="cline-any cline-yes">45x</span>
286
296
  <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
287
305
  <span class="cline-any cline-no">&nbsp;</span>
288
306
  <span class="cline-any cline-neutral">&nbsp;</span>
289
307
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -298,6 +316,8 @@
298
316
  <span class="cline-any cline-neutral">&nbsp;</span>
299
317
  <span class="cline-any cline-neutral">&nbsp;</span>
300
318
  <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
321
  <span class="cline-any cline-no">&nbsp;</span>
302
322
  <span class="cline-any cline-neutral">&nbsp;</span>
303
323
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -445,7 +465,15 @@ async function checkResponse(response, errorMsg, { ctx } = {}) {
445
465
  exports.request = request
446
466
  &nbsp;
447
467
  // have to pass in the tenant ID as this could be coming from an automation
448
- exports.sendSmtpEmail = <span class="fstat-no" title="function not covered" >as</span>ync (to, from, subject, contents, automation) =&gt; {
468
+ exports.sendSmtpEmail = <span class="fstat-no" title="function not covered" >as</span>ync (
469
+ to,
470
+ from,
471
+ subject,
472
+ contents,
473
+ cc,
474
+ bcc,
475
+ automation
476
+ ) =&gt; {
449
477
  // tenant ID will be set in header
450
478
  const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
451
479
  checkSlashesInUrl(env.WORKER_URL + `/api/global/email/send`),
@@ -456,6 +484,8 @@ exports.sendSmtpEmail = <span class="fstat-no" title="function not covered" >as<
456
484
  from,
457
485
  contents,
458
486
  subject,
487
+ cc,
488
+ bcc,
459
489
  purpose: "custom",
460
490
  automation,
461
491
  },
@@ -559,7 +589,7 @@ exports.generateApiKey = <span class="fstat-no" title="function not covered" >as
559
589
  <div class='footer quiet pad2 space-top1 center small'>
560
590
  Code coverage generated by
561
591
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
562
- at Mon Sep 26 2022 15:19:49 GMT+0000 (Coordinated Universal Time)
592
+ at Mon Sep 26 2022 17:13:42 GMT+0000 (Coordinated Universal Time)
563
593
  </div>
564
594
  <script src="../prettify.js"></script>
565
595
  <script>