@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">44.44% </span>
26
+ <span class="strong">59.67% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>48/108</span>
28
+ <span class='fraction'>74/124</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">19.44% </span>
33
+ <span class="strong">33.33% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/36</span>
35
+ <span class='fraction'>15/45</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">50% </span>
40
+ <span class="strong">57.89% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/16</span>
42
+ <span class='fraction'>11/19</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">43.92% </span>
47
+ <span class="strong">59.34% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>47/107</span>
49
+ <span class='fraction'>73/123</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line low'></div>
58
+ <div class='status-line medium'></div>
59
59
  <pre><table class="coverage">
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>
@@ -272,7 +272,41 @@
272
272
  <a name='L213'></a><a href='#L213'>213</a>
273
273
  <a name='L214'></a><a href='#L214'>214</a>
274
274
  <a name='L215'></a><a href='#L215'>215</a>
275
- <a name='L216'></a><a href='#L216'>216</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
275
+ <a name='L216'></a><a href='#L216'>216</a>
276
+ <a name='L217'></a><a href='#L217'>217</a>
277
+ <a name='L218'></a><a href='#L218'>218</a>
278
+ <a name='L219'></a><a href='#L219'>219</a>
279
+ <a name='L220'></a><a href='#L220'>220</a>
280
+ <a name='L221'></a><a href='#L221'>221</a>
281
+ <a name='L222'></a><a href='#L222'>222</a>
282
+ <a name='L223'></a><a href='#L223'>223</a>
283
+ <a name='L224'></a><a href='#L224'>224</a>
284
+ <a name='L225'></a><a href='#L225'>225</a>
285
+ <a name='L226'></a><a href='#L226'>226</a>
286
+ <a name='L227'></a><a href='#L227'>227</a>
287
+ <a name='L228'></a><a href='#L228'>228</a>
288
+ <a name='L229'></a><a href='#L229'>229</a>
289
+ <a name='L230'></a><a href='#L230'>230</a>
290
+ <a name='L231'></a><a href='#L231'>231</a>
291
+ <a name='L232'></a><a href='#L232'>232</a>
292
+ <a name='L233'></a><a href='#L233'>233</a>
293
+ <a name='L234'></a><a href='#L234'>234</a>
294
+ <a name='L235'></a><a href='#L235'>235</a>
295
+ <a name='L236'></a><a href='#L236'>236</a>
296
+ <a name='L237'></a><a href='#L237'>237</a>
297
+ <a name='L238'></a><a href='#L238'>238</a>
298
+ <a name='L239'></a><a href='#L239'>239</a>
299
+ <a name='L240'></a><a href='#L240'>240</a>
300
+ <a name='L241'></a><a href='#L241'>241</a>
301
+ <a name='L242'></a><a href='#L242'>242</a>
302
+ <a name='L243'></a><a href='#L243'>243</a>
303
+ <a name='L244'></a><a href='#L244'>244</a>
304
+ <a name='L245'></a><a href='#L245'>245</a>
305
+ <a name='L246'></a><a href='#L246'>246</a>
306
+ <a name='L247'></a><a href='#L247'>247</a>
307
+ <a name='L248'></a><a href='#L248'>248</a>
308
+ <a name='L249'></a><a href='#L249'>249</a>
309
+ <a name='L250'></a><a href='#L250'>250</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
276
310
  <span class="cline-any cline-neutral">&nbsp;</span>
277
311
  <span class="cline-any cline-neutral">&nbsp;</span>
278
312
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -284,6 +318,7 @@
284
318
  <span class="cline-any cline-yes">34x</span>
285
319
  <span class="cline-any cline-yes">34x</span>
286
320
  <span class="cline-any cline-yes">34x</span>
321
+ <span class="cline-any cline-yes">34x</span>
287
322
  <span class="cline-any cline-neutral">&nbsp;</span>
288
323
  <span class="cline-any cline-yes">34x</span>
289
324
  <span class="cline-any cline-yes">2x</span>
@@ -331,62 +366,95 @@
331
366
  <span class="cline-any cline-no">&nbsp;</span>
332
367
  <span class="cline-any cline-neutral">&nbsp;</span>
333
368
  <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
372
  <span class="cline-any cline-yes">34x</span>
335
- <span class="cline-any cline-no">&nbsp;</span>
336
- <span class="cline-any cline-no">&nbsp;</span>
337
- <span class="cline-any cline-no">&nbsp;</span>
338
- <span class="cline-any cline-no">&nbsp;</span>
373
+ <span class="cline-any cline-yes">6x</span>
374
+ <span class="cline-any cline-yes">6x</span>
375
+ <span class="cline-any cline-yes">6x</span>
339
376
  <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-no">&nbsp;</span>
