@budibase/server 1.0.32 → 1.0.39

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 (382) hide show
  1. package/__mocks__/node-fetch.ts +21 -0
  2. package/builder/assets/bb-spaceship.8f6e81e1.svg +227 -0
  3. package/builder/assets/index.3079d0f9.js +1348 -0
  4. package/builder/assets/{index.4fb3f887.css → index.39e01193.css} +1 -1
  5. package/builder/assets/{vendor.470042a4.js → vendor.f9faf6ab.js} +88 -88
  6. package/builder/index.html +3 -3
  7. package/coverage/clover.xml +1591 -1345
  8. package/coverage/coverage-final.json +75 -74
  9. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/apikeys.js.html +3 -3
  11. package/coverage/lcov-report/api/controllers/application.js.html +73 -64
  12. package/coverage/lcov-report/api/controllers/auth.js.html +2 -2
  13. package/coverage/lcov-report/api/controllers/automation.js.html +22 -10
  14. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/cloud.js.html +13 -4
  16. package/coverage/lcov-report/api/controllers/component.js.html +4 -4
  17. package/coverage/lcov-report/api/controllers/datasource.js.html +170 -68
  18. package/coverage/lcov-report/api/controllers/dev.js.html +3 -3
  19. package/coverage/lcov-report/api/controllers/hosting.js.html +3 -3
  20. package/coverage/lcov-report/api/controllers/index.html +39 -54
  21. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/permission.js.html +3 -3
  25. package/coverage/lcov-report/api/controllers/query/index.html +126 -0
  26. package/coverage/lcov-report/api/controllers/{query.js.html → query/index.js.html} +228 -114
  27. package/coverage/lcov-report/api/controllers/query/validation.js.html +206 -0
  28. package/coverage/lcov-report/api/controllers/role.js.html +2 -2
  29. package/coverage/lcov-report/api/controllers/routing.js.html +2 -2
  30. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/index.html +22 -22
  32. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/row/internal.js.html +38 -11
  34. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +8 -5
  35. package/coverage/lcov-report/api/controllers/row/utils.js.html +29 -20
  36. package/coverage/lcov-report/api/controllers/screen.js.html +2 -2
  37. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/user.js.html +120 -12
  45. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  49. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  50. package/coverage/lcov-report/api/controllers/webhook.js.html +19 -7
  51. package/coverage/lcov-report/api/index.html +1 -1
  52. package/coverage/lcov-report/api/index.js.html +6 -6
  53. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/apikeys.js.html +2 -2
  55. package/coverage/lcov-report/api/routes/application.js.html +2 -2
  56. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/automation.js.html +2 -2
  58. package/coverage/lcov-report/api/routes/backup.js.html +2 -2
  59. package/coverage/lcov-report/api/routes/cloud.js.html +2 -2
  60. package/coverage/lcov-report/api/routes/component.js.html +2 -2
  61. package/coverage/lcov-report/api/routes/datasource.js.html +2 -2
  62. package/coverage/lcov-report/api/routes/deploy.js.html +2 -2
  63. package/coverage/lcov-report/api/routes/dev.js.html +2 -2
  64. package/coverage/lcov-report/api/routes/hosting.js.html +2 -2
  65. package/coverage/lcov-report/api/routes/index.html +9 -9
  66. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/integration.js.html +2 -2
  68. package/coverage/lcov-report/api/routes/layout.js.html +2 -2
  69. package/coverage/lcov-report/api/routes/metadata.js.html +2 -2
  70. package/coverage/lcov-report/api/routes/permission.js.html +12 -3
  71. package/coverage/lcov-report/api/routes/query.js.html +20 -86
  72. package/coverage/lcov-report/api/routes/role.js.html +2 -2
  73. package/coverage/lcov-report/api/routes/routing.js.html +2 -2
  74. package/coverage/lcov-report/api/routes/row.js.html +2 -2
  75. package/coverage/lcov-report/api/routes/screen.js.html +2 -2
  76. package/coverage/lcov-report/api/routes/script.js.html +2 -2
  77. package/coverage/lcov-report/api/routes/static.js.html +2 -2
  78. package/coverage/lcov-report/api/routes/table.js.html +2 -2
  79. package/coverage/lcov-report/api/routes/templates.js.html +2 -2
  80. package/coverage/lcov-report/api/routes/user.js.html +33 -3
  81. package/coverage/lcov-report/api/routes/view.js.html +2 -2
  82. package/coverage/lcov-report/api/routes/webhook.js.html +2 -2
  83. package/coverage/lcov-report/automations/actions.js.html +1 -1
  84. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  85. package/coverage/lcov-report/automations/bullboard.js.html +2 -2
  86. package/coverage/lcov-report/automations/index.html +20 -20
  87. package/coverage/lcov-report/automations/index.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/executeQuery.js.html +32 -8
  94. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/index.html +11 -11
  97. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +5 -8
  99. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  115. package/coverage/lcov-report/automations/utils.js.html +49 -16
  116. package/coverage/lcov-report/constants/index.html +1 -1
  117. package/coverage/lcov-report/constants/index.js.html +25 -25
  118. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  119. package/coverage/lcov-report/constants/screens.js.html +2 -2
  120. package/coverage/lcov-report/db/client.js.html +19 -19
  121. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  122. package/coverage/lcov-report/db/index.html +15 -15
  123. package/coverage/lcov-report/db/index.js.html +3 -3
  124. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  126. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  127. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  128. package/coverage/lcov-report/db/newid.js.html +4 -4
  129. package/coverage/lcov-report/db/utils.js.html +108 -81
  130. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  131. package/coverage/lcov-report/events/index.html +1 -1
  132. package/coverage/lcov-report/events/index.js.html +1 -1
  133. package/coverage/lcov-report/events/utils.js.html +1 -1
  134. package/coverage/lcov-report/index.html +99 -84
  135. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  136. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  137. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  138. package/coverage/lcov-report/middleware/authorized.js.html +12 -12
  139. package/coverage/lcov-report/middleware/builder.js.html +10 -10
  140. package/coverage/lcov-report/middleware/currentapp.js.html +48 -36
  141. package/coverage/lcov-report/middleware/index.html +1 -1
  142. package/coverage/lcov-report/middleware/joi-validator.js.html +11 -11
  143. package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
  144. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  145. package/coverage/lcov-report/middleware/usageQuota.js.html +2 -2
  146. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  147. package/coverage/lcov-report/threads/automation.js.html +3 -3
  148. package/coverage/lcov-report/threads/index.html +32 -32
  149. package/coverage/lcov-report/threads/index.js.html +12 -12
  150. package/coverage/lcov-report/threads/query.js.html +560 -65
  151. package/coverage/lcov-report/threads/utils.js.html +210 -15
  152. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  153. package/coverage/lcov-report/utilities/budibaseDir.js.html +2 -2
  154. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  155. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  156. package/coverage/lcov-report/utilities/global.js.html +28 -19
  157. package/coverage/lcov-report/utilities/index.html +19 -19
  158. package/coverage/lcov-report/utilities/index.js.html +70 -37
  159. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  160. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  161. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  163. package/coverage/lcov-report/utilities/rowProcessor/index.html +19 -19
  164. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +247 -10
  165. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  166. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  167. package/coverage/lcov-report/utilities/security.js.html +14 -5
  168. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  169. package/coverage/lcov-report/utilities/users.js.html +1 -1
  170. package/coverage/lcov-report/utilities/workerRequests.js.html +22 -22
  171. package/coverage/lcov.info +2740 -2315
  172. package/dist/api/controllers/apikeys.js +2 -2
  173. package/dist/api/controllers/application.js +4 -4
  174. package/dist/api/controllers/auth.js +1 -1
  175. package/dist/api/controllers/automation.js +7 -5
  176. package/dist/api/controllers/cloud.js +2 -2
  177. package/dist/api/controllers/datasource.js +29 -0
  178. package/dist/api/controllers/deploy/index.js +2 -2
  179. package/dist/api/controllers/dev.js +2 -2
  180. package/dist/api/controllers/hosting.js +2 -2
  181. package/dist/api/controllers/permission.js +2 -2
  182. package/dist/api/controllers/query/import/index.js +79 -0
  183. package/dist/api/controllers/query/import/sources/base/index.js +64 -0
  184. package/dist/api/controllers/query/import/sources/base/openapi.js +42 -0
  185. package/dist/api/controllers/query/import/sources/curl.js +96 -0
  186. package/dist/api/controllers/query/import/sources/openapi2.js +142 -0
  187. package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  188. package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  189. package/dist/api/controllers/{query.js → query/index.js} +87 -52
  190. package/dist/api/controllers/query/validation.js +38 -0
  191. package/dist/api/controllers/role.js +1 -1
  192. package/dist/api/controllers/routing.js +1 -1
  193. package/dist/api/controllers/row/internal.js +14 -6
  194. package/dist/api/controllers/row/internalSearch.js +3 -2
  195. package/dist/api/controllers/row/utils.js +13 -6
  196. package/dist/api/controllers/screen.js +1 -1
  197. package/dist/api/controllers/user.js +40 -4
  198. package/dist/api/controllers/webhook.js +5 -1
  199. package/dist/api/index.js +1 -1
  200. package/dist/api/routes/apikeys.js +1 -1
  201. package/dist/api/routes/application.js +1 -1
  202. package/dist/api/routes/automation.js +1 -1
  203. package/dist/api/routes/backup.js +1 -1
  204. package/dist/api/routes/cloud.js +1 -1
  205. package/dist/api/routes/component.js +1 -1
  206. package/dist/api/routes/datasource.js +1 -1
  207. package/dist/api/routes/deploy.js +1 -1
  208. package/dist/api/routes/dev.js +1 -1
  209. package/dist/api/routes/hosting.js +1 -1
  210. package/dist/api/routes/integration.js +1 -1
  211. package/dist/api/routes/layout.js +1 -1
  212. package/dist/api/routes/metadata.js +1 -1
  213. package/dist/api/routes/permission.js +1 -1
  214. package/dist/api/routes/query.js +6 -34
  215. package/dist/api/routes/role.js +1 -1
  216. package/dist/api/routes/routing.js +1 -1
  217. package/dist/api/routes/row.js +1 -1
  218. package/dist/api/routes/screen.js +1 -1
  219. package/dist/api/routes/script.js +1 -1
  220. package/dist/api/routes/static.js +1 -1
  221. package/dist/api/routes/table.js +1 -1
  222. package/dist/api/routes/templates.js +1 -1
  223. package/dist/api/routes/tests/utilities/TestFunctions.js +1 -1
  224. package/dist/api/routes/user.js +4 -2
  225. package/dist/api/routes/view.js +1 -1
  226. package/dist/api/routes/webhook.js +1 -1
  227. package/dist/app.js +1 -1
  228. package/dist/automations/bullboard.js +1 -1
  229. package/dist/automations/steps/executeQuery.js +9 -2
  230. package/dist/automations/steps/outgoingWebhook.js +2 -3
  231. package/dist/automations/utils.js +11 -1
  232. package/dist/constants/index.js +3 -3
  233. package/dist/constants/screens.js +1 -1
  234. package/dist/db/client.js +1 -1
  235. package/dist/db/utils.js +9 -1
  236. package/dist/definitions/datasource.js +6 -1
  237. package/dist/environment.js +1 -0
  238. package/dist/integrations/base/sqlTable.js +1 -1
  239. package/dist/integrations/dynamodb.js +19 -0
  240. package/dist/integrations/rest.js +259 -120
  241. package/dist/integrations/s3.js +17 -8
  242. package/dist/integrations/utils.js +40 -37
  243. package/dist/middleware/authorized.js +2 -2
  244. package/dist/middleware/builder.js +2 -2
  245. package/dist/middleware/currentapp.js +6 -6
  246. package/dist/middleware/usageQuota.js +1 -1
  247. package/dist/package.json +11 -4
  248. package/dist/tests/utilities/TestConfiguration.js +55 -8
  249. package/dist/tests/utilities/structures.js +2 -2
  250. package/dist/threads/automation.js +2 -2
  251. package/dist/threads/query.js +195 -38
  252. package/dist/threads/utils.js +62 -1
  253. package/dist/tsconfig.tsbuildinfo +1 -1
  254. package/dist/utilities/budibaseDir.js +1 -1
  255. package/dist/utilities/fileSystem/utilities.js +2 -1
  256. package/dist/utilities/global.js +5 -5
  257. package/dist/utilities/index.js +11 -1
  258. package/dist/utilities/redis.js +1 -1
  259. package/dist/utilities/rowProcessor/index.js +76 -0
  260. package/dist/utilities/security.js +2 -2
  261. package/dist/utilities/usageQuota.js +2 -2
  262. package/dist/utilities/workerRequests.js +3 -3
  263. package/package.json +12 -5
  264. package/scripts/replicateApp.js +1 -1
  265. package/src/api/controllers/apikeys.js +2 -2
  266. package/src/api/controllers/application.js +7 -4
  267. package/src/api/controllers/auth.js +1 -1
  268. package/src/api/controllers/automation.js +8 -4
  269. package/src/api/controllers/cloud.js +5 -2
  270. package/src/api/controllers/datasource.js +34 -0
  271. package/src/api/controllers/deploy/index.js +2 -2
  272. package/src/api/controllers/dev.js +2 -2
  273. package/src/api/controllers/hosting.js +2 -2
  274. package/src/api/controllers/permission.js +2 -2
  275. package/src/api/controllers/query/import/index.ts +85 -0
  276. package/src/api/controllers/query/import/sources/base/index.ts +87 -0
  277. package/src/api/controllers/query/import/sources/base/openapi.ts +24 -0
  278. package/src/api/controllers/query/import/sources/curl.ts +102 -0
  279. package/src/api/controllers/query/import/sources/openapi2.ts +163 -0
  280. package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +103 -0
  281. package/src/api/controllers/query/import/sources/tests/curl/data/delete.txt +1 -0
  282. package/src/api/controllers/query/import/sources/tests/curl/data/empty-body.txt +2 -0
  283. package/src/api/controllers/query/import/sources/tests/curl/data/get.txt +1 -0
  284. package/src/api/controllers/query/import/sources/tests/curl/data/headers.txt +3 -0
  285. package/src/api/controllers/query/import/sources/tests/curl/data/patch.txt +2 -0
  286. package/src/api/controllers/query/import/sources/tests/curl/data/path.txt +1 -0
  287. package/src/api/controllers/query/import/sources/tests/curl/data/post.txt +2 -0
  288. package/src/api/controllers/query/import/sources/tests/curl/data/put.txt +2 -0
  289. package/src/api/controllers/query/import/sources/tests/curl/data/query.txt +1 -0
  290. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  291. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.yaml +160 -0
  292. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  293. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.yaml +711 -0
  294. package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +238 -0
  295. package/src/api/controllers/query/import/tests/index.spec.js +109 -0
  296. package/src/api/controllers/query/index.js +196 -0
  297. package/src/api/controllers/query/validation.js +42 -0
  298. package/src/api/controllers/role.js +1 -1
  299. package/src/api/controllers/routing.js +1 -1
  300. package/src/api/controllers/row/internal.js +14 -5
  301. package/src/api/controllers/row/internalSearch.js +3 -2
  302. package/src/api/controllers/row/utils.js +11 -8
  303. package/src/api/controllers/screen.js +1 -1
  304. package/src/api/controllers/user.js +39 -3
  305. package/src/api/controllers/webhook.js +5 -1
  306. package/src/api/index.js +1 -1
  307. package/src/api/routes/apikeys.js +1 -1
  308. package/src/api/routes/application.js +1 -1
  309. package/src/api/routes/automation.js +1 -1
  310. package/src/api/routes/backup.js +1 -1
  311. package/src/api/routes/cloud.js +1 -1
  312. package/src/api/routes/component.js +1 -1
  313. package/src/api/routes/datasource.js +1 -1
  314. package/src/api/routes/deploy.js +1 -1
  315. package/src/api/routes/dev.js +1 -1
  316. package/src/api/routes/hosting.js +1 -1
  317. package/src/api/routes/integration.js +1 -1
  318. package/src/api/routes/layout.js +1 -1
  319. package/src/api/routes/metadata.js +1 -1
  320. package/src/api/routes/permission.js +4 -1
  321. package/src/api/routes/query.js +14 -36
  322. package/src/api/routes/role.js +1 -1
  323. package/src/api/routes/routing.js +1 -1
  324. package/src/api/routes/row.js +1 -1
  325. package/src/api/routes/screen.js +1 -1
  326. package/src/api/routes/script.js +1 -1
  327. package/src/api/routes/static.js +1 -1
  328. package/src/api/routes/table.js +1 -1
  329. package/src/api/routes/templates.js +1 -1
  330. package/src/api/routes/tests/datasource.spec.js +45 -0
  331. package/src/api/routes/tests/permissions.spec.js +1 -1
  332. package/src/api/routes/tests/query.spec.js +70 -1
  333. package/src/api/routes/tests/role.spec.js +2 -2
  334. package/src/api/routes/tests/routing.spec.js +1 -1
  335. package/src/api/routes/tests/user.spec.js +1 -1
  336. package/src/api/routes/tests/utilities/TestFunctions.js +1 -1
  337. package/src/api/routes/user.js +11 -1
  338. package/src/api/routes/view.js +1 -1
  339. package/src/api/routes/webhook.js +1 -1
  340. package/src/app.ts +1 -1
  341. package/src/automations/bullboard.js +1 -1
  342. package/src/automations/steps/executeQuery.js +10 -2
  343. package/src/automations/steps/outgoingWebhook.js +2 -3
  344. package/src/automations/utils.js +12 -1
  345. package/src/constants/index.js +3 -3
  346. package/src/constants/screens.js +1 -1
  347. package/src/db/client.js +1 -1
  348. package/src/db/utils.js +10 -1
  349. package/src/definitions/common.ts +2 -16
  350. package/src/definitions/datasource.ts +98 -1
  351. package/src/environment.js +1 -0
  352. package/src/integrations/base/IntegrationBase.ts +4 -4
  353. package/src/integrations/base/sqlTable.ts +1 -1
  354. package/src/integrations/dynamodb.ts +18 -0
  355. package/src/integrations/oracle.ts +1 -1
  356. package/src/integrations/rest.ts +311 -138
  357. package/src/integrations/s3.ts +18 -7
  358. package/src/integrations/tests/rest.spec.js +432 -21
  359. package/src/integrations/utils.ts +8 -7
  360. package/src/middleware/authorized.js +2 -2
  361. package/src/middleware/builder.js +2 -2
  362. package/src/middleware/currentapp.js +11 -7
  363. package/src/middleware/tests/authorized.spec.js +2 -2
  364. package/src/middleware/tests/currentapp.spec.js +35 -41
  365. package/src/middleware/tests/usageQuota.spec.js +1 -1
  366. package/src/middleware/usageQuota.js +1 -1
  367. package/src/tests/utilities/TestConfiguration.js +65 -8
  368. package/src/tests/utilities/structures.js +2 -2
  369. package/src/threads/automation.js +2 -2
  370. package/src/threads/query.js +204 -39
  371. package/src/threads/utils.js +66 -1
  372. package/src/utilities/budibaseDir.js +1 -1
  373. package/src/utilities/fileSystem/utilities.js +3 -1
  374. package/src/utilities/global.js +8 -5
  375. package/src/utilities/index.js +12 -1
  376. package/src/utilities/redis.js +1 -1
  377. package/src/utilities/rowProcessor/index.js +79 -0
  378. package/src/utilities/security.js +5 -2
  379. package/src/utilities/usageQuota.js +2 -2
  380. package/src/utilities/workerRequests.js +3 -3
  381. package/builder/assets/index.891d496c.js +0 -1316
  382. package/src/api/controllers/query.js +0 -158
