@budibase/server 1.0.49-alpha.5 → 1.0.49-alpha.9

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 (316) hide show
  1. package/builder/assets/{index.8f94a789.js → index.ad5370ae.js} +181 -181
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +1926 -1951
  4. package/coverage/coverage-final.json +54 -54
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/application.js.html +58 -37
  8. package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
  9. package/coverage/lcov-report/api/controllers/automation.js.html +21 -51
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
  12. package/coverage/lcov-report/api/controllers/component.js.html +10 -13
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +17 -23
  14. package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
  15. package/coverage/lcov-report/api/controllers/index.html +52 -52
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +4 -4
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +6 -6
  21. package/coverage/lcov-report/api/controllers/query/index.html +10 -10
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +21 -18
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  25. package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +33 -126
  27. package/coverage/lcov-report/api/controllers/row/index.html +28 -28
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +37 -82
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +19 -25
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +14 -17
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +15 -12
  33. package/coverage/lcov-report/api/controllers/screen.js.html +10 -16
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +20 -50
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +15 -24
  37. package/coverage/lcov-report/api/controllers/table/index.html +37 -37
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +7 -7
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +36 -45
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +40 -76
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +26 -35
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +16 -16
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +15 -21
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +25 -10
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +21 -15
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/index.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  81. package/coverage/lcov-report/automations/actions.js.html +1 -1
  82. package/coverage/lcov-report/automations/automationUtils.js.html +4 -7
  83. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  84. package/coverage/lcov-report/automations/index.html +18 -18
  85. package/coverage/lcov-report/automations/index.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/createRow.js.html +2 -5
  88. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/index.html +1 -1
  95. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/updateRow.js.html +2 -2
  102. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggers.js.html +46 -40
  113. package/coverage/lcov-report/automations/utils.js.html +24 -12
  114. package/coverage/lcov-report/constants/index.html +1 -1
  115. package/coverage/lcov-report/constants/index.js.html +1 -1
  116. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  117. package/coverage/lcov-report/constants/screens.js.html +1 -1
  118. package/coverage/lcov-report/db/client.js.html +18 -18
  119. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  120. package/coverage/lcov-report/db/index.html +1 -1
  121. package/coverage/lcov-report/db/index.js.html +3 -3
  122. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -23
  123. package/coverage/lcov-report/db/linkedRows/index.html +27 -27
  124. package/coverage/lcov-report/db/linkedRows/index.js.html +24 -66
  125. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +28 -28
  126. package/coverage/lcov-report/db/newid.js.html +1 -1
  127. package/coverage/lcov-report/db/utils.js.html +5 -5
  128. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  129. package/coverage/lcov-report/events/index.html +1 -1
  130. package/coverage/lcov-report/events/index.js.html +1 -1
  131. package/coverage/lcov-report/events/utils.js.html +1 -1
  132. package/coverage/lcov-report/index.html +90 -90
  133. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  134. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  135. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  136. package/coverage/lcov-report/middleware/authorized.js.html +21 -15
  137. package/coverage/lcov-report/middleware/builder.js.html +3 -3
  138. package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
  139. package/coverage/lcov-report/middleware/index.html +28 -28
  140. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  141. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  142. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  143. package/coverage/lcov-report/middleware/usageQuota.js.html +29 -29
  144. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  145. package/coverage/lcov-report/threads/automation.js.html +30 -24
  146. package/coverage/lcov-report/threads/index.html +25 -25
  147. package/coverage/lcov-report/threads/index.js.html +1 -1
  148. package/coverage/lcov-report/threads/query.js.html +26 -47
  149. package/coverage/lcov-report/threads/utils.js.html +1 -1
  150. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  151. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  152. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  153. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  154. package/coverage/lcov-report/utilities/global.js.html +44 -35
  155. package/coverage/lcov-report/utilities/index.html +27 -27
  156. package/coverage/lcov-report/utilities/index.js.html +40 -70
  157. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  158. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  159. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  160. package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
  161. package/coverage/lcov-report/utilities/rowProcessor/index.html +11 -11
  162. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +16 -58
  163. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  164. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  165. package/coverage/lcov-report/utilities/security.js.html +1 -1
  166. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  167. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  168. package/coverage/lcov-report/utilities/usageQuota/index.js.html +5 -2
  169. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
  170. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  171. package/coverage/lcov-report/utilities/users.js.html +5 -5
  172. package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
  173. package/coverage/lcov.info +3197 -3223
  174. package/dist/api/controllers/application.js +31 -28
  175. package/dist/api/controllers/auth.js +4 -5
  176. package/dist/api/controllers/automation.js +14 -19
  177. package/dist/api/controllers/cloud.js +2 -3
  178. package/dist/api/controllers/component.js +3 -4
  179. package/dist/api/controllers/datasource.js +9 -10
  180. package/dist/api/controllers/deploy/Deployment.js +3 -6
  181. package/dist/api/controllers/deploy/index.js +12 -13
  182. package/dist/api/controllers/dev.js +5 -5
  183. package/dist/api/controllers/layout.js +3 -3
  184. package/dist/api/controllers/metadata.js +4 -4
  185. package/dist/api/controllers/permission.js +4 -4
  186. package/dist/api/controllers/query/import/index.js +4 -6
  187. package/dist/api/controllers/query/index.js +11 -10
  188. package/dist/api/controllers/role.js +5 -5
  189. package/dist/api/controllers/routing.js +5 -6
  190. package/dist/api/controllers/row/ExternalRequest.js +90 -67
  191. package/dist/api/controllers/row/external.js +14 -22
  192. package/dist/api/controllers/row/internal.js +29 -44
  193. package/dist/api/controllers/row/internalSearch.js +11 -13
  194. package/dist/api/controllers/row/staticFormula.js +11 -11
  195. package/dist/api/controllers/row/utils.js +7 -6
  196. package/dist/api/controllers/screen.js +5 -7
  197. package/dist/api/controllers/static/index.js +4 -4
  198. package/dist/api/controllers/table/bulkFormula.js +14 -15
  199. package/dist/api/controllers/table/external.js +7 -10
  200. package/dist/api/controllers/table/index.js +5 -5
  201. package/dist/api/controllers/table/internal.js +16 -19
  202. package/dist/api/controllers/table/utils.js +29 -31
  203. package/dist/api/controllers/user.js +16 -20
  204. package/dist/api/controllers/view/index.js +8 -10
  205. package/dist/api/controllers/view/utils.js +9 -4
  206. package/dist/api/controllers/webhook.js +10 -8
  207. package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
  208. package/dist/automations/automationUtils.js +2 -3
  209. package/dist/automations/steps/createRow.js +1 -1
  210. package/dist/automations/steps/updateRow.js +1 -1
  211. package/dist/automations/triggers.js +27 -25
  212. package/dist/automations/utils.js +10 -5
  213. package/dist/db/linkedRows/LinkController.js +3 -7
  214. package/dist/db/linkedRows/index.js +16 -26
  215. package/dist/db/linkedRows/linkUtils.js +6 -6
  216. package/dist/db/views/staticViews.js +9 -10
  217. package/dist/environment.js +2 -1
  218. package/dist/integrations/base/sql.js +43 -8
  219. package/dist/integrations/utils.js +3 -0
  220. package/dist/middleware/authorized.js +5 -3
  221. package/dist/middleware/builder.js +2 -2
  222. package/dist/middleware/currentapp.js +41 -37
  223. package/dist/middleware/usageQuota.js +2 -2
  224. package/dist/migrations/functions/usageQuotas/syncApps.js +6 -9
  225. package/dist/migrations/functions/usageQuotas/syncRows.js +7 -9
  226. package/dist/package.json +4 -4
  227. package/dist/tests/utilities/TestConfiguration.js +67 -44
  228. package/dist/threads/automation.js +13 -11
  229. package/dist/threads/query.js +13 -19
  230. package/dist/tsconfig.tsbuildinfo +1 -1
  231. package/dist/utilities/fileSystem/index.js +4 -3
  232. package/dist/utilities/global.js +15 -12
  233. package/dist/utilities/index.js +7 -17
  234. package/dist/utilities/routing/index.js +5 -5
  235. package/dist/utilities/rowProcessor/index.js +9 -10
  236. package/dist/utilities/usageQuota/index.js +1 -0
  237. package/dist/utilities/usageQuota/rows.js +1 -0
  238. package/dist/utilities/users.js +3 -3
  239. package/dist/utilities/workerRequests.js +4 -4
  240. package/package.json +5 -5
  241. package/scripts/integrations/postgres/init.sql +11 -6
  242. package/src/api/controllers/application.js +35 -28
  243. package/src/api/controllers/auth.js +4 -5
  244. package/src/api/controllers/automation.js +13 -23
  245. package/src/api/controllers/cloud.js +2 -3
  246. package/src/api/controllers/component.js +3 -4
  247. package/src/api/controllers/datasource.js +9 -11
  248. package/src/api/controllers/deploy/Deployment.js +3 -7
  249. package/src/api/controllers/deploy/index.js +20 -13
  250. package/src/api/controllers/dev.js +5 -5
  251. package/src/api/controllers/layout.js +3 -3
  252. package/src/api/controllers/metadata.js +4 -9
  253. package/src/api/controllers/permission.js +4 -4
  254. package/src/api/controllers/query/import/index.ts +4 -6
  255. package/src/api/controllers/query/import/tests/index.spec.js +2 -1
  256. package/src/api/controllers/query/index.js +11 -10
  257. package/src/api/controllers/role.js +5 -5
  258. package/src/api/controllers/routing.js +5 -6
  259. package/src/api/controllers/row/ExternalRequest.ts +67 -43
  260. package/src/api/controllers/row/external.js +27 -58
  261. package/src/api/controllers/row/internal.js +29 -44
  262. package/src/api/controllers/row/internalSearch.js +11 -13
  263. package/src/api/controllers/row/staticFormula.js +10 -11
  264. package/src/api/controllers/row/utils.js +7 -6
  265. package/src/api/controllers/screen.js +5 -7
  266. package/src/api/controllers/static/index.js +4 -4
  267. package/src/api/controllers/table/bulkFormula.js +13 -23
  268. package/src/api/controllers/table/external.js +7 -10
  269. package/src/api/controllers/table/index.js +5 -5
  270. package/src/api/controllers/table/internal.js +18 -21
  271. package/src/api/controllers/table/utils.js +29 -41
  272. package/src/api/controllers/user.js +17 -20
  273. package/src/api/controllers/view/index.js +8 -10
  274. package/src/api/controllers/view/utils.js +9 -4
  275. package/src/api/controllers/webhook.js +10 -8
  276. package/src/api/routes/tests/automation.spec.js +1 -0
  277. package/src/api/routes/tests/misc.spec.js +0 -1
  278. package/src/api/routes/tests/routing.spec.js +21 -12
  279. package/src/api/routes/tests/row.spec.js +7 -4
  280. package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
  281. package/src/automations/automationUtils.js +2 -3
  282. package/src/automations/steps/createRow.js +0 -1
  283. package/src/automations/steps/updateRow.js +1 -1
  284. package/src/automations/triggers.js +33 -31
  285. package/src/automations/utils.js +9 -5
  286. package/src/db/linkedRows/LinkController.js +3 -7
  287. package/src/db/linkedRows/index.js +16 -30
  288. package/src/db/linkedRows/linkUtils.js +6 -6
  289. package/src/db/tests/linkController.spec.js +0 -1
  290. package/src/db/tests/linkTests.spec.js +5 -6
  291. package/src/db/views/staticViews.js +8 -10
  292. package/src/environment.js +2 -1
  293. package/src/integrations/base/sql.ts +55 -14
  294. package/src/integrations/utils.ts +4 -1
  295. package/src/middleware/authorized.js +5 -3
  296. package/src/middleware/builder.js +2 -2
  297. package/src/middleware/currentapp.js +50 -46
  298. package/src/middleware/tests/authorized.spec.js +7 -2
  299. package/src/middleware/tests/currentapp.spec.js +6 -0
  300. package/src/middleware/usageQuota.js +2 -2
  301. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -4
  302. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  303. package/src/module.d.ts +3 -0
  304. package/src/tests/utilities/TestConfiguration.js +69 -50
  305. package/src/threads/automation.js +17 -15
  306. package/src/threads/query.js +14 -21
  307. package/src/utilities/fileSystem/index.js +4 -3
  308. package/src/utilities/global.js +15 -12
  309. package/src/utilities/index.js +7 -17
  310. package/src/utilities/routing/index.js +5 -5
  311. package/src/utilities/rowProcessor/index.js +9 -23
  312. package/src/utilities/usageQuota/index.js +1 -0
  313. package/src/utilities/usageQuota/rows.js +1 -0
  314. package/src/utilities/users.js +3 -3
  315. package/src/utilities/workerRequests.js +4 -4
  316. package/tsconfig.json +2 -1
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.21% </span>
26
+ <span class="strong">84.41% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>64/76</span>
28
+ <span class='fraction'>65/77</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">90% </span>
40
+ <span class="strong">90.9% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/10</span>
42
+ <span class='fraction'>10/11</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">84.21% </span>
47
+ <span class="strong">84.41% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>64/76</span>
49
+ <span class='fraction'>65/77</span>
50
50
  </div>