341
- <span class="cline-any cline-no">&nbsp;</span>
377
+ <span class="cline-any cline-yes">6x</span>
378
+ <span class="cline-any cline-yes">5x</span>
342
379
  <span class="cline-any cline-neutral">&nbsp;</span>
343
380
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-no">&nbsp;</span>
345
- <span class="cline-any cline-no">&nbsp;</span>
346
- <span class="cline-any cline-no">&nbsp;</span>
381
+ <span class="cline-any cline-yes">1x</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
383
  <span class="cline-any cline-no">&nbsp;</span>
348
384
  <span class="cline-any cline-neutral">&nbsp;</span>
349
385
  <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-yes">1x</span>
387
+ <span class="cline-any cline-yes">1x</span>
350
388
  <span class="cline-any cline-neutral">&nbsp;</span>
351
389
  <span class="cline-any cline-no">&nbsp;</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-yes">1x</span>
394
+ <span class="cline-any cline-yes">1x</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-yes">1x</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-yes">34x</span>
402
+ <span class="cline-any cline-yes">6x</span>
403
+ <span class="cline-any cline-yes">6x</span>
404
+ <span class="cline-any cline-yes">6x</span>
405
+ <span class="cline-any cline-yes">6x</span>
406
+ <span class="cline-any cline-yes">6x</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-yes">6x</span>
409
+ <span class="cline-any cline-yes">6x</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-yes">6x</span>
413
+ <span class="cline-any cline-yes">6x</span>
414
+ <span class="cline-any cline-yes">6x</span>
352
415
  <span class="cline-any cline-no">&nbsp;</span>
353
- <span class="cline-any cline-no">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-yes">6x</span>
420
+ <span class="cline-any cline-yes">6x</span>
421
+ <span class="cline-any cline-yes">6x</span>
354
422
  <span class="cline-any cline-neutral">&nbsp;</span>
355
423
  <span class="cline-any cline-neutral">&nbsp;</span>
356
424
  <span class="cline-any cline-yes">34x</span>
357
- <span class="cline-any cline-yes">24x</span>
358
- <span class="cline-any cline-yes">24x</span>
359
- <span class="cline-any cline-yes">24x</span>
425
+ <span class="cline-any cline-yes">35x</span>
426
+ <span class="cline-any cline-yes">35x</span>
427
+ <span class="cline-any cline-yes">35x</span>
360
428
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">24x</span>
429
+ <span class="cline-any cline-yes">35x</span>
362
430
  <span class="cline-any cline-neutral">&nbsp;</span>
363
431
  <span class="cline-any cline-neutral">&nbsp;</span>
364
432
  <span class="cline-any cline-neutral">&nbsp;</span>
365
433
  <span class="cline-any cline-neutral">&nbsp;</span>
366
434
  <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-yes">24x</span>
368
- <span class="cline-any cline-yes">24x</span>
435
+ <span class="cline-any cline-yes">35x</span>
436
+ <span class="cline-any cline-yes">35x</span>
369
437
  <span class="cline-any cline-no">&nbsp;</span>
370
438
  <span class="cline-any cline-no">&nbsp;</span>
371
439
  <span class="cline-any cline-no">&nbsp;</span>
372
440
  <span class="cline-any cline-neutral">&nbsp;</span>
373
441
  <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-yes">24x</span>
375
- <span class="cline-any cline-yes">24x</span>
442
+ <span class="cline-any cline-yes">35x</span>
443
+ <span class="cline-any cline-yes">35x</span>
376
444
  <span class="cline-any cline-neutral">&nbsp;</span>
377
445
  <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">24x</span>
379
- <span class="cline-any cline-yes">24x</span>
380
- <span class="cline-any cline-yes">24x</span>
446
+ <span class="cline-any cline-yes">35x</span>
447
+ <span class="cline-any cline-yes">35x</span>
448
+ <span class="cline-any cline-yes">35x</span>
381
449
  <span class="cline-any cline-no">&nbsp;</span>
382
450
  <span class="cline-any cline-neutral">&nbsp;</span>
383
451
  <span class="cline-any cline-neutral">&nbsp;</span>
384
452
  <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-yes">24x</span>