@@ -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,20 +272,55 @@
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">33x</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-yes">33x</span>
284
- <span class="cline-any cline-yes">33x</span>
285
- <span class="cline-any cline-yes">33x</span>
286
- <span class="cline-any cline-yes">33x</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">33x</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>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-yes">34x</span>
318
+ <span class="cline-any cline-yes">34x</span>
319
+ <span class="cline-any cline-yes">34x</span>
320
+ <span class="cline-any cline-yes">34x</span>
321
+ <span class="cline-any cline-yes">34x</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-yes">34x</span>
289
324
  <span class="cline-any cline-yes">2x</span>
290
325
  <span class="cline-any cline-neutral">&nbsp;</span>
291
326
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -314,7 +349,7 @@
314
349
  <span class="cline-any cline-yes">2x</span>
315
350
  <span class="cline-any cline-neutral">&nbsp;</span>
316
351
  <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-yes">33x</span>
352
+ <span class="cline-any cline-yes">34x</span>
318
353
  <span class="cline-any cline-no">&nbsp;</span>
319
354
  <span class="cline-any cline-no">&nbsp;</span>
320
355
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -331,65 +366,98 @@
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>
334
- <span class="cline-any cline-yes">33x</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>
339
369
  <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>
342
370
  <span class="cline-any cline-neutral">&nbsp;</span>
