@budibase/server 1.0.27-alpha.1 → 1.0.27-alpha.13

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 (343) hide show
  1. package/__mocks__/node-fetch.ts +18 -0
  2. package/builder/assets/{index.4a13c4cb.css → index.176f00e0.css} +1 -1
  3. package/builder/assets/index.5776ef20.js +1348 -0
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +1193 -1027
  6. package/coverage/coverage-final.json +72 -72
  7. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/apikeys.js.html +3 -3
  9. package/coverage/lcov-report/api/controllers/application.js.html +73 -64
  10. package/coverage/lcov-report/api/controllers/auth.js.html +2 -2
  11. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +13 -4
  14. package/coverage/lcov-report/api/controllers/component.js.html +4 -4
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +150 -48
  16. package/coverage/lcov-report/api/controllers/dev.js.html +3 -3
  17. package/coverage/lcov-report/api/controllers/hosting.js.html +3 -3
  18. package/coverage/lcov-report/api/controllers/index.html +20 -20
  19. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +3 -3
  23. package/coverage/lcov-report/api/controllers/query/index.html +21 -21
  24. package/coverage/lcov-report/api/controllers/query/index.js.html +101 -122
  25. package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -3
  26. package/coverage/lcov-report/api/controllers/role.js.html +2 -2
  27. package/coverage/lcov-report/api/controllers/routing.js.html +2 -2
  28. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/index.html +22 -22
  30. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/internal.js.html +38 -11
  32. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +8 -5
  33. package/coverage/lcov-report/api/controllers/row/utils.js.html +29 -20
  34. package/coverage/lcov-report/api/controllers/screen.js.html +2 -2
  35. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +14 -5
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +2 -2
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +6 -6
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +2 -2
  53. package/coverage/lcov-report/api/routes/application.js.html +2 -2
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +2 -2
  56. package/coverage/lcov-report/api/routes/backup.js.html +2 -2
  57. package/coverage/lcov-report/api/routes/cloud.js.html +2 -2
  58. package/coverage/lcov-report/api/routes/component.js.html +2 -2
  59. package/coverage/lcov-report/api/routes/datasource.js.html +2 -2
  60. package/coverage/lcov-report/api/routes/deploy.js.html +2 -2
  61. package/coverage/lcov-report/api/routes/dev.js.html +2 -2
  62. package/coverage/lcov-report/api/routes/hosting.js.html +2 -2
  63. package/coverage/lcov-report/api/routes/index.html +1 -1
  64. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/integration.js.html +2 -2
  66. package/coverage/lcov-report/api/routes/layout.js.html +2 -2
  67. package/coverage/lcov-report/api/routes/metadata.js.html +2 -2
  68. package/coverage/lcov-report/api/routes/permission.js.html +12 -3
  69. package/coverage/lcov-report/api/routes/query.js.html +25 -4
  70. package/coverage/lcov-report/api/routes/role.js.html +2 -2
  71. package/coverage/lcov-report/api/routes/routing.js.html +2 -2
  72. package/coverage/lcov-report/api/routes/row.js.html +2 -2
  73. package/coverage/lcov-report/api/routes/screen.js.html +2 -2
  74. package/coverage/lcov-report/api/routes/script.js.html +2 -2
  75. package/coverage/lcov-report/api/routes/static.js.html +2 -2
  76. package/coverage/lcov-report/api/routes/table.js.html +2 -2
  77. package/coverage/lcov-report/api/routes/templates.js.html +2 -2
  78. package/coverage/lcov-report/api/routes/user.js.html +2 -2
  79. package/coverage/lcov-report/api/routes/view.js.html +2 -2
  80. package/coverage/lcov-report/api/routes/webhook.js.html +2 -2
  81. package/coverage/lcov-report/automations/actions.js.html +1 -1
  82. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  83. package/coverage/lcov-report/automations/bullboard.js.html +2 -2
  84. package/coverage/lcov-report/automations/index.html +1 -1
  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 +1 -1
  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 +32 -8
  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 +11 -11
  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 +1 -1
  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 +1 -1
  113. package/coverage/lcov-report/automations/utils.js.html +6 -6
  114. package/coverage/lcov-report/constants/index.html +1 -1
  115. package/coverage/lcov-report/constants/index.js.html +4 -4
  116. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  117. package/coverage/lcov-report/constants/screens.js.html +2 -2
  118. package/coverage/lcov-report/db/client.js.html +2 -2
  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 +1 -1
  122. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  123. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  124. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  126. package/coverage/lcov-report/db/newid.js.html +2 -2
  127. package/coverage/lcov-report/db/utils.js.html +19 -19
  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 +64 -64
  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 +12 -12
  137. package/coverage/lcov-report/middleware/builder.js.html +10 -10
  138. package/coverage/lcov-report/middleware/currentapp.js.html +48 -36
  139. package/coverage/lcov-report/middleware/index.html +1 -1
  140. package/coverage/lcov-report/middleware/joi-validator.js.html +9 -9
  141. package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
  142. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  143. package/coverage/lcov-report/middleware/usageQuota.js.html +2 -2
  144. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  145. package/coverage/lcov-report/threads/automation.js.html +3 -3
  146. package/coverage/lcov-report/threads/index.html +31 -31
  147. package/coverage/lcov-report/threads/index.js.html +12 -12
  148. package/coverage/lcov-report/threads/query.js.html +369 -93
  149. package/coverage/lcov-report/threads/utils.js.html +359 -14
  150. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  151. package/coverage/lcov-report/utilities/budibaseDir.js.html +2 -2
  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 +28 -19
  155. package/coverage/lcov-report/utilities/index.html +1 -1
  156. package/coverage/lcov-report/utilities/index.js.html +11 -11
  157. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  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 +1 -1
  161. package/coverage/lcov-report/utilities/rowProcessor/index.html +19 -19
  162. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +247 -10
  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 +13 -4
  166. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  167. package/coverage/lcov-report/utilities/users.js.html +1 -1
  168. package/coverage/lcov-report/utilities/workerRequests.js.html +22 -22
  169. package/coverage/lcov.info +2027 -1725
  170. package/dist/api/controllers/apikeys.js +2 -2
  171. package/dist/api/controllers/application.js +4 -4
  172. package/dist/api/controllers/auth.js +1 -1
  173. package/dist/api/controllers/cloud.js +2 -2
  174. package/dist/api/controllers/datasource.js +29 -0
  175. package/dist/api/controllers/deploy/index.js +2 -2
  176. package/dist/api/controllers/dev.js +2 -2
  177. package/dist/api/controllers/hosting.js +2 -2
  178. package/dist/api/controllers/permission.js +2 -2
  179. package/dist/api/controllers/query/import/sources/base/index.js +2 -1
  180. package/dist/api/controllers/query/import/sources/curl.js +11 -5
  181. package/dist/api/controllers/query/import/sources/openapi2.js +8 -5
  182. package/dist/api/controllers/query/index.js +45 -47
  183. package/dist/api/controllers/query/validation.js +2 -1
  184. package/dist/api/controllers/role.js +1 -1
  185. package/dist/api/controllers/routing.js +1 -1
  186. package/dist/api/controllers/row/internal.js +14 -6
  187. package/dist/api/controllers/row/internalSearch.js +3 -2
  188. package/dist/api/controllers/row/utils.js +13 -6
  189. package/dist/api/controllers/screen.js +1 -1
  190. package/dist/api/controllers/user.js +3 -3
  191. package/dist/api/controllers/webhook.js +1 -1
  192. package/dist/api/index.js +1 -1
  193. package/dist/api/routes/apikeys.js +1 -1
  194. package/dist/api/routes/application.js +1 -1
  195. package/dist/api/routes/automation.js +1 -1
  196. package/dist/api/routes/backup.js +1 -1
  197. package/dist/api/routes/cloud.js +1 -1
  198. package/dist/api/routes/component.js +1 -1
  199. package/dist/api/routes/datasource.js +1 -1
  200. package/dist/api/routes/deploy.js +1 -1
  201. package/dist/api/routes/dev.js +1 -1
  202. package/dist/api/routes/hosting.js +1 -1
  203. package/dist/api/routes/integration.js +1 -1
  204. package/dist/api/routes/layout.js +1 -1
  205. package/dist/api/routes/metadata.js +1 -1
  206. package/dist/api/routes/permission.js +1 -1
  207. package/dist/api/routes/query.js +4 -2
  208. package/dist/api/routes/role.js +1 -1
  209. package/dist/api/routes/routing.js +1 -1
  210. package/dist/api/routes/row.js +1 -1
  211. package/dist/api/routes/screen.js +1 -1
  212. package/dist/api/routes/script.js +1 -1
  213. package/dist/api/routes/static.js +1 -1
  214. package/dist/api/routes/table.js +1 -1
  215. package/dist/api/routes/templates.js +1 -1
  216. package/dist/api/routes/tests/utilities/TestFunctions.js +1 -1
  217. package/dist/api/routes/user.js +1 -1
  218. package/dist/api/routes/view.js +1 -1
  219. package/dist/api/routes/webhook.js +1 -1
  220. package/dist/app.js +1 -1
  221. package/dist/automations/bullboard.js +1 -1
  222. package/dist/automations/steps/executeQuery.js +9 -2
  223. package/dist/automations/utils.js +1 -1
  224. package/dist/constants/index.js +3 -3
  225. package/dist/constants/screens.js +1 -1
  226. package/dist/db/client.js +1 -1
  227. package/dist/db/utils.js +1 -1
  228. package/dist/integrations/base/sqlTable.js +1 -1
  229. package/dist/integrations/rest.js +3 -3
  230. package/dist/middleware/authorized.js +2 -2
  231. package/dist/middleware/builder.js +2 -2
  232. package/dist/middleware/currentapp.js +6 -6
  233. package/dist/middleware/usageQuota.js +1 -1
  234. package/dist/package.json +5 -4
  235. package/dist/tests/utilities/TestConfiguration.js +55 -8
  236. package/dist/tests/utilities/structures.js +2 -2
  237. package/dist/threads/automation.js +2 -2
  238. package/dist/threads/query.js +148 -52
  239. package/dist/threads/utils.js +106 -1
  240. package/dist/tsconfig.tsbuildinfo +1 -1
  241. package/dist/utilities/budibaseDir.js +1 -1
  242. package/dist/utilities/fileSystem/utilities.js +2 -1
  243. package/dist/utilities/global.js +5 -5
  244. package/dist/utilities/index.js +1 -1
  245. package/dist/utilities/redis.js +1 -1
  246. package/dist/utilities/rowProcessor/index.js +76 -0
  247. package/dist/utilities/security.js +2 -2
  248. package/dist/utilities/usageQuota.js +2 -2
  249. package/dist/utilities/workerRequests.js +3 -3
  250. package/package.json +6 -5
  251. package/scripts/replicateApp.js +1 -1
  252. package/src/api/controllers/apikeys.js +2 -2
  253. package/src/api/controllers/application.js +7 -4
  254. package/src/api/controllers/auth.js +1 -1
  255. package/src/api/controllers/cloud.js +5 -2
  256. package/src/api/controllers/datasource.js +34 -0
  257. package/src/api/controllers/deploy/index.js +2 -2
  258. package/src/api/controllers/dev.js +2 -2
  259. package/src/api/controllers/hosting.js +2 -2
  260. package/src/api/controllers/permission.js +2 -2
  261. package/src/api/controllers/query/import/sources/base/index.ts +3 -1
  262. package/src/api/controllers/query/import/sources/curl.ts +12 -4
  263. package/src/api/controllers/query/import/sources/openapi2.ts +9 -5
  264. package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +2 -3
  265. package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +6 -7
  266. package/src/api/controllers/query/import/tests/index.spec.js +0 -6
  267. package/src/api/controllers/query/index.js +48 -55
  268. package/src/api/controllers/query/validation.js +2 -1
  269. package/src/api/controllers/role.js +1 -1
  270. package/src/api/controllers/routing.js +1 -1
  271. package/src/api/controllers/row/internal.js +14 -5
  272. package/src/api/controllers/row/internalSearch.js +3 -2
  273. package/src/api/controllers/row/utils.js +11 -8
  274. package/src/api/controllers/screen.js +1 -1
  275. package/src/api/controllers/user.js +6 -3
  276. package/src/api/controllers/webhook.js +1 -1
  277. package/src/api/index.js +1 -1
  278. package/src/api/routes/apikeys.js +1 -1
  279. package/src/api/routes/application.js +1 -1
  280. package/src/api/routes/automation.js +1 -1
  281. package/src/api/routes/backup.js +1 -1
  282. package/src/api/routes/cloud.js +1 -1
  283. package/src/api/routes/component.js +1 -1
  284. package/src/api/routes/datasource.js +1 -1
  285. package/src/api/routes/deploy.js +1 -1
  286. package/src/api/routes/dev.js +1 -1
  287. package/src/api/routes/hosting.js +1 -1
  288. package/src/api/routes/integration.js +1 -1
  289. package/src/api/routes/layout.js +1 -1
  290. package/src/api/routes/metadata.js +1 -1
  291. package/src/api/routes/permission.js +4 -1
  292. package/src/api/routes/query.js +9 -2
  293. package/src/api/routes/role.js +1 -1
  294. package/src/api/routes/routing.js +1 -1
  295. package/src/api/routes/row.js +1 -1
  296. package/src/api/routes/screen.js +1 -1
  297. package/src/api/routes/script.js +1 -1
  298. package/src/api/routes/static.js +1 -1
  299. package/src/api/routes/table.js +1 -1
  300. package/src/api/routes/templates.js +1 -1
  301. package/src/api/routes/tests/datasource.spec.js +45 -0
  302. package/src/api/routes/tests/permissions.spec.js +1 -1
  303. package/src/api/routes/tests/query.spec.js +70 -1
  304. package/src/api/routes/tests/role.spec.js +2 -2
  305. package/src/api/routes/tests/routing.spec.js +1 -1
  306. package/src/api/routes/tests/user.spec.js +1 -1
  307. package/src/api/routes/tests/utilities/TestFunctions.js +1 -1
  308. package/src/api/routes/user.js +1 -1
  309. package/src/api/routes/view.js +1 -1
  310. package/src/api/routes/webhook.js +1 -1
  311. package/src/app.ts +1 -1
  312. package/src/automations/bullboard.js +1 -1
  313. package/src/automations/steps/executeQuery.js +10 -2
  314. package/src/automations/utils.js +1 -1
  315. package/src/constants/index.js +3 -3
  316. package/src/constants/screens.js +1 -1
  317. package/src/db/client.js +1 -1
  318. package/src/db/utils.js +1 -1
  319. package/src/definitions/datasource.ts +10 -0
  320. package/src/integrations/base/sqlTable.ts +1 -1
  321. package/src/integrations/rest.ts +6 -3
  322. package/src/middleware/authorized.js +2 -2
  323. package/src/middleware/builder.js +2 -2
  324. package/src/middleware/currentapp.js +11 -7
  325. package/src/middleware/tests/authorized.spec.js +2 -2
  326. package/src/middleware/tests/currentapp.spec.js +35 -41
  327. package/src/middleware/tests/usageQuota.spec.js +1 -1
  328. package/src/middleware/usageQuota.js +1 -1
  329. package/src/tests/utilities/TestConfiguration.js +65 -8
  330. package/src/tests/utilities/structures.js +2 -2
  331. package/src/threads/automation.js +2 -2
  332. package/src/threads/query.js +148 -56
  333. package/src/threads/utils.js +116 -1
  334. package/src/utilities/budibaseDir.js +1 -1
  335. package/src/utilities/fileSystem/utilities.js +3 -1
  336. package/src/utilities/global.js +8 -5
  337. package/src/utilities/index.js +1 -1
  338. package/src/utilities/redis.js +1 -1
  339. package/src/utilities/rowProcessor/index.js +79 -0
  340. package/src/utilities/security.js +5 -2
  341. package/src/utilities/usageQuota.js +2 -2
  342. package/src/utilities/workerRequests.js +3 -3
  343. package/builder/assets/index.00c4135e.js +0 -1320
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">75% </span>
26
+ <span class="strong">76.27% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>6/8</span>
28
+ <span class='fraction'>45/59</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
33
+ <span class="strong">54.54% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>2/4</span>
35
+ <span class='fraction'>18/33</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">90% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/1</span>
42
+ <span class='fraction'>9/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">75% </span>
47
+ <span class="strong">77.58% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>6/8</span>
49
+ <span class='fraction'>45/58</span>
50
50
  </div>
