@budibase/server 1.0.48 → 1.0.49-alpha.3

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 (289) hide show
  1. package/builder/assets/{index.e083dcaf.js → index.21e57eb4.js} +234 -231
  2. package/builder/assets/index.83c0944f.css +1 -0
  3. package/builder/assets/{vendor.f9faf6ab.js → vendor.d526bfe8.js} +12 -12
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +2338 -2028
  6. package/coverage/coverage-final.json +100 -95
  7. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/application.js.html +210 -126
  10. package/coverage/lcov-report/api/controllers/auth.js.html +18 -6
  11. package/coverage/lcov-report/api/controllers/automation.js.html +21 -21
  12. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +4 -4
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +72 -36
  16. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/index.html +53 -53
  18. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/layout.js.html +6 -6
  20. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/migrations.js.html +119 -0
  22. package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
  23. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  24. package/coverage/lcov-report/api/controllers/query/index.js.html +19 -19
  25. package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
  26. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  27. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/external.js.html +16 -16
  29. package/coverage/lcov-report/api/controllers/row/index.html +48 -33
  30. package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
  31. package/coverage/lcov-report/api/controllers/row/internal.js.html +95 -158
  32. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +41 -17
  33. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +551 -0
  34. package/coverage/lcov-report/api/controllers/row/utils.js.html +39 -57
  35. package/coverage/lcov-report/api/controllers/screen.js.html +7 -7
  36. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  37. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +629 -0
  38. package/coverage/lcov-report/api/controllers/table/external.js.html +12 -12
  39. package/coverage/lcov-report/api/controllers/table/index.html +46 -31
  40. package/coverage/lcov-report/api/controllers/table/index.js.html +53 -77
  41. package/coverage/lcov-report/api/controllers/table/internal.js.html +59 -35
  42. package/coverage/lcov-report/api/controllers/table/utils.js.html +217 -73
  43. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/user.js.html +30 -24
  45. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  46. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/index.js.html +14 -14
  48. package/coverage/lcov-report/api/controllers/view/utils.js.html +11 -11
  49. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  50. package/coverage/lcov-report/api/controllers/webhook.js.html +15 -15
  51. package/coverage/lcov-report/api/index.html +1 -1
  52. package/coverage/lcov-report/api/index.js.html +8 -8
  53. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/index.html +18 -18
  65. package/coverage/lcov-report/api/routes/index.js.html +3 -3
  66. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/{hosting.js.html → migrations.js.html} +17 -14
  70. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/static.js.html +17 -2
  78. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/user.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 +24 -24
  84. package/coverage/lcov-report/automations/automationUtils.js.html +5 -5
  85. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  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 +6 -6
  89. package/coverage/lcov-report/automations/steps/createRow.js.html +13 -19
  90. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  91. package/coverage/lcov-report/automations/steps/deleteRow.js.html +11 -20
  92. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  93. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  94. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  95. package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
  96. package/coverage/lcov-report/automations/steps/index.html +13 -13
  97. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  98. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  99. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
  100. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  101. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  102. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  103. package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
  104. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  105. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  106. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  107. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  108. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  110. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  111. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  112. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  113. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  114. package/coverage/lcov-report/automations/triggers.js.html +18 -18
  115. package/coverage/lcov-report/automations/utils.js.html +32 -32
  116. package/coverage/lcov-report/constants/index.html +5 -5
  117. package/coverage/lcov-report/constants/index.js.html +53 -26
  118. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  119. package/coverage/lcov-report/constants/screens.js.html +4 -4
  120. package/coverage/lcov-report/db/client.js.html +18 -18
  121. package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
  122. package/coverage/lcov-report/db/index.html +15 -15
  123. package/coverage/lcov-report/db/index.js.html +3 -3
  124. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +18 -18
  125. package/coverage/lcov-report/db/linkedRows/index.html +10 -10
  126. package/coverage/lcov-report/db/linkedRows/index.js.html +38 -41
  127. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +15 -15
  128. package/coverage/lcov-report/db/newid.js.html +4 -4
  129. package/coverage/lcov-report/db/utils.js.html +86 -86
  130. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  131. package/coverage/lcov-report/events/index.html +1 -1
  132. package/coverage/lcov-report/events/index.js.html +5 -5
  133. package/coverage/lcov-report/events/utils.js.html +3 -3
  134. package/coverage/lcov-report/index.html +114 -99
  135. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  136. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  137. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  138. package/coverage/lcov-report/middleware/authorized.js.html +166 -64
  139. package/coverage/lcov-report/middleware/builder.js.html +8 -8
  140. package/coverage/lcov-report/middleware/currentapp.js.html +29 -29
  141. package/coverage/lcov-report/middleware/index.html +30 -30
  142. package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
  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 +270 -42
  146. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  147. package/coverage/lcov-report/threads/automation.js.html +1 -1
  148. package/coverage/lcov-report/threads/index.html +15 -15
  149. package/coverage/lcov-report/threads/index.js.html +10 -10
  150. package/coverage/lcov-report/threads/query.js.html +23 -8
  151. package/coverage/lcov-report/threads/utils.js.html +14 -14
  152. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  153. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  154. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  155. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  156. package/coverage/lcov-report/utilities/global.js.html +26 -26
  157. package/coverage/lcov-report/utilities/index.html +19 -19
  158. package/coverage/lcov-report/utilities/index.js.html +25 -25
  159. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
  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 +27 -27
  164. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +115 -79
  165. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +75 -27
  166. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  167. package/coverage/lcov-report/utilities/security.js.html +8 -8
  168. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  169. package/coverage/lcov-report/utilities/usageQuota/index.html +141 -0
  170. package/coverage/lcov-report/utilities/usageQuota/index.js.html +356 -0
  171. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +302 -0
  172. package/coverage/lcov-report/{api/controllers/hosting.js.html → utilities/usageQuota/usageQuoteReset.js.html} +36 -48
  173. package/coverage/lcov-report/utilities/users.js.html +5 -5
  174. package/coverage/lcov-report/utilities/workerRequests.js.html +39 -108
  175. package/coverage/lcov.info +3656 -3057
  176. package/dist/api/controllers/application.js +61 -34
  177. package/dist/api/controllers/auth.js +4 -0
  178. package/dist/api/controllers/datasource.js +11 -0
  179. package/dist/api/controllers/migrations.js +21 -0
  180. package/dist/api/controllers/row/internal.js +30 -53
  181. package/dist/api/controllers/row/internalSearch.js +12 -4
  182. package/dist/api/controllers/row/staticFormula.js +147 -0
  183. package/dist/api/controllers/row/utils.js +6 -8
  184. package/dist/api/controllers/static/index.js +59 -10
  185. package/dist/api/controllers/table/bulkFormula.js +160 -0
  186. package/dist/api/controllers/table/index.js +12 -9
  187. package/dist/api/controllers/table/internal.js +9 -0
  188. package/dist/api/controllers/table/utils.js +41 -12
  189. package/dist/api/controllers/user.js +2 -0
  190. package/dist/api/routes/index.js +2 -2
  191. package/dist/api/routes/migrations.js +9 -0
  192. package/dist/api/routes/static.js +2 -1
  193. package/dist/app.js +35 -5
  194. package/dist/automations/steps/createRow.js +2 -4
  195. package/dist/automations/steps/deleteRow.js +1 -4
  196. package/dist/constants/index.js +7 -0
  197. package/dist/db/linkedRows/index.js +4 -5
  198. package/dist/definitions/datasource.js +1 -0
  199. package/dist/environment.js +2 -0
  200. package/dist/integrations/base/sql.js +13 -6
  201. package/dist/integrations/googlesheets.js +340 -0
  202. package/dist/integrations/index.js +3 -0
  203. package/dist/integrations/utils.js +57 -9
  204. package/dist/middleware/authorized.js +55 -30
  205. package/dist/middleware/usageQuota.js +80 -13
  206. package/dist/migrations/functions/appUrls.js +46 -0
  207. package/dist/migrations/functions/quotas1.js +50 -0
  208. package/dist/migrations/functions/usageQuotas/index.js +20 -0
  209. package/dist/migrations/functions/usageQuotas/syncApps.js +32 -0
  210. package/dist/migrations/functions/usageQuotas/syncRows.js +35 -0
  211. package/dist/migrations/functions/userEmailViewCasing.js +24 -0
  212. package/dist/migrations/index.js +62 -0
  213. package/dist/package.json +8 -5
  214. package/dist/tests/utilities/TestConfiguration.js +13 -6
  215. package/dist/threads/query.js +4 -0
  216. package/dist/tsconfig.tsbuildinfo +1 -1
  217. package/dist/utilities/rowProcessor/index.js +18 -11
  218. package/dist/utilities/rowProcessor/utils.js +14 -4
  219. package/dist/utilities/{usageQuota.js → usageQuota/index.js} +44 -31
  220. package/dist/utilities/usageQuota/rows.js +77 -0
  221. package/dist/utilities/usageQuota/usageQuoteReset.js +16 -0
  222. package/dist/utilities/workerRequests.js +0 -20
  223. package/nodemon.json +1 -1
  224. package/package.json +9 -6
  225. package/src/api/controllers/application.js +52 -24
  226. package/src/api/controllers/auth.js +4 -0
  227. package/src/api/controllers/datasource.js +12 -0
  228. package/src/api/controllers/migrations.js +13 -0
  229. package/src/api/controllers/row/internal.js +29 -50
  230. package/src/api/controllers/row/internalSearch.js +12 -4
  231. package/src/api/controllers/row/staticFormula.js +157 -0
  232. package/src/api/controllers/row/utils.js +6 -12
  233. package/src/api/controllers/static/index.js +63 -10
  234. package/src/api/controllers/table/bulkFormula.js +183 -0
  235. package/src/api/controllers/table/index.js +16 -24
  236. package/src/api/controllers/table/internal.js +9 -1
  237. package/src/api/controllers/table/utils.js +57 -9
  238. package/src/api/controllers/user.js +2 -0
  239. package/src/api/routes/index.js +2 -2
  240. package/src/api/routes/migrations.js +14 -0
  241. package/src/api/routes/static.js +5 -0
  242. package/src/api/routes/tests/application.spec.js +2 -2
  243. package/src/api/routes/tests/auth.spec.js +1 -2
  244. package/src/api/routes/tests/static.spec.js +98 -0
  245. package/src/app.ts +18 -5
  246. package/src/automations/steps/createRow.js +2 -4
  247. package/src/automations/steps/deleteRow.js +1 -4
  248. package/src/constants/index.js +9 -0
  249. package/src/db/linkedRows/index.js +4 -5
  250. package/src/definitions/common.ts +3 -0
  251. package/src/definitions/datasource.ts +3 -0
  252. package/src/environment.js +2 -0
  253. package/src/integrations/base/sql.ts +14 -7
  254. package/src/integrations/googlesheets.ts +353 -0
  255. package/src/integrations/index.ts +3 -0
  256. package/src/integrations/tests/sql.spec.js +16 -0
  257. package/src/integrations/utils.ts +71 -11
  258. package/src/middleware/authorized.js +64 -30
  259. package/src/middleware/tests/authorized.spec.js +6 -4
  260. package/src/middleware/tests/usageQuota.spec.js +18 -24
  261. package/src/middleware/usageQuota.js +91 -15
  262. package/src/migrations/functions/appUrls.ts +34 -0
  263. package/src/migrations/functions/quotas1.ts +20 -0
  264. package/src/migrations/functions/tests/appUrls.spec.js +29 -0
  265. package/src/migrations/functions/tests/quotas1.spec.js +27 -0
  266. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +25 -0
  267. package/src/migrations/functions/usageQuotas/index.ts +8 -0
  268. package/src/migrations/functions/usageQuotas/syncApps.ts +18 -0
  269. package/src/migrations/functions/usageQuotas/syncRows.ts +21 -0
  270. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +37 -0
  271. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +43 -0
  272. package/src/migrations/functions/userEmailViewCasing.ts +13 -0
  273. package/src/migrations/index.ts +56 -0
  274. package/src/tests/utilities/TestConfiguration.js +14 -6
  275. package/src/threads/query.js +5 -0
  276. package/src/utilities/rowProcessor/index.js +24 -12
  277. package/src/utilities/rowProcessor/utils.js +23 -7
  278. package/src/utilities/tests/usageQuota/usageQuota.spec.js +72 -0
  279. package/src/utilities/usageQuota/index.js +92 -0
  280. package/src/utilities/usageQuota/rows.js +74 -0
  281. package/src/utilities/usageQuota/usageQuoteReset.js +18 -0
  282. package/src/utilities/workerRequests.js +0 -23
  283. package/builder/assets/index.39e01193.css +0 -1
  284. package/dist/api/controllers/hosting.js +0 -30
  285. package/dist/api/routes/hosting.js +0 -11
  286. package/src/api/controllers/hosting.js +0 -22
  287. package/src/api/routes/hosting.js +0 -13
  288. package/src/api/routes/tests/hosting.spec.js +0 -36
  289. package/src/utilities/usageQuota.js +0 -73
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">85.18% </span>
26
+ <span class="strong">82.75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>23/27</span>
28
+ <span class='fraction'>24/29</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">85.18% </span>
47
+ <span class="strong">82.75% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>23/27</span>
49
+ <span class='fraction'>24/29</span>
50
50
  </div>