343
371
  <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>
347
- <span class="cline-any cline-no">&nbsp;</span>
372
+ <span class="cline-any cline-yes">34x</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>
348
376
  <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-yes">6x</span>
378
+ <span class="cline-any cline-yes">5x</span>
349
379
  <span class="cline-any cline-neutral">&nbsp;</span>
350
380
  <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-yes">1x</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
383
  <span class="cline-any cline-no">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
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>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
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>
353
415
  <span class="cline-any cline-no">&nbsp;</span>
354
416
  <span class="cline-any cline-neutral">&nbsp;</span>
355
417
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">33x</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>
360
418
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">24x</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>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-yes">34x</span>
425
+ <span class="cline-any cline-yes">35x</span>
426
+ <span class="cline-any cline-yes">35x</span>
427
+ <span class="cline-any cline-yes">35x</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</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
- <span class="cline-any cline-yes">33x</span>
460
+ <span class="cline-any cline-yes">34x</span>
393
461
  <span class="cline-any cline-yes">1x</span>
394
462
  <span class="cline-any cline-neutral">&nbsp;</span>
395
463
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -411,13 +479,13 @@
411
479
  <span class="cline-any cline-yes">1x</span>
412
480
  <span class="cline-any cline-neutral">&nbsp;</span>
413
481
  <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-yes">33x</span>