51
51
 
52
52
 
@@ -70,22 +70,272 @@
70
70
  <a name='L11'></a><a href='#L11'>11</a>
71
71
  <a name='L12'></a><a href='#L12'>12</a>
72
72
  <a name='L13'></a><a href='#L13'>13</a>
73
- <a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">5x</span>
74
- <span class="cline-any cline-yes">5x</span>
75
- <span class="cline-any cline-yes">5x</span>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a>
83
+ <a name='L24'></a><a href='#L24'>24</a>
84
+ <a name='L25'></a><a href='#L25'>25</a>
85
+ <a name='L26'></a><a href='#L26'>26</a>
86
+ <a name='L27'></a><a href='#L27'>27</a>
87
+ <a name='L28'></a><a href='#L28'>28</a>
88
+ <a name='L29'></a><a href='#L29'>29</a>
89
+ <a name='L30'></a><a href='#L30'>30</a>
90
+ <a name='L31'></a><a href='#L31'>31</a>
91
+ <a name='L32'></a><a href='#L32'>32</a>
92
+ <a name='L33'></a><a href='#L33'>33</a>
93
+ <a name='L34'></a><a href='#L34'>34</a>
94
+ <a name='L35'></a><a href='#L35'>35</a>
95
+ <a name='L36'></a><a href='#L36'>36</a>
96
+ <a name='L37'></a><a href='#L37'>37</a>
97
+ <a name='L38'></a><a href='#L38'>38</a>
98
+ <a name='L39'></a><a href='#L39'>39</a>
99
+ <a name='L40'></a><a href='#L40'>40</a>
100
+ <a name='L41'></a><a href='#L41'>41</a>
101
+ <a name='L42'></a><a href='#L42'>42</a>
102
+ <a name='L43'></a><a href='#L43'>43</a>
103
+ <a name='L44'></a><a href='#L44'>44</a>
104
+ <a name='L45'></a><a href='#L45'>45</a>
105
+ <a name='L46'></a><a href='#L46'>46</a>
106
+ <a name='L47'></a><a href='#L47'>47</a>
107
+ <a name='L48'></a><a href='#L48'>48</a>
108
+ <a name='L49'></a><a href='#L49'>49</a>
109
+ <a name='L50'></a><a href='#L50'>50</a>
110
+ <a name='L51'></a><a href='#L51'>51</a>
111
+ <a name='L52'></a><a href='#L52'>52</a>
112
+ <a name='L53'></a><a href='#L53'>53</a>
113
+ <a name='L54'></a><a href='#L54'>54</a>
114
+ <a name='L55'></a><a href='#L55'>55</a>
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>
120
+ <a name='L61'></a><a href='#L61'>61</a>
121
+ <a name='L62'></a><a href='#L62'>62</a>
122
+ <a name='L63'></a><a href='#L63'>63</a>
123
+ <a name='L64'></a><a href='#L64'>64</a>
124
+ <a name='L65'></a><a href='#L65'>65</a>
125
+ <a name='L66'></a><a href='#L66'>66</a>
126
+ <a name='L67'></a><a href='#L67'>67</a>
127
+ <a name='L68'></a><a href='#L68'>68</a>
128
+ <a name='L69'></a><a href='#L69'>69</a>
129
+ <a name='L70'></a><a href='#L70'>70</a>
130
+ <a name='L71'></a><a href='#L71'>71</a>
131
+ <a name='L72'></a><a href='#L72'>72</a>
132
+ <a name='L73'></a><a href='#L73'>73</a>
133
+ <a name='L74'></a><a href='#L74'>74</a>
134
+ <a name='L75'></a><a href='#L75'>75</a>
135
+ <a name='L76'></a><a href='#L76'>76</a>
136
+ <a name='L77'></a><a href='#L77'>77</a>
137
+ <a name='L78'></a><a href='#L78'>78</a>
138
+ <a name='L79'></a><a href='#L79'>79</a>
139
+ <a name='L80'></a><a href='#L80'>80</a>
140
+ <a name='L81'></a><a href='#L81'>81</a>
141
+ <a name='L82'></a><a href='#L82'>82</a>
142
+ <a name='L83'></a><a href='#L83'>83</a>
143
+ <a name='L84'></a><a href='#L84'>84</a>
144
+ <a name='L85'></a><a href='#L85'>85</a>
145
+ <a name='L86'></a><a href='#L86'>86</a>
146
+ <a name='L87'></a><a href='#L87'>87</a>
147
+ <a name='L88'></a><a href='#L88'>88</a>
148
+ <a name='L89'></a><a href='#L89'>89</a>
149
+ <a name='L90'></a><a href='#L90'>90</a>
150
+ <a name='L91'></a><a href='#L91'>91</a>
151
+ <a name='L92'></a><a href='#L92'>92</a>
152
+ <a name='L93'></a><a href='#L93'>93</a>
153
+ <a name='L94'></a><a href='#L94'>94</a>
154
+ <a name='L95'></a><a href='#L95'>95</a>
155
+ <a name='L96'></a><a href='#L96'>96</a>
156
+ <a name='L97'></a><a href='#L97'>97</a>
157
+ <a name='L98'></a><a href='#L98'>98</a>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a>
160
+ <a name='L101'></a><a href='#L101'>101</a>
161
+ <a name='L102'></a><a href='#L102'>102</a>
162
+ <a name='L103'></a><a href='#L103'>103</a>
163
+ <a name='L104'></a><a href='#L104'>104</a>
164
+ <a name='L105'></a><a href='#L105'>105</a>
165
+ <a name='L106'></a><a href='#L106'>106</a>
166
+ <a name='L107'></a><a href='#L107'>107</a>
167
+ <a name='L108'></a><a href='#L108'>108</a>
168
+ <a name='L109'></a><a href='#L109'>109</a>
169
+ <a name='L110'></a><a href='#L110'>110</a>
170
+ <a name='L111'></a><a href='#L111'>111</a>
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>
174
+ <a name='L115'></a><a href='#L115'>115</a>
175
+ <a name='L116'></a><a href='#L116'>116</a>
176
+ <a name='L117'></a><a href='#L117'>117</a>
177
+ <a name='L118'></a><a href='#L118'>118</a>
178
+ <a name='L119'></a><a href='#L119'>119</a>
179
+ <a name='L120'></a><a href='#L120'>120</a>
180
+ <a name='L121'></a><a href='#L121'>121</a>
181
+ <a name='L122'></a><a href='#L122'>122</a>
182
+ <a name='L123'></a><a href='#L123'>123</a>
183
+ <a name='L124'></a><a href='#L124'>124</a>
184
+ <a name='L125'></a><a href='#L125'>125</a>
185
+ <a name='L126'></a><a href='#L126'>126</a>
186
+ <a name='L127'></a><a href='#L127'>127</a>
187
+ <a name='L128'></a><a href='#L128'>128</a>
188
+ <a name='L129'></a><a href='#L129'>129</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
189
+ <span class="cline-any cline-yes">34x</span>
190
+ <span class="cline-any cline-yes">34x</span>
191
+ <span class="cline-any cline-yes">34x</span>
192
+ <span class="cline-any cline-yes">34x</span>
193
+ <span class="cline-any cline-yes">34x</span>
194
+ <span class="cline-any cline-neutral">&nbsp;</span>
195
+ <span class="cline-any cline-yes">34x</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-yes">34x</span>
199
+ <span class="cline-any cline-yes">34x</span>
200
+ <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-neutral">&nbsp;</span>
202
+ <span class="cline-any cline-yes">19x</span>
203
+ <span class="cline-any cline-yes">2x</span>
204
+ <span class="cline-any cline-neutral">&nbsp;</span>
205
+ <span class="cline-any cline-yes">19x</span>
206
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-yes">34x</span>
209
+ <span class="cline-any cline-no">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-yes">34x</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-yes">6x</span>
215
+ <span class="cline-any cline-yes">6x</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-no">&nbsp;</span>
219
+ <span class="cline-any cline-no">&nbsp;</span>
220
+ <span class="cline-any cline-neutral">&nbsp;</span>
221
+ <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-neutral">&nbsp;</span>
223
+ <span class="cline-any cline-yes">19x</span>
224
+ <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-yes">34x</span>
227
+ <span class="cline-any cline-yes">11x</span>
228
+ <span class="cline-any cline-yes">11x</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-yes">34x</span>
232
+ <span class="cline-any cline-yes">3x</span>
233
+ <span class="cline-any cline-yes">3x</span>
234
+ <span class="cline-any cline-yes">3x</span>
235
+ <span class="cline-any cline-yes">3x</span>
236
+ <span class="cline-any cline-neutral">&nbsp;</span>
76
237
  <span class="cline-any cline-neutral">&nbsp;</span>
