@budibase/server 1.0.49-alpha.2 → 1.0.49-alpha.6

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 (320) hide show
  1. package/__mocks__/arangojs.ts +1 -1
  2. package/__mocks__/aws-sdk.ts +4 -4
  3. package/__mocks__/mongodb.ts +4 -5
  4. package/__mocks__/mssql.ts +3 -3
  5. package/__mocks__/node-fetch.ts +2 -1
  6. package/__mocks__/pg.ts +3 -5
  7. package/builder/assets/{index.82e12602.js → index.1b905242.js} +1 -1
  8. package/builder/index.html +1 -1
  9. package/coverage/clover.xml +1917 -1929
  10. package/coverage/coverage-final.json +54 -54
  11. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/application.js.html +58 -37
  14. package/coverage/lcov-report/api/controllers/auth.js.html +11 -14
  15. package/coverage/lcov-report/api/controllers/automation.js.html +21 -51
  16. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
  18. package/coverage/lcov-report/api/controllers/component.js.html +10 -13
  19. package/coverage/lcov-report/api/controllers/datasource.js.html +17 -23
  20. package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
  21. package/coverage/lcov-report/api/controllers/index.html +52 -52
  22. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/layout.js.html +4 -4
  24. package/coverage/lcov-report/api/controllers/metadata.js.html +6 -21
  25. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/permission.js.html +6 -6
  27. package/coverage/lcov-report/api/controllers/query/index.html +10 -10
  28. package/coverage/lcov-report/api/controllers/query/index.js.html +21 -18
  29. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  31. package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
  32. package/coverage/lcov-report/api/controllers/row/external.js.html +6 -12
  33. package/coverage/lcov-report/api/controllers/row/index.html +22 -22
  34. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/row/internal.js.html +37 -82
  36. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +19 -25
  37. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +14 -17
  38. package/coverage/lcov-report/api/controllers/row/utils.js.html +15 -12
  39. package/coverage/lcov-report/api/controllers/screen.js.html +10 -16
  40. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +20 -50
  42. package/coverage/lcov-report/api/controllers/table/external.js.html +15 -24
  43. package/coverage/lcov-report/api/controllers/table/index.html +37 -37
  44. package/coverage/lcov-report/api/controllers/table/index.js.html +7 -7
  45. package/coverage/lcov-report/api/controllers/table/internal.js.html +36 -45
  46. package/coverage/lcov-report/api/controllers/table/utils.js.html +40 -76
  47. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/user.js.html +26 -35
  49. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  50. package/coverage/lcov-report/api/controllers/view/index.html +16 -16
  51. package/coverage/lcov-report/api/controllers/view/index.js.html +15 -21
  52. package/coverage/lcov-report/api/controllers/view/utils.js.html +25 -10
  53. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  54. package/coverage/lcov-report/api/controllers/webhook.js.html +21 -15
  55. package/coverage/lcov-report/api/index.html +1 -1
  56. package/coverage/lcov-report/api/index.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/index.html +1 -1
  69. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  83. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  84. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  85. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  86. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  87. package/coverage/lcov-report/automations/actions.js.html +1 -1
  88. package/coverage/lcov-report/automations/automationUtils.js.html +4 -7
  89. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  90. package/coverage/lcov-report/automations/index.html +18 -18
  91. package/coverage/lcov-report/automations/index.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/createRow.js.html +2 -5
  94. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/index.html +1 -1
  101. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  106. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  107. package/coverage/lcov-report/automations/steps/updateRow.js.html +2 -2
  108. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  109. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  115. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  116. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  117. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  118. package/coverage/lcov-report/automations/triggers.js.html +46 -40
  119. package/coverage/lcov-report/automations/utils.js.html +24 -12
  120. package/coverage/lcov-report/constants/index.html +1 -1
  121. package/coverage/lcov-report/constants/index.js.html +1 -1
  122. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  123. package/coverage/lcov-report/constants/screens.js.html +1 -1
  124. package/coverage/lcov-report/db/client.js.html +18 -18
  125. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  126. package/coverage/lcov-report/db/index.html +1 -1
  127. package/coverage/lcov-report/db/index.js.html +3 -3
  128. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -23
  129. package/coverage/lcov-report/db/linkedRows/index.html +27 -27
  130. package/coverage/lcov-report/db/linkedRows/index.js.html +24 -66
  131. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +28 -28
  132. package/coverage/lcov-report/db/newid.js.html +1 -1
  133. package/coverage/lcov-report/db/utils.js.html +5 -5
  134. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  135. package/coverage/lcov-report/events/index.html +1 -1
  136. package/coverage/lcov-report/events/index.js.html +1 -1
  137. package/coverage/lcov-report/events/utils.js.html +1 -1
  138. package/coverage/lcov-report/index.html +88 -88
  139. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  140. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  141. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  142. package/coverage/lcov-report/middleware/authorized.js.html +21 -15
  143. package/coverage/lcov-report/middleware/builder.js.html +3 -3
  144. package/coverage/lcov-report/middleware/currentapp.js.html +72 -60
  145. package/coverage/lcov-report/middleware/index.html +28 -28
  146. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  147. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  148. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  149. package/coverage/lcov-report/middleware/usageQuota.js.html +29 -29
  150. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  151. package/coverage/lcov-report/threads/automation.js.html +30 -24
  152. package/coverage/lcov-report/threads/index.html +16 -16
  153. package/coverage/lcov-report/threads/index.js.html +1 -1
  154. package/coverage/lcov-report/threads/query.js.html +17 -17
  155. package/coverage/lcov-report/threads/utils.js.html +1 -1
  156. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  157. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  158. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  159. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  160. package/coverage/lcov-report/utilities/global.js.html +44 -35
  161. package/coverage/lcov-report/utilities/index.html +27 -27
  162. package/coverage/lcov-report/utilities/index.js.html +40 -70
  163. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  164. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  165. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  166. package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
  167. package/coverage/lcov-report/utilities/rowProcessor/index.html +11 -11
  168. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +16 -58
  169. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  170. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  171. package/coverage/lcov-report/utilities/security.js.html +1 -1
  172. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  174. package/coverage/lcov-report/utilities/usageQuota/index.js.html +5 -2
  175. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +5 -2
  176. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  177. package/coverage/lcov-report/utilities/users.js.html +5 -5
  178. package/coverage/lcov-report/utilities/workerRequests.js.html +5 -5
  179. package/coverage/lcov.info +3189 -3198
  180. package/dist/api/controllers/application.js +31 -28
  181. package/dist/api/controllers/auth.js +4 -5
  182. package/dist/api/controllers/automation.js +14 -19
  183. package/dist/api/controllers/cloud.js +2 -3
  184. package/dist/api/controllers/component.js +3 -4
  185. package/dist/api/controllers/datasource.js +9 -10
  186. package/dist/api/controllers/deploy/Deployment.js +3 -6
  187. package/dist/api/controllers/deploy/index.js +12 -13
  188. package/dist/api/controllers/dev.js +5 -5
  189. package/dist/api/controllers/layout.js +3 -3
  190. package/dist/api/controllers/metadata.js +4 -4
  191. package/dist/api/controllers/permission.js +4 -4
  192. package/dist/api/controllers/query/import/index.js +4 -6
  193. package/dist/api/controllers/query/index.js +11 -10
  194. package/dist/api/controllers/role.js +5 -5
  195. package/dist/api/controllers/routing.js +5 -6
  196. package/dist/api/controllers/row/ExternalRequest.js +76 -63
  197. package/dist/api/controllers/row/external.js +4 -4
  198. package/dist/api/controllers/row/internal.js +29 -44
  199. package/dist/api/controllers/row/internalSearch.js +11 -13
  200. package/dist/api/controllers/row/staticFormula.js +11 -11
  201. package/dist/api/controllers/row/utils.js +7 -6
  202. package/dist/api/controllers/screen.js +5 -7
  203. package/dist/api/controllers/static/index.js +4 -4
  204. package/dist/api/controllers/table/bulkFormula.js +14 -15
  205. package/dist/api/controllers/table/external.js +7 -10
  206. package/dist/api/controllers/table/index.js +5 -5
  207. package/dist/api/controllers/table/internal.js +16 -19
  208. package/dist/api/controllers/table/utils.js +29 -31
  209. package/dist/api/controllers/user.js +16 -20
  210. package/dist/api/controllers/view/index.js +8 -10
  211. package/dist/api/controllers/view/utils.js +9 -4
  212. package/dist/api/controllers/webhook.js +10 -8
  213. package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
  214. package/dist/automations/automationUtils.js +2 -3
  215. package/dist/automations/steps/createRow.js +1 -1
  216. package/dist/automations/steps/updateRow.js +1 -1
  217. package/dist/automations/triggers.js +27 -25
  218. package/dist/automations/utils.js +10 -5
  219. package/dist/db/linkedRows/LinkController.js +3 -7
  220. package/dist/db/linkedRows/index.js +16 -26
  221. package/dist/db/linkedRows/linkUtils.js +6 -6
  222. package/dist/db/views/staticViews.js +9 -10
  223. package/dist/environment.js +2 -1
  224. package/dist/integrations/utils.js +3 -0
  225. package/dist/middleware/authorized.js +5 -3
  226. package/dist/middleware/builder.js +2 -2
  227. package/dist/middleware/currentapp.js +41 -37
  228. package/dist/middleware/usageQuota.js +2 -2
  229. package/dist/migrations/functions/appUrls.js +11 -2
  230. package/dist/migrations/functions/usageQuotas/syncApps.js +7 -9
  231. package/dist/migrations/functions/usageQuotas/syncRows.js +7 -9
  232. package/dist/package.json +4 -4
  233. package/dist/tests/utilities/TestConfiguration.js +67 -44
  234. package/dist/threads/automation.js +13 -11
  235. package/dist/threads/query.js +11 -11
  236. package/dist/tsconfig.tsbuildinfo +1 -1
  237. package/dist/utilities/fileSystem/index.js +4 -3
  238. package/dist/utilities/global.js +15 -12
  239. package/dist/utilities/index.js +7 -17
  240. package/dist/utilities/routing/index.js +5 -5
  241. package/dist/utilities/rowProcessor/index.js +9 -10
  242. package/dist/utilities/usageQuota/index.js +1 -0
  243. package/dist/utilities/usageQuota/rows.js +1 -0
  244. package/dist/utilities/users.js +3 -3
  245. package/dist/utilities/workerRequests.js +4 -4
  246. package/package.json +5 -5
  247. package/scripts/likeCypress.ts +1 -1
  248. package/src/api/controllers/application.js +35 -28
  249. package/src/api/controllers/auth.js +4 -5
  250. package/src/api/controllers/automation.js +13 -23
  251. package/src/api/controllers/cloud.js +2 -3
  252. package/src/api/controllers/component.js +3 -4
  253. package/src/api/controllers/datasource.js +9 -11
  254. package/src/api/controllers/deploy/Deployment.js +3 -7
  255. package/src/api/controllers/deploy/index.js +20 -13
  256. package/src/api/controllers/dev.js +5 -5
  257. package/src/api/controllers/layout.js +3 -3
  258. package/src/api/controllers/metadata.js +4 -9
  259. package/src/api/controllers/permission.js +4 -4
  260. package/src/api/controllers/query/import/index.ts +4 -6
  261. package/src/api/controllers/query/import/tests/index.spec.js +2 -1
  262. package/src/api/controllers/query/index.js +11 -10
  263. package/src/api/controllers/role.js +5 -5
  264. package/src/api/controllers/routing.js +5 -6
  265. package/src/api/controllers/row/ExternalRequest.ts +53 -42
  266. package/src/api/controllers/row/external.js +4 -6
  267. package/src/api/controllers/row/internal.js +29 -44
  268. package/src/api/controllers/row/internalSearch.js +11 -13
  269. package/src/api/controllers/row/staticFormula.js +10 -11
  270. package/src/api/controllers/row/utils.js +7 -6
  271. package/src/api/controllers/screen.js +5 -7
  272. package/src/api/controllers/static/index.js +4 -4
  273. package/src/api/controllers/table/bulkFormula.js +13 -23
  274. package/src/api/controllers/table/external.js +7 -10
  275. package/src/api/controllers/table/index.js +5 -5
  276. package/src/api/controllers/table/internal.js +18 -21
  277. package/src/api/controllers/table/utils.js +29 -41
  278. package/src/api/controllers/user.js +17 -20
  279. package/src/api/controllers/view/index.js +8 -10
  280. package/src/api/controllers/view/utils.js +9 -4
  281. package/src/api/controllers/webhook.js +10 -8
  282. package/src/api/routes/tests/automation.spec.js +1 -0
  283. package/src/api/routes/tests/misc.spec.js +0 -1
  284. package/src/api/routes/tests/routing.spec.js +21 -12
  285. package/src/api/routes/tests/row.spec.js +7 -4
  286. package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
  287. package/src/automations/automationUtils.js +2 -3
  288. package/src/automations/steps/createRow.js +0 -1
  289. package/src/automations/steps/updateRow.js +1 -1
  290. package/src/automations/triggers.js +33 -31
  291. package/src/automations/utils.js +9 -5
  292. package/src/db/linkedRows/LinkController.js +3 -7
  293. package/src/db/linkedRows/index.js +16 -30
  294. package/src/db/linkedRows/linkUtils.js +6 -6
  295. package/src/db/tests/linkController.spec.js +0 -1
  296. package/src/db/tests/linkTests.spec.js +5 -6
  297. package/src/db/views/staticViews.js +8 -10
  298. package/src/environment.js +2 -1
  299. package/src/integrations/utils.ts +4 -1
  300. package/src/middleware/authorized.js +5 -3
  301. package/src/middleware/builder.js +2 -2
  302. package/src/middleware/currentapp.js +50 -46
  303. package/src/middleware/tests/authorized.spec.js +7 -2
  304. package/src/middleware/tests/currentapp.spec.js +6 -0
  305. package/src/middleware/usageQuota.js +2 -2
  306. package/src/migrations/functions/appUrls.ts +11 -2
  307. package/src/migrations/functions/usageQuotas/syncApps.ts +5 -4
  308. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  309. package/src/tests/utilities/TestConfiguration.js +69 -50
  310. package/src/threads/automation.js +17 -15
  311. package/src/threads/query.js +12 -12
  312. package/src/utilities/fileSystem/index.js +4 -3
  313. package/src/utilities/global.js +15 -12
  314. package/src/utilities/index.js +7 -17
  315. package/src/utilities/routing/index.js +5 -5
  316. package/src/utilities/rowProcessor/index.js +9 -23
  317. package/src/utilities/usageQuota/index.js +1 -0
  318. package/src/utilities/usageQuota/rows.js +1 -0
  319. package/src/utilities/users.js +3 -3
  320. package/src/utilities/workerRequests.js +4 -4
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">95.55% </span>
26
+ <span class="strong">95.65% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>43/45</span>
28
+ <span class='fraction'>44/46</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/7</span>
42
+ <span class='fraction'>8/8</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">95.55% </span>
47
+ <span class="strong">95.65% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>43/45</span>
49
+ <span class='fraction'>44/46</span>
50
50
  </div>