51
51
 
52
52
 
@@ -112,7 +112,11 @@
112
112
  <a name='L53'></a><a href='#L53'>53</a>
113
113
  <a name='L54'></a><a href='#L54'>54</a>
114
114
  <a name='L55'></a><a href='#L55'>55</a>
115
- <a name='L56'></a><a href='#L56'>56</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
116
120
  <span class="cline-any cline-yes">23x</span>
117
121
  <span class="cline-any cline-yes">23x</span>
118
122
  <span class="cline-any cline-yes">23x</span>
@@ -132,6 +136,8 @@
132
136
  <span class="cline-any cline-yes">1x</span>
133
137
  <span class="cline-any cline-neutral">&nbsp;</span>
134
138
  <span class="cline-any cline-yes">1x</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-yes">1x</span>
135
141
  <span class="cline-any cline-yes">1x</span>
136
142
  <span class="cline-any cline-neutral">&nbsp;</span>
137
143
  <span class="cline-any cline-yes">1x</span>
@@ -141,6 +147,8 @@
141
147
  <span class="cline-any cline-neutral">&nbsp;</span>
142
148
  <span class="cline-any cline-no">&nbsp;</span>
143
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-no">&nbsp;</span>
151
+ <span class="cline-any cline-neutral">&nbsp;</span>
144
152
  <span class="cline-any cline-neutral">&nbsp;</span>