482
+ <span class="cline-any cline-yes">34x</span>
415
483
  <span class="cline-any cline-yes">1x</span>
416
484
  <span class="cline-any cline-yes">1x</span>
417
485
  <span class="cline-any cline-neutral">&nbsp;</span>
418
486
  <span class="cline-any cline-neutral">&nbsp;</span>
419
487
  <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-yes">33x</span>
488
+ <span class="cline-any cline-yes">34x</span>
421
489
  <span class="cline-any cline-yes">1x</span>
422
490
  <span class="cline-any cline-yes">1x</span>
423
491
  <span class="cline-any cline-yes">1x</span>
@@ -443,7 +511,7 @@
443
511
  <span class="cline-any cline-no">&nbsp;</span>
444
512
  <span class="cline-any cline-neutral">&nbsp;</span>
445
513
  <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-yes">33x</span>
514
+ <span class="cline-any cline-yes">34x</span>
447
515
  <span class="cline-any cline-no">&nbsp;</span>
448
516
  <span class="cline-any cline-neutral">&nbsp;</span>
449
517
  <span class="cline-any cline-neutral">&nbsp;</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 = []
625
+ &nbsp;
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 }
554
656
  &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>
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 13:35:19 GMT+0000 (Coordinated Universal Time)
814
+ at Thu Jan 13 2022 15:16:54 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 13:35:19 GMT+0000 (Coordinated Universal Time)
433
+ at Thu Jan 13 2022 15:16:54 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 13:35:19 GMT+0000 (Coordinated Universal Time)
133
+ at Thu Jan 13 2022 15:16:54 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">71.61% </span>
26
+ <span class="strong">70.99% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>805/1124</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.79% </span>
33
+ <span class="strong">46.21% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>169/369</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">71.24% </span>
40
+ <span class="strong">69.12% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>109/153</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">71.8% </span>
47
+ <span class="strong">71.2% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>797/1110</span>
49
+ <span class='fraction'>769/1080</span>
50
50
  </div>