51
51
 
52
52
 
@@ -203,7 +203,9 @@
203
203
  <a name='L144'></a><a href='#L144'>144</a>
204
204
  <a name='L145'></a><a href='#L145'>145</a>
205
205
  <a name='L146'></a><a href='#L146'>146</a>
206
- <a name='L147'></a><a href='#L147'>147</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
206
+ <a name='L147'></a><a href='#L147'>147</a>
207
+ <a name='L148'></a><a href='#L148'>148</a>
208
+ <a name='L149'></a><a href='#L149'>149</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
207
209
  <span class="cline-any cline-yes">4x</span>
208
210
  <span class="cline-any cline-yes">4x</span>
209
211
  <span class="cline-any cline-yes">4x</span>
@@ -265,7 +267,6 @@
265
267
  <span class="cline-any cline-neutral">&nbsp;</span>
266
268
  <span class="cline-any cline-neutral">&nbsp;</span>
267
269
  <span class="cline-any cline-yes">7x</span>
268
- <span class="cline-any cline-yes">7x</span>
269
270
  <span class="cline-any cline-no">&nbsp;</span>
270
271
  <span class="cline-any cline-neutral">&nbsp;</span>
271
272
  <span class="cline-any cline-yes">7x</span>
@@ -337,6 +338,8 @@
337
338
  <span class="cline-any cline-neutral">&nbsp;</span>