51
51
 
52
52
 
@@ -168,8 +168,9 @@
168
168
  <a name='L109'></a><a href='#L109'>109</a>
169
169
  <a name='L110'></a><a href='#L110'>110</a>
170
170
  <a name='L111'></a><a href='#L111'>111</a>
171
- <a name='L112'></a><a href='#L112'>112</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
172
- <span class="cline-any cline-yes">38x</span>
171
+ <a name='L112'></a><a href='#L112'>112</a>
172
+ <a name='L113'></a><a href='#L113'>113</a>
173
+ <a name='L114'></a><a href='#L114'>114</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
173
174
  <span class="cline-any cline-yes">38x</span>
174
175
  <span class="cline-any cline-yes">38x</span>
175
176
  <span class="cline-any cline-yes">38x</span>
@@ -179,6 +180,7 @@
179
180
  <span class="cline-any cline-yes">38x</span>
180
181
  <span class="cline-any cline-yes">38x</span>
181
182
  <span class="cline-any cline-yes">38x</span>
183
+ <span class="cline-any cline-yes">38x</span>
182
184
  <span class="cline-any cline-neutral">&nbsp;</span>
183
185
  <span class="cline-any cline-yes">38x</span>
184
186
  <span class="cline-any cline-yes">38x</span>
@@ -193,6 +195,7 @@
193
195
  <span class="cline-any cline-neutral">&nbsp;</span>