51
51
 
52
52
 
@@ -134,17 +134,17 @@
134
134
 
135
135
  <tr>
136
136
  <td class="file high" data-value="automation.js"><a href="automation.js.html">automation.js</a></td>
137
- <td data-value="89.47" class="pic high">
137
+ <td data-value="89.69" class="pic high">
138
138
  <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
139
139
  </td>
140
- <td data-value="89.47" class="pct high">89.47%</td>
141
- <td data-value="95" class="abs high">85/95</td>
140
+ <td data-value="89.69" class="pct high">89.69%</td>
141
+ <td data-value="97" class="abs high">87/97</td>
142
142
  <td data-value="71.87" class="pct medium">71.87%</td>
143
143
  <td data-value="32" class="abs medium">23/32</td>
144
144
  <td data-value="92.85" class="pct high">92.85%</td>
145
145
  <td data-value="14" class="abs high">13/14</td>
146
- <td data-value="89.36" class="pct high">89.36%</td>
147
- <td data-value="94" class="abs high">84/94</td>
146
+ <td data-value="89.58" class="pct high">89.58%</td>
147
+ <td data-value="96" class="abs high">86/96</td>
148
148
  </tr>
149
149
 
150
150
  <tr>
@@ -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>
@@ -297,21 +297,6 @@
297
297
  <td data-value="78" class="abs high">77/78</td>