386
- <span class="cline-any cline-yes">24x</span>
453
+ <span class="cline-any cline-yes">35x</span>
454
+ <span class="cline-any cline-yes">35x</span>
387
455
  <span class="cline-any cline-no">&nbsp;</span>
388
456
  <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-yes">24x</span>
457
+ <span class="cline-any cline-yes">35x</span>
390
458
  <span class="cline-any cline-neutral">&nbsp;</span>
391
459
  <span class="cline-any cline-neutral">&nbsp;</span>
392
460
  <span class="cline-any cline-yes">34x</span>
@@ -499,6 +567,7 @@ const {
499
567
  const { BuildSchemaErrors, InvalidColumns } = require("../../constants")
500
568
  const { integrations } = require("../../integrations")
501
569
  const { getDatasourceAndQuery } = require("./row/utils")
570
+ const { invalidateDynamicVariables } = require("../../threads/utils")
502
571
  &nbsp;
503
572
  exports.fetch = async function (ctx) {
504
573
  const database = new CouchDB(ctx.appId)
@@ -546,26 +615,59 @@ exports.buildSchemaFromDb = <span class="fstat-no" title="function not covered"
546
615
  <span class="cstat-no" title="statement not covered" > ctx.body = response</span>
547
616
  }
548
617
  &nbsp;
549
- exports.update = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
550
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
551
- const datasourceId = <span class="cstat-no" title="statement not covered" >ctx.params.datasourceId</span>
552
- let datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
553
- <span class="cstat-no" title="statement not covered" > datasource = { ...datasource, ...ctx.request.body }</span>
618
+ /**
619
+ * Check for variables that have been updated or removed and invalidate them.
620
+ */
621
+ const invalidateVariables = async (existingDatasource, updatedDatasource) =&gt; {
622
+ const existingVariables = existingDatasource.config.dynamicVariables
623
+ const updatedVariables = updatedDatasource.config.dynamicVariables
624
+ const toInvalidate = []
554
625
  &nbsp;
555
- const response = <span class="cstat-no" title="statement not covered" >await db.put(datasource)</span>
556
- <span class="cstat-no" title="statement not covered" > datasource._rev = response.rev</span>
626
+ if (!existingVariables) {
627
+ return
628
+ }
629
+ &nbsp;
630
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!updatedVariables) {
631
+ // invalidate all
632
+ <span class="cstat-no" title="statement not covered" > toInvalidate.push(...existingVariables)</span>
633
+ } else {
634
+ // invaldate changed / removed
635
+ existingVariables.forEach(existing =&gt; {
636
+ const unchanged = updatedVariables.find(
637
+ <span class="fstat-no" title="function not covered" > up</span>dated =&gt;
638
+ <span class="cstat-no" title="statement not covered" > existing.name === updated.name &amp;&amp;</span>
639
+ existing.queryId === updated.queryId &amp;&amp;
640
+ existing.value === updated.value
641
+ )
642
+ if (!unchanged) {
643
+ toInvalidate.push(existing)
644
+ }
645
+ })
646
+ }
647
+ await invalidateDynamicVariables(toInvalidate)
648
+ }
649
+ &nbsp;
650
+ exports.update = async function (ctx) {
651
+ const db = new CouchDB(ctx.appId)
652
+ const datasourceId = ctx.params.datasourceId
653
+ let datasource = await db.get(datasourceId)
654
+ await invalidateVariables(datasource, ctx.request.body)
655
+ datasource = { ...datasource, ...ctx.request.body }
656
+ &nbsp;
657
+ const response = await db.put(datasource)
658
+ datasource._rev = response.rev
557
659
  &nbsp;
558
660
  // Drain connection pools when configuration is changed
559
- <span class="cstat-no" title="statement not covered" > if (datasource.source) {</span>
560
- const source = <span class="cstat-no" title="statement not covered" >integrations[datasource.source]</span>
561
- <span class="cstat-no" title="statement not covered" > if (source &amp;&amp; source.pool) {</span>
661
+ if (datasource.source) {
662
+ const source = integrations[datasource.source]
663
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (source &amp;&amp; source.pool) {
562
664
  <span class="cstat-no" title="statement not covered" > await source.pool.end()</span>
563
665
  }
564
666
  }
565
667
  &nbsp;
566
- <span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
567
- <span class="cstat-no" title="statement not covered" > ctx.message = "Datasource saved successfully."</span>
568
- <span class="cstat-no" title="statement not covered" > ctx.body = { datasource }</span>
668
+ ctx.status = 200
669
+ ctx.message = "Datasource saved successfully."
670
+ ctx.body = { datasource }
569
671
  }
570
672
  &nbsp;
571
673
  exports.save = async function (ctx) {
@@ -709,7 +811,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
709
811
  <div class='footer quiet pad2 space-top1 center small'>
710
812
  Code coverage generated by
711
813
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
712
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
814
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
713
815
  </div>
714
816
  </div>
715
817
  <script src="../../prettify.js"></script>
@@ -307,9 +307,9 @@ const env = require("../../environment")
307
307
  const { checkSlashesInUrl } = require("../../utilities")
308
308
  const { request } = require("../../utilities/workerRequests")
309
309
  const { clearLock } = require("../../utilities/redis")
310
- const { Replication } = require("@budibase/auth").db
310
+ const { Replication } = require("@budibase/backend-core/db")
311
311
  const { DocumentTypes } = require("../../db/utils")
312
- const { app: appCache } = require("@budibase/auth/cache")
312
+ const { app: appCache } = require("@budibase/backend-core/cache")
313
313
  &nbsp;
314
314
  async function <span class="fstat-no" title="function not covered" >redirect(</span>ctx, method, path = <span class="branch-0 cbranch-no" title="branch not covered" >"global")</span> {
315
315
  const { devPath } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
@@ -430,7 +430,7 @@ exports.getBudibaseVersion = <span class="fstat-no" title="function not covered"
430
430
  <div class='footer quiet pad2 space-top1 center small'>
431
431
  Code coverage generated by
432
432
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
433
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
433
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
434
434
  </div>
435
435
  </div>
436
436
  <script src="../../prettify.js"></script>
@@ -103,8 +103,8 @@
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../db")
105
105
  const { getDeployedApps } = require("../../utilities/workerRequests")
106
- const { getScopedConfig } = require("@budibase/auth/db")
107
- const { Configs } = require("@budibase/auth").constants
106
+ const { getScopedConfig } = require("@budibase/backend-core/db")
107
+ const { Configs } = require("@budibase/backend-core/constants")
108
108
  const { checkSlashesInUrl } = require("../../utilities")
109
109
  &nbsp;
110
110
  exports.fetchUrls = async ctx =&gt; {
@@ -130,7 +130,7 @@ exports.getDeployedApps = <span class="fstat-no" title="function not covered" >a
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>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">69.63% </span>
26
+ <span class="strong">70.99% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>750/1077</span>
28
+ <span class='fraction'>776/1093</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">45.11% </span>
33
+ <span class="strong">46.21% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>157/348</span>
35
+ <span class='fraction'>165/357</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">68.49% </span>
40
+ <span class="strong">69.12% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>100/146</span>
42
+ <span class='fraction'>103/149</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">69.83% </span>
47
+ <span class="strong">71.2% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>743/1064</span>
49
+ <span class='fraction'>769/1080</span>
50
50
  </div>
51
51
 
52
52
 
@@ -193,18 +193,18 @@
193
193
  </tr>
194
194
 
195
195
  <tr>
196
- <td class="file low" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
197
- <td data-value="44.44" class="pic low">
198
- <div class="chart"><div class="cover-fill" style="width: 44%"></div><div class="cover-empty" style="width: 56%"></div></div>
196
+ <td class="file medium" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
197
+ <td data-value="59.67" class="pic medium">
198
+ <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
199
199
  </td>
200
- <td data-value="44.44" class="pct low">44.44%</td>
201
- <td data-value="108" class="abs low">48/108</td>
202
- <td data-value="19.44" class="pct low">19.44%</td>
203
- <td data-value="36" class="abs low">7/36</td>
204
- <td data-value="50" class="pct medium">50%</td>
205
- <td data-value="16" class="abs medium">8/16</td>
206
- <td data-value="43.92" class="pct low">43.92%</td>
207
- <td data-value="107" class="abs low">47/107</td>
200
+ <td data-value="59.67" class="pct medium">59.67%</td>
201
+ <td data-value="124" class="abs medium">74/124</td>
202
+ <td data-value="33.33" class="pct low">33.33%</td>
203
+ <td data-value="45" class="abs low">15/45</td>
204
+ <td data-value="57.89" class="pct medium">57.89%</td>
205
+ <td data-value="19" class="abs medium">11/19</td>
206
+ <td data-value="59.34" class="pct medium">59.34%</td>
207
+ <td data-value="123" class="abs medium">73/123</td>
208
208
  </tr>
209
209
 
210
210
  <tr>
@@ -410,7 +410,7 @@
410
410
  <div class='footer quiet pad2 space-top1 center small'>
411
411
  Code coverage generated by
412
412
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
413
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
413
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
414
414
  </div>
415
415
  </div>
416
416
  <script src="../../prettify.js"></script>
@@ -100,7 +100,7 @@ exports.find = async function (ctx) {
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
103
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -217,7 +217,7 @@ exports.destroy = async function (ctx) {
217
217
  <div class='footer quiet pad2 space-top1 center small'>
218
218
  Code coverage generated by
219
219
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
220
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
220
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
221
221
  </div>
222
222
  </div>
223
223
  <script src="../../prettify.js"></script>
@@ -202,7 +202,7 @@ exports.getMetadata = async ctx =&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 Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
205
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../../prettify.js"></script>
@@ -407,13 +407,13 @@
407
407
  <span class="cline-any cline-neutral">&nbsp;</span>
408
408
  <span class="cline-any cline-neutral">&nbsp;</span>
409
409
  <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getBuiltinPermissions } = require("@budibase/auth/permissions")
410
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getBuiltinPermissions } = require("@budibase/backend-core/permissions")
411
411
  const {
412
412
  isBuiltin,
413
413
  getDBRoleID,
414
414
  getExternalRoleID,
415
415
  getBuiltinRoles,
416
- } = require("@budibase/auth/roles")
416
+ } = require("@budibase/backend-core/roles")
417
417
  const { getRoleParams } = require("../../db/utils")
418
418
  const CouchDB = require("../../db")
419
419
  const {
@@ -589,7 +589,7 @@ exports.removePermission = async function (ctx) {
589
589
  <div class='footer quiet pad2 space-top1 center small'>
590
590
  Code coverage generated by
591
591
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
592
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
592
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
593
593
  </div>
594
594
  </div>
595
595
  <script src="../../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">73.95% </span>
26
+ <span class="strong">82.65% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>71/96</span>
28
+ <span class='fraction'>81/98</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">44.44% </span>
33
+ <span class="strong">68.42% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>12/27</span>
35
+ <span class='fraction'>13/19</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">92.3% </span>
40
+ <span class="strong">88.23% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/13</span>
42
+ <span class='fraction'>15/17</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">73.68% </span>
47
+ <span class="strong">82.29% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>70/95</span>
49
+ <span class='fraction'>79/96</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line medium'></div>
58
+ <div class='status-line high'></div>
59
59
  <div class="pad1">
60
60
  <table class="coverage-summary">
61
61
  <thead>
@@ -73,18 +73,18 @@
73
73
  </tr>
74
74
  </thead>
75
75
  <tbody><tr>
76
- <td class="file medium" data-value="index.js"><a href="index.js.html">index.js</a></td>
77
- <td data-value="71.59" class="pic medium">
78
- <div class="chart"><div class="cover-fill" style="width: 71%"></div><div class="cover-empty" style="width: 29%"></div></div>
76
+ <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
77
+ <td data-value="81.11" class="pic high">
78
+ <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
79
79
  </td>
80
- <td data-value="71.59" class="pct medium">71.59%</td>
81
- <td data-value="88" class="abs medium">63/88</td>
82
- <td data-value="44.44" class="pct low">44.44%</td>
83
- <td data-value="27" class="abs low">12/27</td>
84
- <td data-value="90" class="pct high">90%</td>
85
- <td data-value="10" class="abs high">9/10</td>
86
- <td data-value="71.26" class="pct medium">71.26%</td>
87
- <td data-value="87" class="abs medium">62/87</td>
80
+ <td data-value="81.11" class="pct high">81.11%</td>
81
+ <td data-value="90" class="abs high">73/90</td>
82
+ <td data-value="68.42" class="pct medium">68.42%</td>
83
+ <td data-value="19" class="abs medium">13/19</td>
84
+ <td data-value="85.71" class="pct high">85.71%</td>
85
+ <td data-value="14" class="abs high">12/14</td>
86
+ <td data-value="80.68" class="pct high">80.68%</td>
87
+ <td data-value="88" class="abs high">71/88</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
@@ -110,7 +110,7 @@
110
110
  <div class='footer quiet pad2 space-top1 center small'>
111
111
  Code coverage generated by
112
112
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
- at Fri Dec 31 2021 14:12:35 GMT+0000 (Coordinated Universal Time)
113
+ at Wed Jan 12 2022 13:19:56 GMT+0000 (Coordinated Universal Time)
114
114
  </div>
115
115
  </div>
116
116
  <script src="../../../prettify.js"></script>