77
- <span class="cline-any cline-yes">5x</span>
78
238
  <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-yes">3x</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-yes">34x</span>
79
243
  <span class="cline-any cline-yes">5x</span>
80
244
  <span class="cline-any cline-yes">5x</span>
81
245
  <span class="cline-any cline-neutral">&nbsp;</span>
82
246
  <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-yes">34x</span>
252
+ <span class="cline-any cline-yes">14x</span>
253
+ <span class="cline-any cline-no">&nbsp;</span>
254
+ <span class="cline-any cline-no">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-no">&nbsp;</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-yes">14x</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-yes">34x</span>
263
+ <span class="cline-any cline-yes">14x</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-yes">34x</span>
272
+ <span class="cline-any cline-yes">16x</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-yes">16x</span>
276
+ <span class="cline-any cline-yes">19x</span>
277
+ <span class="cline-any cline-no">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-yes">19x</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
83
281
  <span class="cline-any cline-no">&nbsp;</span>
282
+ <span class="cline-any cline-yes">19x</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-yes">19x</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-yes">19x</span>
287
+ <span class="cline-any cline-no">&nbsp;</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-yes">19x</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
84
293
  <span class="cline-any cline-no">&nbsp;</span>
85
294
  <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
+ <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-yes">16x</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-no">&nbsp;</span>
303
+ <span class="cline-any cline-no">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-no">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-yes">16x</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
316
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const env = require("../environment")
87
317
  const CouchDB = require("../db")