298
298
  </tr>
299
299
 
300
- <tr>
301
- <td class="file high" data-value="query.js"><a href="query.js.html">query.js</a></td>
302
- <td data-value="84.5" class="pic high">
303
- <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
304
- </td>
305
- <td data-value="84.5" class="pct high">84.5%</td>
306
- <td data-value="71" class="abs high">60/71</td>
307
- <td data-value="48" class="pct low">48%</td>
308
- <td data-value="25" class="abs low">12/25</td>
309
- <td data-value="100" class="pct high">100%</td>
310
- <td data-value="9" class="abs high">9/9</td>
311
- <td data-value="84.28" class="pct high">84.28%</td>
312
- <td data-value="70" class="abs high">59/70</td>
313
- </tr>
314
-
315
300
  <tr>
316
301
  <td class="file high" data-value="role.js"><a href="role.js.html">role.js</a></td>
317
302
  <td data-value="87.03" class="pic high">
@@ -389,32 +374,32 @@
389
374
 
390
375
  <tr>
391
376
  <td class="file low" data-value="user.js"><a href="user.js.html">user.js</a></td>
392
- <td data-value="37.37" class="pic low">
393
- <div class="chart"><div class="cover-fill" style="width: 37%"></div><div class="cover-empty" style="width: 63%"></div></div>
377
+ <td data-value="32.5" class="pic low">
378
+ <div class="chart"><div class="cover-fill" style="width: 32%"></div><div class="cover-empty" style="width: 68%"></div></div>
394
379
  </td>