338
339
  <span class="cline-any cline-yes">4x</span>
339
340
  <span class="cline-any cline-yes">7x</span>
341
+ <span class="cline-any cline-yes">7x</span>
342
+ <span class="cline-any cline-yes">7x</span>
340
343
  <span class="cline-any cline-neutral">&nbsp;</span>
341
344
  <span class="cline-any cline-neutral">&nbsp;</span>
342
345
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -349,6 +352,7 @@
349
352
  <span class="cline-any cline-no">&nbsp;</span>
350
353
  <span class="cline-any cline-neutral">&nbsp;</span>
351
354
  <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
356
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">require("./utils").threadSetup()
353
357
  const env = require("../environment")
354
358
  const actions = require("../automations/actions")
@@ -356,11 +360,11 @@ const automationUtils = require("../automations/automationUtils")
356
360
  const AutomationEmitter = require("../events/AutomationEmitter")
357
361
  const { processObject } = require("@budibase/string-templates")
358
362
  const { DEFAULT_TENANT_ID } = require("@budibase/backend-core/constants")
359
- const CouchDB = require("../db")
360
363
  const { DocumentTypes, isDevAppID } = require("../db/utils")
361
364
  const { doInTenant } = require("@budibase/backend-core/tenancy")
362
365
  const usage = require("../utilities/usageQuota")