88
- const { init } = require("@budibase/auth")
318
+ const { init } = require("@budibase/backend-core")
319
+ const redis = require("@budibase/backend-core/redis")
320
+ const { SEPARATOR } = require("@budibase/backend-core/db")
321
+ const { processStringSync } = require("@budibase/string-templates")
322
+ &nbsp;
323
+ const VARIABLE_TTL_SECONDS = 3600
324
+ let client
325
+ &nbsp;
326
+ const IS_TRIPLE_BRACE = new RegExp(/^{{3}.*}{3}$/)
327
+ const IS_HANDLEBARS = new RegExp(/^{{2}.*}{2}$/)
328
+ &nbsp;
329
+ async function getClient() {
330
+ if (!client) {
331
+ client = await new redis.Client(redis.utils.Databases.QUERY_VARS).init()
332
+ }
333
+ return client
334
+ }
335
+ &nbsp;
336
+ process.on("exit", <span class="fstat-no" title="function not covered" >as</span>ync () =&gt; {
337
+ <span class="cstat-no" title="statement not covered" > if (client) <span class="cstat-no" title="statement not covered" >await client.finish()</span></span>
338
+ })
89
339
  &nbsp;
90
340
  exports.threadSetup = () =&gt; {
91
341
  // don't run this if not threading
@@ -96,6 +346,101 @@ exports.threadSetup = () =&gt; {
96
346
  <span class="cstat-no" title="statement not covered" > env.setInThread()</span>
97
347
  <span class="cstat-no" title="statement not covered" > init(CouchDB)</span>
98
348
  }
349
+ &nbsp;
350
+ function makeVariableKey(queryId, variable) {
351
+ return `${queryId}${SEPARATOR}${variable}`
352
+ }
353
+ &nbsp;
354
+ exports.checkCacheForDynamicVariable = async (queryId, variable) =&gt; {
355
+ const cache = await getClient()
356
+ return cache.get(makeVariableKey(queryId, variable))
357
+ }
358
+ &nbsp;
359
+ exports.invalidateDynamicVariables = async cachedVars =&gt; {
360
+ const cache = await getClient()
361
+ let promises = []
362
+ for (let variable of cachedVars) {
363
+ promises.push(
364
+ cache.delete(makeVariableKey(variable.queryId, variable.name))
365
+ )
366
+ }
367
+ await Promise.all(promises)
368
+ }
369
+ &nbsp;
370
+ exports.storeDynamicVariable = async (queryId, variable, value) =&gt; {
371
+ const cache = await getClient()
372
+ await cache.store(
373
+ makeVariableKey(queryId, variable),
374
+ value,
375
+ VARIABLE_TTL_SECONDS
376
+ )
377
+ }
378
+ &nbsp;
379
+ exports.formatResponse = resp =&gt; {
380
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof resp === "string") {
381
+ <span class="cstat-no" title="statement not covered" > try {</span>
382
+ <span class="cstat-no" title="statement not covered" > resp = JSON.parse(resp)</span>
383
+ } catch (err) {
384
+ <span class="cstat-no" title="statement not covered" > resp = { response: resp }</span>
385
+ }
386
+ }
387
+ return resp
388
+ }
389
+ &nbsp;
390
+ exports.hasExtraData = response =&gt; {
391
+ return (
392
+ typeof response === "object" &amp;&amp;
393
+ !Array.isArray(response) &amp;&amp;
394
+ response.data != null &amp;&amp;
395
+ response.info != null
396
+ )
397
+ }
398
+ &nbsp;
399
+ exports.enrichQueryFields = (fields, parameters = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; {
400
+ const enrichedQuery = {}
401
+ &nbsp;
402
+ // enrich the fields with dynamic parameters
403
+ for (let key of Object.keys(fields)) {
404
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (fields[key] == null) {
405
+ <span class="cstat-no" title="statement not covered" > continue</span>
406
+ }
407
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof fields[key] === "object") {
408
+ // enrich nested fields object
409
+ <span class="cstat-no" title="statement not covered" > enrichedQuery[key] = this.enrichQueryFields(fields[key], parameters)</span>
410
+ } else if (typeof fields[key] === "string") {
411
+ // enrich string value as normal
412
+ let value = fields[key]
413
+ // add triple brace to avoid escaping e.g. '=' in cookie header
414
+ <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> {
415
+ <span class="cstat-no" title="statement not covered" > value = `{${value}}`</span>
416
+ }
417
+ enrichedQuery[key] = processStringSync(value, parameters, {
418
+ noHelpers: true,
419
+ })
420
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>{
421
+ <span class="cstat-no" title="statement not covered" > enrichedQuery[key] = fields[key]</span>
422
+ }
423
+ }
424
+ &nbsp;
425
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (
426
+ enrichedQuery.json ||
427
+ enrichedQuery.customData ||
428
+ enrichedQuery.requestBody
429
+ ) {
430
+ <span class="cstat-no" title="statement not covered" > try {</span>
431
+ <span class="cstat-no" title="statement not covered" > enrichedQuery.json = JSON.parse(</span>
432
+ enrichedQuery.json ||
433
+ enrichedQuery.customData ||
434
+ enrichedQuery.requestBody
435
+ )
436
+ } catch (err) {
437
+ // no json found, ignore
438
+ }
439
+ <span class="cstat-no" title="statement not covered" > delete enrichedQuery.customData</span>
440
+ }
441
+ &nbsp;
442
+ return enrichedQuery
443
+ }
99
444
  &nbsp;</pre></td></tr></table></pre>
100
445
 
101
446
  <div class='push'></div><!-- for sticky footer -->
@@ -103,7 +448,7 @@ exports.threadSetup = () =&gt; {
103
448
  <div class='footer quiet pad2 space-top1 center small'>
104
449
  Code coverage generated by
105
450
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
106
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
451
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
107
452
  </div>
108
453
  </div>
109
454
  <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 Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
112
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  </div>
115
115
  <script src="../prettify.js"></script>
@@ -80,7 +80,7 @@
80
80
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { join } = require("./centralPath")
81
81
  const { homedir } = require("os")
82
82
  const env = require("../environment")
83
- const { budibaseTempDir } = require("@budibase/auth").objectStore
83
+ const { budibaseTempDir } = require("@budibase/backend-core/objectStore")
84
84
  &nbsp;
85
85
  module.exports.budibaseAppsDir = <span class="fstat-no" title="function not covered" >fu</span>nction () {
86
86
  <span class="cstat-no" title="statement not covered" > return env.BUDIBASE_DIR || join(homedir(), ".budibase")</span>
@@ -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 Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
97
+ at Wed Jan 12 2022 13:19:56 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 Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
133
+ at Wed Jan 12 2022 13:19:56 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 Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
499
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
500
500
  </div>
501
501
  </div>
502
502
  <script src="../prettify.js"></script>
@@ -158,7 +158,10 @@
158
158
  <a name='L99'></a><a href='#L99'>99</a>
159
159
  <a name='L100'></a><a href='#L100'>100</a>
160
160
  <a name='L101'></a><a href='#L101'>101</a>
161
- <a name='L102'></a><a href='#L102'>102</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
161
+ <a name='L102'></a><a href='#L102'>102</a>
162
+ <a name='L103'></a><a href='#L103'>103</a>
163
+ <a name='L104'></a><a href='#L104'>104</a>
164
+ <a name='L105'></a><a href='#L105'>105</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
162
165
  <span class="cline-any cline-neutral">&nbsp;</span>
163
166
  <span class="cline-any cline-neutral">&nbsp;</span>
164
167
  <span class="cline-any cline-yes">39x</span>
@@ -166,44 +169,47 @@
166
169
  <span class="cline-any cline-yes">39x</span>
167
170
  <span class="cline-any cline-yes">39x</span>
168
171
  <span class="cline-any cline-yes">39x</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
173
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
175
  <span class="cline-any cline-yes">39x</span>
170
176
  <span class="cline-any cline-yes">39x</span>
171
177
  <span class="cline-any cline-neutral">&nbsp;</span>
172
178
  <span class="cline-any cline-yes">39x</span>
173
- <span class="cline-any cline-yes">134x</span>
179
+ <span class="cline-any cline-yes">143x</span>
174
180
  <span class="cline-any cline-yes">3x</span>
175
181
  <span class="cline-any cline-neutral">&nbsp;</span>
176
182
  <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">131x</span>
183
+ <span class="cline-any cline-yes">140x</span>
178
184
  <span class="cline-any cline-no">&nbsp;</span>
179
185
  <span class="cline-any cline-no">&nbsp;</span>
180
186
  <span class="cline-any cline-no">&nbsp;</span>
181
187
  <span class="cline-any cline-no">&nbsp;</span>
182
188
  <span class="cline-any cline-neutral">&nbsp;</span>
183
189
  <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-yes">131x</span>
190
+ <span class="cline-any cline-yes">140x</span>
185
191
  <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-yes">131x</span>
187
- <span class="cline-any cline-yes">126x</span>
192
+ <span class="cline-any cline-yes">140x</span>
193
+ <span class="cline-any cline-yes">135x</span>
188
194
  <span class="cline-any cline-yes">5x</span>
189
195
  <span class="cline-any cline-no">&nbsp;</span>
190
196
  <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-yes">131x</span>
192
- <span class="cline-any cline-yes">131x</span>
197
+ <span class="cline-any cline-yes">140x</span>
198
+ <span class="cline-any cline-yes">140x</span>
193
199
  <span class="cline-any cline-neutral">&nbsp;</span>
194
200
  <span class="cline-any cline-neutral">&nbsp;</span>
195
201
  <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-yes">127x</span>
197
- <span class="cline-any cline-yes">127x</span>
202
+ <span class="cline-any cline-yes">136x</span>
203
+ <span class="cline-any cline-yes">136x</span>
198
204
  <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">127x</span>
205
+ <span class="cline-any cline-yes">136x</span>
200
206
  <span class="cline-any cline-neutral">&nbsp;</span>
201
207
  <span class="cline-any cline-neutral">&nbsp;</span>
202
208
  <span class="cline-any cline-yes">39x</span>
203
209
  <span class="cline-any cline-neutral">&nbsp;</span>
204
210
  <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-yes">125x</span>
206
- <span class="cline-any cline-yes">125x</span>
211
+ <span class="cline-any cline-yes">134x</span>
212
+ <span class="cline-any cline-yes">134x</span>
207
213
  <span class="cline-any cline-neutral">&nbsp;</span>
208
214
  <span class="cline-any cline-neutral">&nbsp;</span>
209
215
  <span class="cline-any cline-yes">39x</span>
@@ -263,11 +269,14 @@
263
269
  getMultiIDParams,
264
270
  getGlobalIDFromUserMetadataID,
265
271
  } = require("../db/utils")
266
- const { BUILTIN_ROLE_IDS } = require("@budibase/auth/roles")
267
- const { getDeployedAppID } = require("@budibase/auth/db")
268
- const { getGlobalUserParams } = require("@budibase/auth/db")
269
- const { user: userCache } = require("@budibase/auth/cache")
270
- const { getGlobalDB, isUserInAppTenant } = require("@budibase/auth/tenancy")
272
+ const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
273
+ const { getDeployedAppID } = require("@budibase/backend-core/db")
274
+ const { getGlobalUserParams } = require("@budibase/backend-core/db")
275
+ const { user: userCache } = require("@budibase/backend-core/cache")
276
+ const {
277
+ getGlobalDB,
278
+ isUserInAppTenant,
279
+ } = require("@budibase/backend-core/tenancy")
271
280
  const env = require("../environment")
272
281
  &nbsp;
273
282
  exports.updateAppRole = (appId, user) =&gt; {
@@ -367,7 +376,7 @@ exports.getGlobalUsersFromMetadata = async (appId, users) =&gt; {
367
376
  <div class='footer quiet pad2 space-top1 center small'>
368
377
  Code coverage generated by
369
378
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
370
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
379
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
371
380
  </div>
372
381
  </div>
373
382
  <script src="../prettify.js"></script>
@@ -245,7 +245,7 @@
245
245
  <div class='footer quiet pad2 space-top1 center small'>
246
246
  Code coverage generated by
247
247
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
248
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
248
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
249
249
  </div>
250
250
  </div>
251
251
  <script src="../prettify.js"></script>