194
196
  <span class="cline-any cline-yes">16x</span>
195
197
  <span class="cline-any cline-yes">16x</span>
198
+ <span class="cline-any cline-yes">16x</span>
196
199
  <span class="cline-any cline-neutral">&nbsp;</span>
197
200
  <span class="cline-any cline-neutral">&nbsp;</span>
198
201
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -226,6 +229,7 @@
226
229
  <span class="cline-any cline-neutral">&nbsp;</span>
227
230
  <span class="cline-any cline-neutral">&nbsp;</span>
228
231
  <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
233
  <span class="cline-any cline-yes">38x</span>
230
234
  <span class="cline-any cline-neutral">&nbsp;</span>
231
235
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -279,8 +283,7 @@
279
283
  <span class="cline-any cline-neutral">&nbsp;</span>
280
284
  <span class="cline-any cline-neutral">&nbsp;</span>
281
285
  <span class="cline-any cline-yes">38x</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../db")
283
- const emitter = require("../events/index")
286
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const emitter = require("../events/index")
284
287
  const { getAutomationParams } = require("../db/utils")
285
288
  const { coerce } = require("../utilities/rowProcessor")
286
289
  const { definitions } = require("./triggerInfo")
@@ -290,6 +293,7 @@ const { queue } = require("./bullboard")
290
293
  const { checkTestFlag } = require("../utilities/redis")