145
153
  <span class="cline-any cline-neutral">&nbsp;</span>
146
154
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -185,6 +193,8 @@ exports.fetchSelf = async ctx =&gt; {
185
193
  const user = await getFullUser(ctx, userId)
186
194
  // this shouldn't be returned by the app self
187
195
  delete user.roles
196
+ // forward the csrf token from the session
197
+ user.csrfToken = ctx.user.csrfToken
188
198
  &nbsp;
189
199
  if (appId) {
190
200
  const db = new CouchDB(appId)
@@ -193,6 +203,8 @@ exports.fetchSelf = async ctx =&gt; {
193
203
  try {
194
204
  const userTable = await db.get(InternalTables.USER_METADATA)
195
205
  const metadata = await db.get(userId)
206
+ // make sure there is never a stale csrf token
207
+ <span class="cstat-no" title="statement not covered" > delete metadata.csrfToken</span>
196
208
  // specifically needs to make sure is enriched
197
209
  <span class="cstat-no" title="statement not covered" > ctx.body = await outputProcessing(ctx, userTable, {</span>
198
210
  ...user,
@@ -229,7 +241,7 @@ exports.fetchSelf = async ctx =&gt; {
229
241
  <div class='footer quiet pad2 space-top1 center small'>
230
242
  Code coverage generated by
231
243
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
232
- at Mon Jan 31 2022 13:42:59 GMT+0000 (Coordinated Universal Time)
244
+ at Mon Jan 31 2022 17:55:41 GMT+0000 (Coordinated Universal Time)
233
245
  </div>
234
246
  </div>
235
247
  <script src="../../prettify.js"></script>
@@ -285,21 +285,21 @@
285
285
  <a name='L226'></a><a href='#L226'>226</a>
286
286
  <a name='L227'></a><a href='#L227'>227</a>
287
287
  <a name='L228'></a><a href='#L228'>228</a>
288
- <a name='L229'></a><a href='#L229'>229</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
289
- <span class="cline-any cline-yes">33x</span>
290
- <span class="cline-any cline-yes">33x</span>
291
- <span class="cline-any cline-yes">33x</span>
288
+ <a name='L229'></a><a href='#L229'>229</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
289
+ <span class="cline-any cline-yes">38x</span>
290
+ <span class="cline-any cline-yes">38x</span>
291
+ <span class="cline-any cline-yes">38x</span>
292
292
  <span class="cline-any cline-neutral">&nbsp;</span>
293
293
  <span class="cline-any cline-neutral">&nbsp;</span>
294
294
  <span class="cline-any cline-neutral">&nbsp;</span>
295
295
  <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-yes">33x</span>
297
- <span class="cline-any cline-yes">33x</span>
298
- <span class="cline-any cline-yes">33x</span>
299
- <span class="cline-any cline-yes">33x</span>
296
+ <span class="cline-any cline-yes">38x</span>
297
+ <span class="cline-any cline-yes">38x</span>
298
+ <span class="cline-any cline-yes">38x</span>
299
+ <span class="cline-any cline-yes">38x</span>
300
300
  <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-yes">33x</span>
302
- <span class="cline-any cline-yes">33x</span>
301
+ <span class="cline-any cline-yes">38x</span>
302
+ <span class="cline-any cline-yes">38x</span>
303
303
  <span class="cline-any cline-neutral">&nbsp;</span>
304
304
  <span class="cline-any cline-neutral">&nbsp;</span>
305
305
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -344,7 +344,7 @@
344
344
  <span class="cline-any cline-yes">22x</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
346
  <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-yes">33x</span>
347
+ <span class="cline-any cline-yes">38x</span>
348
348
  <span class="cline-any cline-yes">21x</span>
349
349
  <span class="cline-any cline-yes">21x</span>
350
350
  <span class="cline-any cline-yes">21x</span>
@@ -375,7 +375,7 @@
375
375
  <span class="cline-any cline-neutral">&nbsp;</span>
376
376
  <span class="cline-any cline-neutral">&nbsp;</span>
377
377
  <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">33x</span>
378
+ <span class="cline-any cline-yes">38x</span>
379
379
  <span class="cline-any cline-yes">2x</span>
380
380
  <span class="cline-any cline-yes">2x</span>
381
381
  <span class="cline-any cline-yes">2x</span>
@@ -417,7 +417,7 @@
417
417
  <span class="cline-any cline-neutral">&nbsp;</span>
418
418
  <span class="cline-any cline-neutral">&nbsp;</span>
419
419
  <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-yes">33x</span>
420
+ <span class="cline-any cline-yes">38x</span>
421
421
  <span class="cline-any cline-yes">2x</span>
422
422
  <span class="cline-any cline-yes">2x</span>
423
423
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -427,12 +427,12 @@
427
427
  <span class="cline-any cline-yes">2x</span>
428
428
  <span class="cline-any cline-neutral">&nbsp;</span>
429
429
  <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-yes">33x</span>
430
+ <span class="cline-any cline-yes">38x</span>
431
431
  <span class="cline-any cline-yes">1x</span>
432
432
  <span class="cline-any cline-yes">1x</span>
433
433
  <span class="cline-any cline-neutral">&nbsp;</span>
434
434
  <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-yes">33x</span>
435
+ <span class="cline-any cline-yes">38x</span>
436
436
  <span class="cline-any cline-yes">1x</span>
437
437
  <span class="cline-any cline-yes">1x</span>
438
438
  <span class="cline-any cline-yes">1x</span>
@@ -445,15 +445,15 @@
445
445
  <span class="cline-any cline-yes">1x</span>
446
446
  <span class="cline-any cline-neutral">&nbsp;</span>
447
447
  <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-yes">33x</span>
448
+ <span class="cline-any cline-yes">38x</span>
449
449
  <span class="cline-any cline-yes">1x</span>
450
450
  <span class="cline-any cline-neutral">&nbsp;</span>
451
451
  <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-yes">33x</span>
452
+ <span class="cline-any cline-yes">38x</span>
453
453
  <span class="cline-any cline-yes">1x</span>
454
454
  <span class="cline-any cline-neutral">&nbsp;</span>
455
455
  <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-yes">33x</span>
456
+ <span class="cline-any cline-yes">38x</span>
457
457
  <span class="cline-any cline-yes">1x</span>
458
458
  <span class="cline-any cline-neutral">&nbsp;</span>
459
459
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -466,7 +466,7 @@
466
466
  <span class="cline-any cline-neutral">&nbsp;</span>
467
467
  <span class="cline-any cline-neutral">&nbsp;</span>
468
468
  <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-yes">33x</span>
469
+ <span class="cline-any cline-yes">38x</span>
470
470
  <span class="cline-any cline-no">&nbsp;</span>
471
471
  <span class="cline-any cline-no">&nbsp;</span>
472
472
  <span class="cline-any cline-no">&nbsp;</span>
@@ -491,7 +491,7 @@
491
491
  <span class="cline-any cline-yes">2x</span>
492
492
  <span class="cline-any cline-neutral">&nbsp;</span>
493
493
  <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-yes">33x</span>
494
+ <span class="cline-any cline-yes">38x</span>
495
495
  <span class="cline-any cline-yes">2x</span>
496
496
  <span class="cline-any cline-yes">2x</span>
497
497
  <span class="cline-any cline-yes">2x</span>
@@ -748,7 +748,7 @@ exports.test = async function (ctx) {
748
748
  <div class='footer quiet pad2 space-top1 center small'>
749
749
  Code coverage generated by
750
750
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
751
- at Mon Jan 31 2022 13:42:59 GMT+0000 (Coordinated Universal Time)
751
+ at Mon Jan 31 2022 17:55:41 GMT+0000 (Coordinated Universal Time)
752
752
  </div>
753
753
  </div>
754
754
  <script src="../../prettify.js"></script>
@@ -91,7 +91,7 @@ exports.exportAppDump = async function (ctx) {
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
94
- at Mon Jan 31 2022 13:42:59 GMT+0000 (Coordinated Universal Time)
94
+ at Mon Jan 31 2022 17:55:41 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -406,7 +406,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
406
406
  <div class='footer quiet pad2 space-top1 center small'>
407
407
  Code coverage generated by
408
408
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
409
- at Mon Jan 31 2022 13:42:59 GMT+0000 (Coordinated Universal Time)
409
+ at Mon Jan 31 2022 17:55:41 GMT+0000 (Coordinated Universal Time)
410
410
  </div>
411
411
  </div>
412
412
  <script src="../../prettify.js"></script>
@@ -114,11 +114,11 @@
114
114
  <span class="cline-any cline-yes">1x</span>
115
115
  <span class="cline-any cline-yes">1x</span>
116
116
  <span class="cline-any cline-yes">1x</span>
117
- <span class="cline-any cline-yes">49x</span>
117
+ <span class="cline-any cline-yes">50x</span>
118
118
  <span class="cline-any cline-yes">1x</span>
119
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
- <span class="cline-any cline-yes">48x</span>
121
- <span class="cline-any cline-yes">48x</span>
120
+ <span class="cline-any cline-yes">49x</span>
121
+ <span class="cline-any cline-yes">49x</span>
122
122
  <span class="cline-any cline-neutral">&nbsp;</span>
123
123
  <span class="cline-any cline-neutral">&nbsp;</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -169,7 +169,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
169
169
  <div class='footer quiet pad2 space-top1 center small'>
170
170
  Code coverage generated by
171
171
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
172
- at Mon Jan 31 2022 13:42:59 GMT+0000 (Coordinated Universal Time)
172
+ at Mon Jan 31 2022 17:55:41 GMT+0000 (Coordinated Universal Time)
173
173
  </div>
174
174
  </div>
175
175
  <script src="../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">59.67% </span>
26
+ <span class="strong">60% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>74/124</span>
28
+ <span class='fraction'>78/130</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">33.33% </span>
33
+ <span class="strong">37.73% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>15/45</span>
35
+ <span class='fraction'>20/53</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">59.34% </span>
47
+ <span class="strong">59.68% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>73/123</span>
49
+ <span class='fraction'>77/129</span>
50
50
  </div>
51
51
 
52
52
 
@@ -306,7 +306,19 @@
306
306
  <a name='L247'></a><a href='#L247'>247</a>
307
307
  <a name='L248'></a><a href='#L248'>248</a>
308
308
  <a name='L249'></a><a href='#L249'>249</a>
309
- <a name='L250'></a><a href='#L250'>250</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
309
+ <a name='L250'></a><a href='#L250'>250</a>
310
+ <a name='L251'></a><a href='#L251'>251</a>
311
+ <a name='L252'></a><a href='#L252'>252</a>
312
+ <a name='L253'></a><a href='#L253'>253</a>
313
+ <a name='L254'></a><a href='#L254'>254</a>
314
+ <a name='L255'></a><a href='#L255'>255</a>
315
+ <a name='L256'></a><a href='#L256'>256</a>
316
+ <a name='L257'></a><a href='#L257'>257</a>
317
+ <a name='L258'></a><a href='#L258'>258</a>
318
+ <a name='L259'></a><a href='#L259'>259</a>
319
+ <a name='L260'></a><a href='#L260'>260</a>
320
+ <a name='L261'></a><a href='#L261'>261</a>
321
+ <a name='L262'></a><a href='#L262'>262</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
310
322
  <span class="cline-any cline-neutral">&nbsp;</span>
311
323
  <span class="cline-any cline-neutral">&nbsp;</span>
312
324
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -314,13 +326,13 @@
314
326
  <span class="cline-any cline-neutral">&nbsp;</span>
315
327
  <span class="cline-any cline-neutral">&nbsp;</span>
316
328
  <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-yes">34x</span>
318
- <span class="cline-any cline-yes">34x</span>
319
- <span class="cline-any cline-yes">34x</span>
320
- <span class="cline-any cline-yes">34x</span>
321
- <span class="cline-any cline-yes">34x</span>
329
+ <span class="cline-any cline-yes">39x</span>
330
+ <span class="cline-any cline-yes">39x</span>
331
+ <span class="cline-any cline-yes">39x</span>
332
+ <span class="cline-any cline-yes">39x</span>
333
+ <span class="cline-any cline-yes">39x</span>
322
334
  <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-yes">34x</span>
335
+ <span class="cline-any cline-yes">39x</span>
324
336
  <span class="cline-any cline-yes">2x</span>
325
337
  <span class="cline-any cline-neutral">&nbsp;</span>
326
338
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -347,9 +359,16 @@
347
359
  <span class="cline-any cline-yes">1x</span>
348
360
  <span class="cline-any cline-neutral">&nbsp;</span>
349
361
  <span class="cline-any cline-yes">2x</span>
362
+ <span class="cline-any cline-yes">1x</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-no">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
366
  <span class="cline-any cline-neutral">&nbsp;</span>
351
367
  <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-yes">34x</span>
368
+ <span class="cline-any cline-yes">2x</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-yes">39x</span>
353
372
  <span class="cline-any cline-no">&nbsp;</span>
354
373
  <span class="cline-any cline-no">&nbsp;</span>
355
374
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -369,7 +388,7 @@
369
388
  <span class="cline-any cline-neutral">&nbsp;</span>
370
389
  <span class="cline-any cline-neutral">&nbsp;</span>
371
390
  <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-yes">34x</span>
391
+ <span class="cline-any cline-yes">39x</span>
373
392
  <span class="cline-any cline-yes">6x</span>
374
393
  <span class="cline-any cline-yes">6x</span>
375
394
  <span class="cline-any cline-yes">6x</span>
@@ -398,12 +417,17 @@
398
417
  <span class="cline-any cline-yes">1x</span>
399
418
  <span class="cline-any cline-neutral">&nbsp;</span>
400
419
  <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-yes">34x</span>
420
+ <span class="cline-any cline-yes">39x</span>
421
+ <span class="cline-any cline-yes">6x</span>
402
422
  <span class="cline-any cline-yes">6x</span>
403
423
  <span class="cline-any cline-yes">6x</span>
404
424
  <span class="cline-any cline-yes">6x</span>
405
425
  <span class="cline-any cline-yes">6x</span>
406
426
  <span class="cline-any cline-yes">6x</span>
427
+ <span class="cline-any cline-yes">6x</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-no">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
407
431
  <span class="cline-any cline-neutral">&nbsp;</span>
408
432
  <span class="cline-any cline-yes">6x</span>
409
433
  <span class="cline-any cline-yes">6x</span>
@@ -421,43 +445,43 @@
421
445
  <span class="cline-any cline-yes">6x</span>
422
446
  <span class="cline-any cline-neutral">&nbsp;</span>
423
447
  <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-yes">34x</span>
425
- <span class="cline-any cline-yes">35x</span>
426
- <span class="cline-any cline-yes">35x</span>
427
- <span class="cline-any cline-yes">35x</span>
448
+ <span class="cline-any cline-yes">39x</span>
449
+ <span class="cline-any cline-yes">39x</span>
450
+ <span class="cline-any cline-yes">39x</span>
451
+ <span class="cline-any cline-yes">39x</span>
428
452
  <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-yes">35x</span>
453
+ <span class="cline-any cline-yes">39x</span>
430
454
  <span class="cline-any cline-neutral">&nbsp;</span>
431
455
  <span class="cline-any cline-neutral">&nbsp;</span>
432
456
  <span class="cline-any cline-neutral">&nbsp;</span>
433
457
  <span class="cline-any cline-neutral">&nbsp;</span>
434
458
  <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-yes">35x</span>
436
- <span class="cline-any cline-yes">35x</span>
459
+ <span class="cline-any cline-yes">39x</span>
460
+ <span class="cline-any cline-yes">39x</span>
437
461
  <span class="cline-any cline-no">&nbsp;</span>
438
462
  <span class="cline-any cline-no">&nbsp;</span>
439
463
  <span class="cline-any cline-no">&nbsp;</span>
440
464
  <span class="cline-any cline-neutral">&nbsp;</span>
441
465
  <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-yes">35x</span>
443
- <span class="cline-any cline-yes">35x</span>
466
+ <span class="cline-any cline-yes">39x</span>
467
+ <span class="cline-any cline-yes">39x</span>
444
468
  <span class="cline-any cline-neutral">&nbsp;</span>
445
469
  <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-yes">35x</span>
447
- <span class="cline-any cline-yes">35x</span>
448
- <span class="cline-any cline-yes">35x</span>
470
+ <span class="cline-any cline-yes">39x</span>
471
+ <span class="cline-any cline-yes">39x</span>
472
+ <span class="cline-any cline-yes">39x</span>
449
473
  <span class="cline-any cline-no">&nbsp;</span>
450
474
  <span class="cline-any cline-neutral">&nbsp;</span>
451
475
  <span class="cline-any cline-neutral">&nbsp;</span>
452
476
  <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-yes">35x</span>
454
- <span class="cline-any cline-yes">35x</span>
477
+ <span class="cline-any cline-yes">39x</span>
478
+ <span class="cline-any cline-yes">39x</span>
455
479
  <span class="cline-any cline-no">&nbsp;</span>
456
480
  <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-yes">35x</span>
481
+ <span class="cline-any cline-yes">39x</span>
458
482
  <span class="cline-any cline-neutral">&nbsp;</span>
459
483
  <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-yes">34x</span>
484
+ <span class="cline-any cline-yes">39x</span>
461
485
  <span class="cline-any cline-yes">1x</span>
462
486
  <span class="cline-any cline-neutral">&nbsp;</span>
463
487
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -479,13 +503,13 @@
479
503
  <span class="cline-any cline-yes">1x</span>
480
504
  <span class="cline-any cline-neutral">&nbsp;</span>
481
505
  <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-yes">34x</span>
506
+ <span class="cline-any cline-yes">39x</span>
483
507
  <span class="cline-any cline-yes">1x</span>
484
508
  <span class="cline-any cline-yes">1x</span>
485
509
  <span class="cline-any cline-neutral">&nbsp;</span>
486
510
  <span class="cline-any cline-neutral">&nbsp;</span>
487
511
  <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-yes">34x</span>
512
+ <span class="cline-any cline-yes">39x</span>
489
513
  <span class="cline-any cline-yes">1x</span>
490
514
  <span class="cline-any cline-yes">1x</span>
491
515
  <span class="cline-any cline-yes">1x</span>
@@ -511,7 +535,7 @@
511
535
  <span class="cline-any cline-no">&nbsp;</span>
512
536
  <span class="cline-any cline-neutral">&nbsp;</span>
513
537
  <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-yes">34x</span>
538
+ <span class="cline-any cline-yes">39x</span>
515
539
  <span class="cline-any cline-no">&nbsp;</span>
516
540
  <span class="cline-any cline-neutral">&nbsp;</span>
517
541
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -594,6 +618,13 @@ exports.fetch = async function (ctx) {
594
618
  })
595
619
  )
596
620
  ).rows.map(row =&gt; row.doc)
621
+ &nbsp;
622
+ for (let datasource of datasources) {
623
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (datasource.config &amp;&amp; datasource.config.auth) {
624
+ // strip secrets from response so they don't show in the network request
625
+ <span class="cstat-no" title="statement not covered" > delete datasource.config.auth</span>
626
+ }
627
+ }
597
628
  &nbsp;
598
629
  ctx.body = [bbInternalDb, ...datasources]
599
630
  }
@@ -651,8 +682,13 @@ exports.update = async function (ctx) {
651
682
  const db = new CouchDB(ctx.appId)
652
683
  const datasourceId = ctx.params.datasourceId
653
684
  let datasource = await db.get(datasourceId)
685
+ const auth = datasource.config.auth
654
686
  await invalidateVariables(datasource, ctx.request.body)
655
687
  datasource = { ...datasource, ...ctx.request.body }
688
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (auth &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!ctx.request.body.auth)</span> {
689
+ // don't strip auth config from DB
690
+ <span class="cstat-no" title="statement not covered" > datasource.config.auth = auth</span>
691
+ }
656
692
  &nbsp;
657
693
  const response = await db.put(datasource)
658
694
  datasource._rev = response.rev
@@ -811,7 +847,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
811
847
  <div class='footer quiet pad2 space-top1 center small'>
812
848
  Code coverage generated by
813
849
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
814
- at Mon Jan 31 2022 13:42:59 GMT+0000 (Coordinated Universal Time)
850
+ at Mon Jan 31 2022 17:55:41 GMT+0000 (Coordinated Universal Time)
815
851
  </div>
816
852
  </div>
817
853
  <script src="../../prettify.js"></script>
@@ -430,7 +430,7 @@ exports.getBudibaseVersion = <span class="fstat-no" title="function not covered"
430
430
  <div class='footer quiet pad2 space-top1 center small'>
431
431
  Code coverage generated by
432
432
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
433
- at Mon Jan 31 2022 13:42:59 GMT+0000 (Coordinated Universal Time)
433
+ at Mon Jan 31 2022 17:55:41 GMT+0000 (Coordinated Universal Time)
434
434
  </div>
435
435
  </div>
436
436
  <script src="../../prettify.js"></script>