363
366
  const { definitions: triggerDefs } = require("../automations/triggerInfo")
367
+ const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
364
368
  &nbsp;
365
369
  const FILTER_STEP_ID = actions.ACTION_DEFINITIONS.FILTER.stepId
366
370
  const CRON_STEP_ID = triggerDefs.CRON.stepId
@@ -410,11 +414,10 @@ class Orchestrator {
410
414
  }
411
415
  &nbsp;
412
416
  async getApp() {
413
- const appId = this._appId
414
417
  <span class="missing-if-branch" title="if path not taken" >I</span>if (this._app) {
415
418
  <span class="cstat-no" title="statement not covered" > return this._app</span>
416
419
  }
417
- const db = new CouchDB(appId)
420
+ const db = getAppDB()
418
421
  this._app = await db.get(DocumentTypes.APP_METADATA)
419
422
  return this._app
420
423
  }
@@ -482,18 +485,21 @@ class Orchestrator {
482
485
  }
483
486
  &nbsp;
484
487
  module.exports = (input, callback) =&gt; {
485
- const automationOrchestrator = new Orchestrator(
486
- input.data.automation,
487
- input.data.event
488
- )
489
- automationOrchestrator
490
- .execute()
491
- .then(response =&gt; {
492
- callback(null, response)
493
- })
494
- .catch(<span class="fstat-no" title="function not covered" >er</span>r =&gt; {
495
- <span class="cstat-no" title="statement not covered" > callback(err)</span>
496
- })
488
+ const appId = input.data.event.appId
489
+ doInAppContext(appId, () =&gt; {
490
+ const automationOrchestrator = new Orchestrator(
491
+ input.data.automation,
492
+ input.data.event
493
+ )
494
+ automationOrchestrator
495
+ .execute()
496
+ .then(response =&gt; {
497
+ callback(null, response)
498
+ })
499
+ .catch(<span class="fstat-no" title="function not covered" >er</span>r =&gt; {
500
+ <span class="cstat-no" title="statement not covered" > callback(err)</span>
501
+ })
502
+ })
497
503
  }