395
- <td data-value="37.37" class="pct low">37.37%</td>
396
- <td data-value="99" class="abs low">37/99</td>
380
+ <td data-value="32.5" class="pct low">32.5%</td>
381
+ <td data-value="120" class="abs low">39/120</td>
397
382
  <td data-value="0" class="pct low">0%</td>
398
- <td data-value="33" class="abs low">0/33</td>
399
- <td data-value="35.71" class="pct low">35.71%</td>
400
- <td data-value="14" class="abs low">5/14</td>
401
- <td data-value="37.75" class="pct low">37.75%</td>
402
- <td data-value="98" class="abs low">37/98</td>
383
+ <td data-value="37" class="abs low">0/37</td>
384
+ <td data-value="31.25" class="pct low">31.25%</td>
385
+ <td data-value="16" class="abs low">5/16</td>
386
+ <td data-value="32.77" class="pct low">32.77%</td>
387
+ <td data-value="119" class="abs low">39/119</td>
403
388
  </tr>
404
389
 
405
390
  <tr>
406
391
  <td class="file high" data-value="webhook.js"><a href="webhook.js.html">webhook.js</a></td>
407
- <td data-value="91.22" class="pic high">
392
+ <td data-value="91.37" class="pic high">
408
393
  <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
409
394
  </td>
410
- <td data-value="91.22" class="pct high">91.22%</td>
411
- <td data-value="57" class="abs high">52/57</td>
395
+ <td data-value="91.37" class="pct high">91.37%</td>
396
+ <td data-value="58" class="abs high">53/58</td>
412
397
  <td data-value="40" class="pct low">40%</td>
413
398
  <td data-value="10" class="abs low">4/10</td>
414
399
  <td data-value="100" class="pct high">100%</td>
415
400
  <td data-value="7" class="abs high">7/7</td>
416
- <td data-value="91.07" class="pct high">91.07%</td>
417
- <td data-value="56" class="abs high">51/56</td>
401
+ <td data-value="91.22" class="pct high">91.22%</td>
402
+ <td data-value="57" class="abs high">52/57</td>
418
403
  </tr>
419
404
 
420
405
  </tbody>
@@ -425,7 +410,7 @@
425
410
  <div class='footer quiet pad2 space-top1 center small'>
426
411
  Code coverage generated by
427
412
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
428
- at Fri Dec 31 2021 13:35:19 GMT+0000 (Coordinated Universal Time)
413
+ at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
429
414
  </div>
430
415
  </div>
431
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 13:35:19 GMT+0000 (Coordinated Universal Time)
103
+ at Thu Jan 13 2022 15:16:54 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 13:35:19 GMT+0000 (Coordinated Universal Time)
220
+ at Thu Jan 13 2022 15:16:54 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 13:35:19 GMT+0000 (Coordinated Universal Time)
205
+ at Thu Jan 13 2022 15:16:54 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../../prettify.js"></script>