291
294
  const utils = require("./utils")
292
295
  const env = require("../environment")
296
+ const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
293
297
  &nbsp;
294
298
  const TRIGGER_DEFINITIONS = definitions
295
299
  const JOB_OPTS = {
@@ -302,39 +306,41 @@ async function queueRelevantRowAutomations(event, eventType) {
302
306
  <span class="cstat-no" title="statement not covered" > throw `No appId specified for ${eventType} - check event emitters.`</span>
303
307
  }
304
308
  &nbsp;
305
- const db = new CouchDB(event.appId)
306
- let automations = await db.allDocs(
307
- getAutomationParams(null, { include_docs: true })
308
- )
309
+ doInAppContext(event.appId, async () =&gt; {
310
+ const db = getAppDB()
311
+ let automations = await db.allDocs(
312
+ getAutomationParams(null, { include_docs: true })
313
+ )
309
314
  &nbsp;
310
- // filter down to the correct event type
311
- automations = automations.rows
312
- .map(automation =&gt; automation.doc)
313
- .filter(automation =&gt; {
314
- const trigger = automation.definition.trigger
315
- return trigger &amp;&amp; trigger.event === eventType
316
- })
315
+ // filter down to the correct event type
316
+ automations = automations.rows
317
+ .map(automation =&gt; automation.doc)
318
+ .filter(automation =&gt; {
319
+ const trigger = automation.definition.trigger
320
+ return trigger &amp;&amp; trigger.event === eventType
321
+ })
317
322
  &nbsp;
318
- for (let automation of automations) {
319
- let automationDef = automation.definition
320
- let automationTrigger = automationDef ? automationDef.trigger : <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
321
- // don't queue events which are for dev apps, only way to test automations is
322
- // running tests on them, in production the test flag will never
323
- // be checked due to lazy evaluation (first always false)
324
- <span class="missing-if-branch" title="if path not taken" >I</span>if (
325
- !env.ALLOW_DEV_AUTOMATIONS &amp;&amp;
326
- isDevAppID(event.appId) &amp;&amp;
327
- !(await checkTestFlag(automation._id))
328
- ) {
329
- <span class="cstat-no" title="statement not covered" > continue</span>
330
- }
331
- if (
332
- automationTrigger.inputs &amp;&amp;
333
- automationTrigger.inputs.tableId === event.row.tableId
334
- ) {
335
- await queue.add({ automation, event }, JOB_OPTS)
323
+ for (let automation of automations) {
324
+ let automationDef = automation.definition
325
+ let automationTrigger = automationDef ? automationDef.trigger : <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
326
+ // don't queue events which are for dev apps, only way to test automations is
327
+ // running tests on them, in production the test flag will never
328
+ // be checked due to lazy evaluation (first always false)
329
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (
330
+ !env.ALLOW_DEV_AUTOMATIONS &amp;&amp;
331
+ isDevAppID(event.appId) &amp;&amp;
332
+ !(await checkTestFlag(automation._id))
333
+ ) {
334
+ <span class="cstat-no" title="statement not covered" > continue</span>
335
+ }
336
+ if (
337
+ automationTrigger.inputs &amp;&amp;
338
+ automationTrigger.inputs.tableId === event.row.tableId
339
+ ) {
340
+ await queue.add({ automation, event }, JOB_OPTS)
341
+ }
336
342
  }
337
- }
343
+ })
338
344
  }
339
345
  &nbsp;
340
346
  emitter.on("row:save", async function (event) {
@@ -397,7 +403,7 @@ exports.TRIGGER_DEFINITIONS = TRIGGER_DEFINITIONS
397
403
  <div class='footer quiet pad2 space-top1 center small'>
398
404
  Code coverage generated by
399
405
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
400
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
406
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
401
407
  </div>
402
408
  </div>
403
409
  <script src="../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.08% </span>
26
+ <span class="strong">81.57% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>60/74</span>
28
+ <span class='fraction'>62/76</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">81.08% </span>
47
+ <span class="strong">81.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>60/74</span>
49
+ <span class='fraction'>62/76</span>
50
50
  </div>
51
51
 
52
52
 
@@ -242,7 +242,12 @@
242
242
  <a name='L183'></a><a href='#L183'>183</a>
243
243
  <a name='L184'></a><a href='#L184'>184</a>
244
244
  <a name='L185'></a><a href='#L185'>185</a>
245
- <a name='L186'></a><a href='#L186'>186</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
245
+ <a name='L186'></a><a href='#L186'>186</a>
246
+ <a name='L187'></a><a href='#L187'>187</a>
247
+ <a name='L188'></a><a href='#L188'>188</a>
248
+ <a name='L189'></a><a href='#L189'>189</a>
249
+ <a name='L190'></a><a href='#L190'>190</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
250
+ <span class="cline-any cline-yes">38x</span>
246
251
  <span class="cline-any cline-yes">38x</span>
247
252
  <span class="cline-any cline-yes">38x</span>
248
253
  <span class="cline-any cline-yes">38x</span>
@@ -274,7 +279,6 @@
274
279
  <span class="cline-any cline-neutral">&nbsp;</span>
275
280
  <span class="cline-any cline-neutral">&nbsp;</span>
276
281
  <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
282
  <span class="cline-any cline-yes">2x</span>
279
283
  <span class="cline-any cline-no">&nbsp;</span>
280
284
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -337,6 +341,9 @@
337
341
  <span class="cline-any cline-neutral">&nbsp;</span>
338
342
  <span class="cline-any cline-neutral">&nbsp;</span>
339
343
  <span class="cline-any cline-no">&nbsp;</span>
344
+ <span class="cline-any cline-neutral">&nbsp;</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
340
347
  <span class="cline-any cline-no">&nbsp;</span>
341
348
  <span class="cline-any cline-no">&nbsp;</span>
342
349
  <span class="cline-any cline-no">&nbsp;</span>
@@ -356,6 +363,7 @@
356
363
  <span class="cline-any cline-yes">38x</span>
357
364
  <span class="cline-any cline-yes">23x</span>
358
365
  <span class="cline-any cline-yes">23x</span>
366
+ <span class="cline-any cline-yes">23x</span>
359
367
  <span class="cline-any cline-neutral">&nbsp;</span>
360
368
  <span class="cline-any cline-yes">23x</span>
361
369
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -435,8 +443,9 @@ const { queue } = require("./bullboard")
435
443
  const newid = require("../db/newid")
436
444
  const { updateEntityMetadata } = require("../utilities")
437
445
  const { MetadataTypes } = require("../constants")
438
- const { getDeployedAppID } = require("@budibase/backend-core/db")
446
+ const { getProdAppID } = require("@budibase/backend-core/db")
439
447
  const { cloneDeep } = require("lodash/fp")
448
+ const { getAppDB, getAppId } = require("@budibase/backend-core/context")
440
449
  &nbsp;
441
450
  const WH_STEP_ID = definitions.WEBHOOK.stepId
442
451
  const CRON_STEP_ID = definitions.CRON.stepId
@@ -456,7 +465,6 @@ exports.processEvent = async job =&gt; {
456
465
  &nbsp;
457
466
  exports.updateTestHistory = async (appId, automation, history) =&gt; {
458
467
  return updateEntityMetadata(
459
- appId,
460
468
  MetadataTypes.AUTOMATION_TEST_HISTORY,
461
469
  automation._id,
462
470
  metadata =&gt; {
@@ -522,6 +530,9 @@ exports.enableCronTrigger = async (appId, automation) =&gt; {
522
530
  )
523
531
  // Assign cron job ID from bull so we can remove it later if the cron trigger is removed
524
532
  <span class="cstat-no" title="statement not covered" > trigger.cronJobId = job.id</span>
533
+ // can't use getAppDB here as this is likely to be called from dev app,
534
+ // but this call could be for dev app or prod app, need to just use what
535
+ // was passed in
525
536
  const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
526
537
  const response = <span class="cstat-no" title="statement not covered" >await db.put(automation)</span>
527
538
  <span class="cstat-no" title="statement not covered" > automation._id = response.id</span>
@@ -538,7 +549,8 @@ exports.enableCronTrigger = async (appId, automation) =&gt; {
538
549
  * @returns {Promise&lt;object|undefined&gt;} After this is complete the new automation object may have been updated and should be
539
550
  * written to DB (this does not write to DB as it would be wasteful to repeat).
540
551
  */
541
- exports.checkForWebhooks = async ({ appId, oldAuto, newAuto }) =&gt; {
552
+ exports.checkForWebhooks = async ({ oldAuto, newAuto }) =&gt; {
553
+ const appId = getAppId()
542
554
  const oldTrigger = oldAuto ? oldAuto.definition.trigger : null
543
555
  const newTrigger = newAuto ? newAuto.definition.trigger : null
544
556
  const triggerChanged =
@@ -557,7 +569,7 @@ exports.checkForWebhooks = async ({ appId, oldAuto, newAuto }) =&gt; {
557
569
  oldTrigger.webhookId
558
570
  ) {
559
571
  try {
560
- let db = new CouchDB(appId)
572
+ let db = getAppDB()
561
573
  // need to get the webhook to get the rev
562
574
  const webhook = await db.get(oldTrigger.webhookId)
563
575
  const ctx = {
@@ -595,7 +607,7 @@ exports.checkForWebhooks = async ({ appId, oldAuto, newAuto }) =&gt; {
595
607
  // the app ID has to be development for this endpoint
596
608
  // it can only be used when building the app
597
609
  // but the trigger endpoint will always be used in production
598
- const prodAppId = getDeployedAppID(appId)
610
+ const prodAppId = getProdAppID(appId)
599
611
  newTrigger.inputs = {
600
612
  schemaUrl: `api/webhooks/schema/${appId}/${id}`,
601
613
  triggerUrl: `api/webhooks/trigger/${prodAppId}/${id}`,
@@ -619,7 +631,7 @@ exports.cleanupAutomations = <span class="fstat-no" title="function not covered"
619
631
  <div class='footer quiet pad2 space-top1 center small'>
620
632
  Code coverage generated by
621
633
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
622
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
634
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
623
635
  </div>
624
636
  </div>
625
637
  <script src="../prettify.js"></script>
@@ -125,7 +125,7 @@
125
125
  <div class='footer quiet pad2 space-top1 center small'>
126
126
  Code coverage generated by
127
127
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
128
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
129
129
  </div>
130
130
  </div>
131
131
  <script src="../prettify.js"></script>
@@ -634,7 +634,7 @@ exports.ObjectStoreBuckets = ObjectStoreBuckets
634
634
  <div class='footer quiet pad2 space-top1 center small'>
635
635
  Code coverage generated by
636
636
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
637
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
637
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
638
638
  </div>
639
639
  </div>
640
640
  <script src="../prettify.js"></script>
@@ -523,7 +523,7 @@ module.exports = {
523
523
  <div class='footer quiet pad2 space-top1 center small'>
524
524
  Code coverage generated by
525
525
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
526
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
526
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
527
527
  </div>
528
528
  </div>
529
529
  <script src="../prettify.js"></script>
@@ -202,7 +202,7 @@ exports.createHomeScreen = () =&gt; ({
202
202
  <div class='footer quiet pad2 space-top1 center small'>
203
203
  Code coverage generated by
204
204
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
205
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
205
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../prettify.js"></script>
@@ -88,37 +88,37 @@
88
88
  <a name='L29'></a><a href='#L29'>29</a>
89
89
  <a name='L30'></a><a href='#L30'>30</a>
90
90
  <a name='L31'></a><a href='#L31'>31</a>
91
- <a name='L32'></a><a href='#L32'>32</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">49x</span>
92
- <span class="cline-any cline-yes">49x</span>
93
- <span class="cline-any cline-yes">49x</span>
94
- <span class="cline-any cline-yes">49x</span>
95
- <span class="cline-any cline-yes">49x</span>
96
- <span class="cline-any cline-yes">49x</span>
91
+ <a name='L32'></a><a href='#L32'>32</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">42x</span>
92
+ <span class="cline-any cline-yes">42x</span>
93
+ <span class="cline-any cline-yes">42x</span>
94
+ <span class="cline-any cline-yes">42x</span>
95
+ <span class="cline-any cline-yes">42x</span>
96
+ <span class="cline-any cline-yes">42x</span>
97
97
  <span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-yes">49x</span>
98
+ <span class="cline-any cline-yes">42x</span>
99
99
  <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-yes">49x</span>
101
- <span class="cline-any cline-yes">49x</span>
102
- <span class="cline-any cline-yes">49x</span>
100
+ <span class="cline-any cline-yes">42x</span>
101
+ <span class="cline-any cline-yes">42x</span>
102
+ <span class="cline-any cline-yes">42x</span>
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-yes">49x</span>
104
+ <span class="cline-any cline-yes">42x</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
106
  <span class="cline-any cline-neutral">&nbsp;</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-yes">49x</span>
109
- <span class="cline-any cline-yes">49x</span>
110
- <span class="cline-any cline-yes">49x</span>
108
+ <span class="cline-any cline-yes">42x</span>
109
+ <span class="cline-any cline-yes">42x</span>
110
+ <span class="cline-any cline-yes">42x</span>
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
113
  <span class="cline-any cline-neutral">&nbsp;</span>
114
114
  <span class="cline-any cline-neutral">&nbsp;</span>
115
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">49x</span>
116
+ <span class="cline-any cline-yes">42x</span>
117
117
  <span class="cline-any cline-neutral">&nbsp;</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-yes">49x</span>
119
+ <span class="cline-any cline-yes">42x</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-yes">49x</span>
121
+ <span class="cline-any cline-yes">42x</span>
122
122
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const PouchDB = require("pouchdb")
123
123
  const { getCouchUrl } = require("@budibase/backend-core/db")
124
124
  const replicationStream = require("pouchdb-replication-stream")
@@ -157,7 +157,7 @@ module.exports = Pouch
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
160
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
160
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
161
161
  </div>
162
162
  </div>
163
163
  <script src="../prettify.js"></script>
@@ -208,7 +208,7 @@ exports.runView = <span class="fstat-no" title="function not covered" >as</span>
208
208
  <div class='footer quiet pad2 space-top1 center small'>
209
209
  Code coverage generated by
210
210
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
211
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
211
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
212
212
  </div>
213
213
  </div>
214
214
  <script src="../prettify.js"></script>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
158
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../prettify.js"></script>
@@ -60,9 +60,9 @@
60
60
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
61
  <a name='L2'></a><a href='#L2'>2</a>
62
62
  <a name='L3'></a><a href='#L3'>3</a>
63
- <a name='L4'></a><a href='#L4'>4</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">49x</span>
63
+ <a name='L4'></a><a href='#L4'>4</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">42x</span>
64
64
  <span class="cline-any cline-neutral">&nbsp;</span>
65
- <span class="cline-any cline-yes">49x</span>
65
+ <span class="cline-any cline-yes">42x</span>
66
66
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const client = require("./client")
67
67
  &nbsp;
68
68
  module.exports = client
@@ -73,7 +73,7 @@ module.exports = client
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
76
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
76
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
77
77
  </div>
78
78
  </div>
79
79
  <script src="../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">96.05% </span>
26
+ <span class="strong">96.02% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>146/152</span>
28
+ <span class='fraction'>145/151</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">96.68% </span>
47
+ <span class="strong">96.66% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>146/151</span>
49
+ <span class='fraction'>145/150</span>
50
50
  </div>
51
51
 
52
52
 
@@ -521,12 +521,7 @@
521
521
  <a name='L462'></a><a href='#L462'>462</a>
522
522
  <a name='L463'></a><a href='#L463'>463</a>
523
523
  <a name='L464'></a><a href='#L464'>464</a>
524
- <a name='L465'></a><a href='#L465'>465</a>
525
- <a name='L466'></a><a href='#L466'>466</a>
526
- <a name='L467'></a><a href='#L467'>467</a>
527
- <a name='L468'></a><a href='#L468'>468</a>
528
- <a name='L469'></a><a href='#L469'>469</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
529
- <span class="cline-any cline-yes">39x</span>
524
+ <a name='L465'></a><a href='#L465'>465</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
530
525
  <span class="cline-any cline-neutral">&nbsp;</span>
531
526
  <span class="cline-any cline-neutral">&nbsp;</span>
532
527
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -534,6 +529,7 @@
534
529
  <span class="cline-any cline-yes">39x</span>
535
530
  <span class="cline-any cline-yes">39x</span>
536
531
  <span class="cline-any cline-yes">39x</span>
532
+ <span class="cline-any cline-yes">39x</span>
537
533
  <span class="cline-any cline-neutral">&nbsp;</span>
538
534
  <span class="cline-any cline-neutral">&nbsp;</span>
539
535
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -585,7 +581,6 @@
585
581
  <span class="cline-any cline-yes">192x</span>
586
582
  <span class="cline-any cline-yes">192x</span>
587
583
  <span class="cline-any cline-yes">192x</span>
588
- <span class="cline-any cline-yes">192x</span>
589
584
  <span class="cline-any cline-neutral">&nbsp;</span>
590
585
  <span class="cline-any cline-neutral">&nbsp;</span>
591
586
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -636,7 +631,6 @@
636
631
  <span class="cline-any cline-neutral">&nbsp;</span>
637
632
  <span class="cline-any cline-neutral">&nbsp;</span>
638
633
  <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
634
  <span class="cline-any cline-yes">9x</span>
641
635
  <span class="cline-any cline-neutral">&nbsp;</span>
642
636
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -647,7 +641,6 @@
647
641
  <span class="cline-any cline-neutral">&nbsp;</span>
648
642
  <span class="cline-any cline-neutral">&nbsp;</span>
649
643
  <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
644
  <span class="cline-any cline-yes">22x</span>
652
645
  <span class="cline-any cline-yes">22x</span>
653
646
  <span class="cline-any cline-yes">82x</span>
@@ -763,7 +756,6 @@
763
756
  <span class="cline-any cline-neutral">&nbsp;</span>
764
757
  <span class="cline-any cline-neutral">&nbsp;</span>
765
758
  <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-neutral">&nbsp;</span>
767
759
  <span class="cline-any cline-yes">1x</span>
768
760
  <span class="cline-any cline-neutral">&nbsp;</span>
769
761
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -993,8 +985,7 @@
993
985
  <span class="cline-any cline-neutral">&nbsp;</span>
994
986
  <span class="cline-any cline-neutral">&nbsp;</span>
995
987
  <span class="cline-any cline-yes">39x</span>
996
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../index")
997
- const { IncludeDocs, getLinkDocuments } = require("./linkUtils")
988
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { IncludeDocs, getLinkDocuments } = require("./linkUtils")
998
989
  const {
999
990
  generateLinkID,
1000
991
  InternalTables,
@@ -1002,6 +993,7 @@ const {
1002
993
  } = require("../utils")
1003
994
  const Sentry = require("@sentry/node")
1004
995
  const { FieldTypes, RelationshipTypes } = require("../../constants")
996
+ const { getAppDB } = require("@budibase/backend-core/context")
1005
997
  &nbsp;
1006
998
  /**
1007
999
  * Creates a new link document structure which can be put to the database. It is important to
@@ -1047,9 +1039,8 @@ function LinkDocument(
1047
1039
  }
1048
1040
  &nbsp;
1049
1041
  class LinkController {
1050
- constructor({ appId, tableId, row, table, oldTable }) {
1051
- this._appId = appId
1052
- this._db = new CouchDB(appId)
1042
+ constructor({ tableId, row, table, oldTable }) {
1043
+ this._db = getAppDB()
1053
1044
  this._tableId = tableId
1054
1045
  this._row = row
1055
1046
  this._table = table
@@ -1094,7 +1085,6 @@ class LinkController {
1094
1085
  */
1095
1086
  getRowLinkDocs(rowId) {
1096
1087
  return getLinkDocuments({
1097
- appId: this._appId,
1098
1088
  tableId: this._tableId,
1099
1089
  rowId,
1100
1090
  includeDocs: IncludeDocs.INCLUDE,
@@ -1106,7 +1096,6 @@ class LinkController {
1106
1096
  */
1107
1097
  getTableLinkDocs() {
1108
1098
  return getLinkDocuments({
1109
- appId: this._appId,
1110
1099
  tableId: this._tableId,
1111
1100
  includeDocs: IncludeDocs.INCLUDE,
1112
1101
  })
@@ -1225,7 +1214,6 @@ class LinkController {
1225
1214
  if (linkedSchema.relationshipType === RelationshipTypes.ONE_TO_MANY) {
1226
1215
  let links = (
1227
1216
  await getLinkDocuments({
1228
- appId: this._appId,
1229
1217
  tableId: field.tableId,
1230
1218
  rowId: linkId,
1231
1219
  includeDocs: IncludeDocs.EXCLUDE,
@@ -1468,7 +1456,7 @@ module.exports = LinkController
1468
1456
  <div class='footer quiet pad2 space-top1 center small'>
1469
1457
  Code coverage generated by
1470
1458
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1471
- at Mon Jan 31 2022 16:54:35 GMT+0000 (Coordinated Universal Time)
1459
+ at Tue Feb 01 2022 16:32:19 GMT+0000 (Coordinated Universal Time)
1472
1460
  </div>
1473
1461
  </div>
1474
1462
  <script src="../../prettify.js"></script>