498
504
  &nbsp;</pre></td></tr></table></pre>
499
505
 
@@ -502,7 +508,7 @@ module.exports = (input, callback) =&gt; {
502
508
  <div class='footer quiet pad2 space-top1 center small'>
503
509
  Code coverage generated by
504
510
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
505
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
511
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
506
512
  </div>
507
513
  </div>
508
514
  <script src="../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.29% </span>
26
+ <span class="strong">84.43% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>220/261</span>
28
+ <span class='fraction'>217/257</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">63.47% </span>
33
+ <span class="strong">63.96% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>73/115</span>
35
+ <span class='fraction'>71/111</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">91.89% </span>
40
+ <span class="strong">92.3% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>34/37</span>
42
+ <span class='fraction'>36/39</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">84.76% </span>
47
+ <span class="strong">84.92% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>217/256</span>
49
+ <span class='fraction'>214/252</span>
50
50
  </div>
51
51
 
52
52
 
@@ -74,17 +74,17 @@
74
74
  </thead>
75
75
  <tbody><tr>
76
76
  <td class="file high" data-value="automation.js"><a href="automation.js.html">automation.js</a></td>
77
- <td data-value="84.21" class="pic high">
77
+ <td data-value="84.41" class="pic high">
78
78
  <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
79
79
  </td>
80
- <td data-value="84.21" class="pct high">84.21%</td>
81
- <td data-value="76" class="abs high">64/76</td>
80
+ <td data-value="84.41" class="pct high">84.41%</td>
81
+ <td data-value="77" class="abs high">65/77</td>
82
82
  <td data-value="56.52" class="pct medium">56.52%</td>
83
83
  <td data-value="23" class="abs medium">13/23</td>
84
- <td data-value="90" class="pct high">90%</td>
85
- <td data-value="10" class="abs high">9/10</td>
86
- <td data-value="84.21" class="pct high">84.21%</td>
87
- <td data-value="76" class="abs high">64/76</td>
84
+ <td data-value="90.9" class="pct high">90.9%</td>
85
+ <td data-value="11" class="abs high">10/11</td>
86
+ <td data-value="84.41" class="pct high">84.41%</td>
87
+ <td data-value="77" class="abs high">65/77</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
@@ -104,17 +104,17 @@
104
104
 
105
105
  <tr>
106
106
  <td class="file high" data-value="query.js"><a href="query.js.html">query.js</a></td>
107
- <td data-value="86.44" class="pic high">
107
+ <td data-value="86.72" class="pic high">
108
108
  <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
109
109
  </td>
110
- <td data-value="86.44" class="pct high">86.44%</td>
111
- <td data-value="118" class="abs high">102/118</td>
112
- <td data-value="68.33" class="pct medium">68.33%</td>
113
- <td data-value="60" class="abs medium">41/60</td>
114
- <td data-value="92.3" class="pct high">92.3%</td>
115
- <td data-value="13" class="abs high">12/13</td>
116
- <td data-value="86.84" class="pct high">86.84%</td>
117
- <td data-value="114" class="abs high">99/114</td>
110
+ <td data-value="86.72" class="pct high">86.72%</td>
111
+ <td data-value="113" class="abs high">98/113</td>
112
+ <td data-value="69.64" class="pct medium">69.64%</td>
113
+ <td data-value="56" class="abs medium">39/56</td>
114
+ <td data-value="92.85" class="pct high">92.85%</td>
115
+ <td data-value="14" class="abs high">13/14</td>
116
+ <td data-value="87.15" class="pct high">87.15%</td>
117
+ <td data-value="109" class="abs high">95/109</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
143
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../prettify.js"></script>
@@ -262,7 +262,7 @@ module.exports.ThreadType = ThreadType
262
262
  <div class='footer quiet pad2 space-top1 center small'>
263
263
  Code coverage generated by
264
264
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
265
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
265
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
266
266
  </div>
267
267
  </div>
268
268
  <script src="../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">86.44% </span>
26
+ <span class="strong">86.72% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>102/118</span>
28
+ <span class='fraction'>98/113</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">68.33% </span>
33
+ <span class="strong">69.64% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>41/60</span>
35
+ <span class='fraction'>39/56</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">92.3% </span>
40
+ <span class="strong">92.85% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/13</span>
42
+ <span class='fraction'>13/14</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">86.84% </span>
47
+ <span class="strong">87.15% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>99/114</span>
49
+ <span class='fraction'>95/109</span>
50
50
  </div>
51
51
 
52
52
 
@@ -284,26 +284,15 @@
284
284
  <a name='L225'></a><a href='#L225'>225</a>
285
285
  <a name='L226'></a><a href='#L226'>226</a>
286
286
  <a name='L227'></a><a href='#L227'>227</a>
287
- <a name='L228'></a><a href='#L228'>228</a>
288
- <a name='L229'></a><a href='#L229'>229</a>
289
- <a name='L230'></a><a href='#L230'>230</a>
290
- <a name='L231'></a><a href='#L231'>231</a>
291
- <a name='L232'></a><a href='#L232'>232</a>
292
- <a name='L233'></a><a href='#L233'>233</a>
293
- <a name='L234'></a><a href='#L234'>234</a>
294
- <a name='L235'></a><a href='#L235'>235</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
287
+ <a name='L228'></a><a href='#L228'>228</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
295
288
  <span class="cline-any cline-yes">2x</span>
296
289
  <span class="cline-any cline-yes">2x</span>
297
290
  <span class="cline-any cline-yes">2x</span>
298
291
  <span class="cline-any cline-yes">2x</span>
299
292
  <span class="cline-any cline-yes">2x</span>
300
293
  <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-yes">2x</span>
302
- <span class="cline-any cline-yes">2x</span>
303
294
  <span class="cline-any cline-neutral">&nbsp;</span>
304
295
  <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-yes">15x</span>
307
296
  <span class="cline-any cline-yes">15x</span>
308
297
  <span class="cline-any cline-yes">15x</span>
309
298
  <span class="cline-any cline-yes">15x</span>
@@ -413,7 +402,6 @@
413
402
  <span class="cline-any cline-neutral">&nbsp;</span>
414
403
  <span class="cline-any cline-neutral">&nbsp;</span>
415
404
  <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
405
  <span class="cline-any cline-yes">6x</span>
418
406
  <span class="cline-any cline-yes">6x</span>
419
407
  <span class="cline-any cline-yes">6x</span>
@@ -485,10 +473,6 @@
485
473
  <span class="cline-any cline-neutral">&nbsp;</span>
486
474
  <span class="cline-any cline-yes">19x</span>
487
475
  <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-yes">19x</span>
489
- <span class="cline-any cline-no">&nbsp;</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-yes">19x</span>
492
476
  <span class="cline-any cline-neutral">&nbsp;</span>
493
477
  <span class="cline-any cline-neutral">&nbsp;</span>
494
478
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -518,6 +502,7 @@
518
502
  <span class="cline-any cline-yes">2x</span>
519
503
  <span class="cline-any cline-yes">10x</span>
520
504
  <span class="cline-any cline-yes">10x</span>
505
+ <span class="cline-any cline-yes">10x</span>
521
506
  <span class="cline-any cline-neutral">&nbsp;</span>
522
507
  <span class="cline-any cline-yes">8x</span>
523
508
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -525,19 +510,16 @@
525
510
  <span class="cline-any cline-yes">2x</span>
526
511
  <span class="cline-any cline-neutral">&nbsp;</span>
527
512
  <span class="cline-any cline-neutral">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
514
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const threadUtils = require("./utils")
529
515
  threadUtils.threadSetup()
530
516
  const ScriptRunner = require("../utilities/scriptRunner")
531
517
  const { integrations } = require("../integrations")
532
518
  const { processStringSync } = require("@budibase/string-templates")
533
- const CouchDB = require("../db")
534
- &nbsp;
535
- const IS_TRIPLE_BRACE = new RegExp(/^{{3}.*}{3}$/)
536
- const IS_HANDLEBARS = new RegExp(/^{{2}.*}{2}$/)
519
+ const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
537
520
  &nbsp;
538
521
  class QueryRunner {
539
522
  constructor(input, flags = { noRecursiveQuery: false }) {
540
- this.appId = input.appId
541
523
  this.datasource = input.datasource
542
524
  this.queryVerb = input.queryVerb
543
525
  this.fields = input.fields
@@ -631,12 +613,11 @@ class QueryRunner {
631
613
  }
632
614
  &nbsp;
633
615
  async runAnotherQuery(queryId, parameters) {
634
- const db = new CouchDB(this.appId)
616
+ const db = getAppDB()
635
617
  const query = await db.get(queryId)
636
618
  const datasource = await db.get(query.datasourceId)
637
619
  return new QueryRunner(
638
620
  {
639
- appId: this.appId,
640
621
  datasource,
641
622
  queryVerb: query.queryVerb,
642
623
  fields: query.fields,
@@ -717,12 +698,8 @@ class QueryRunner {
717
698
  <span class="cstat-no" title="statement not covered" > enrichedQuery[key] = this.enrichQueryFields(fields[key], parameters)</span>
718
699
  } else if (typeof fields[key] === "string") {
719
700
  // enrich string value as normal
720
- let value = fields[key]
721
- // add triple brace to avoid escaping e.g. '=' in cookie header
722
- <span class="missing-if-branch" title="if path not taken" >I</span>if (IS_HANDLEBARS.test(value) &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!IS_TRIPLE_BRACE.test(value))</span> {
723
- <span class="cstat-no" title="statement not covered" > value = `{${value}}`</span>
724
- }
725
- enrichedQuery[key] = processStringSync(value, parameters, {
701
+ enrichedQuery[key] = processStringSync(fields[key], parameters, {
702
+ noEscaping: true,
726
703
  noHelpers: true,
727
704
  })
728
705
  } else <span class="missing-if-branch" title="else path not taken" >E</span>{
@@ -750,14 +727,16 @@ class QueryRunner {
750
727
  }
751
728
  &nbsp;
752
729
  module.exports = (input, callback) =&gt; {
753
- const Runner = new QueryRunner(input)
754
- Runner.execute()
755
- .then(response =&gt; {
756
- callback(null, response)
757
- })
758
- .catch(err =&gt; {
759
- callback(err)
760
- })
730
+ doInAppContext(input.appId, () =&gt; {
731
+ const Runner = new QueryRunner(input)
732
+ Runner.execute()
733
+ .then(response =&gt; {
734
+ callback(null, response)
735
+ })
736
+ .catch(err =&gt; {
737
+ callback(err)
738
+ })
739
+ })
761
740
  }
762
741
  &nbsp;</pre></td></tr></table></pre>
763
742
 
@@ -766,7 +745,7 @@ module.exports = (input, callback) =&gt; {
766
745
  <div class='footer quiet pad2 space-top1 center small'>
767
746
  Code coverage generated by
768
747
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
769
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
748
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
770
749
  </div>
771
750
  </div>
772
751
  <script src="../prettify.js"></script>
@@ -298,7 +298,7 @@ exports.hasExtraData = response =&gt; {
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
301
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
301
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
302
302
  </div>
303
303
  </div>
304
304
  <script src="../prettify.js"></script>
@@ -109,7 +109,7 @@ const SALT_ROUNDS = <span class="cstat-no" title="statement not covered" >env.SA
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
112
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
112
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  </div>
115
115
  <script src="../prettify.js"></script>
@@ -94,7 +94,7 @@ module.exports.budibaseTempDir = budibaseTempDir
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
97
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../prettify.js"></script>
@@ -130,7 +130,7 @@ exports.resolve = <span class="fstat-no" title="function not covered" >fu</span>
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
133
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
133
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
134
134
  </div>
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
@@ -496,7 +496,7 @@ module.exports = {
496
496
  <div class='footer quiet pad2 space-top1 center small'>
497
497
  Code coverage generated by
498
498
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
499
- at Tue Feb 01 2022 10:11:17 GMT+0000 (Coordinated Universal Time)
499
+ at Thu Feb 03 2022 20:58:15 GMT+0000 (Coordinated Universal Time)
500
500
  </div>
501
501
  </div>
502
502
  <script src="../prettify.js"></script>