@budibase/server 1.3.19-alpha.1 → 1.3.19

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 (302) hide show
  1. package/__mocks__/mongodb.ts +1 -1
  2. package/builder/assets/index.9ce4f8c5.css +6 -0
  3. package/builder/assets/index.a1f7532b.js +876 -0
  4. package/builder/assets/vendor.5e1fe644.css +1 -0
  5. package/builder/assets/vendor.67dbd8fa.js +248 -0
  6. package/builder/index.html +4 -2
  7. package/coverage/clover.xml +388 -441
  8. package/coverage/coverage-final.json +20 -20
  9. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/auth.js.html +8 -41
  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 +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +11 -68
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +34 -73
  16. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/index.html +46 -46
  18. package/coverage/lcov-report/api/controllers/integration.js.html +6 -6
  19. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  24. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/external.js.html +2 -2
  28. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/screen.js.html +12 -207
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.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/templates.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  47. package/coverage/lcov-report/api/index.html +1 -1
  48. package/coverage/lcov-report/api/index.js.html +13 -13
  49. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/index.html +1 -1
  60. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/table.js.html +2 -2
  71. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/utils/index.html +5 -5
  74. package/coverage/lcov-report/api/routes/utils/validators.js.html +6 -9
  75. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  77. package/coverage/lcov-report/automations/actions.js.html +1 -1
  78. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  79. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  80. package/coverage/lcov-report/automations/index.html +1 -1
  81. package/coverage/lcov-report/automations/index.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/index.html +1 -1
  89. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  108. package/coverage/lcov-report/constants/index.html +1 -1
  109. package/coverage/lcov-report/constants/index.js.html +1 -1
  110. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  111. package/coverage/lcov-report/constants/screens.js.html +1 -1
  112. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  113. package/coverage/lcov-report/db/index.html +18 -18
  114. package/coverage/lcov-report/db/index.js.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  116. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  117. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  118. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  119. package/coverage/lcov-report/db/newid.js.html +2 -2
  120. package/coverage/lcov-report/db/utils.js.html +20 -56
  121. package/coverage/lcov-report/events/AutomationEmitter.js.html +3 -3
  122. package/coverage/lcov-report/events/index.html +1 -1
  123. package/coverage/lcov-report/events/index.js.html +1 -1
  124. package/coverage/lcov-report/events/utils.js.html +1 -1
  125. package/coverage/lcov-report/index.html +37 -37
  126. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  127. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  128. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  129. package/coverage/lcov-report/middleware/builder.js.html +12 -12
  130. package/coverage/lcov-report/middleware/currentapp.js.html +40 -46
  131. package/coverage/lcov-report/middleware/index.html +15 -15
  132. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  133. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  134. package/coverage/lcov-report/middleware/resourceId.js.html +7 -7
  135. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  136. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  137. package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
  138. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  139. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  140. package/coverage/lcov-report/utilities/global.js.html +16 -16
  141. package/coverage/lcov-report/utilities/index.html +1 -1
  142. package/coverage/lcov-report/utilities/index.js.html +24 -24
  143. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  144. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  145. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  146. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  147. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  148. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  149. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  150. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  151. package/coverage/lcov-report/utilities/security.js.html +2 -2
  152. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  153. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  154. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  156. package/coverage/lcov-report/utilities/users.js.html +1 -1
  157. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  158. package/coverage/lcov.info +667 -780
  159. package/dist/api/controllers/application.js +5 -5
  160. package/dist/api/controllers/auth.js +0 -9
  161. package/dist/api/controllers/component.js +1 -14
  162. package/dist/api/controllers/datasource.js +8 -21
  163. package/dist/api/controllers/deploy/index.js +8 -1
  164. package/dist/api/controllers/integration.js +4 -4
  165. package/dist/api/controllers/row/external.js +1 -1
  166. package/dist/api/controllers/screen.js +2 -52
  167. package/dist/api/controllers/static/index.js +0 -1
  168. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -10
  169. package/dist/api/controllers/static/templates/preview.hbs +1 -5
  170. package/dist/api/index.js +1 -1
  171. package/dist/api/routes/application.js +2 -3
  172. package/dist/api/routes/index.js +0 -2
  173. package/dist/api/routes/public/tables.js +1 -1
  174. package/dist/api/routes/table.js +1 -1
  175. package/dist/api/routes/utils/validators.js +1 -2
  176. package/dist/app.js +0 -11
  177. package/dist/db/utils.js +1 -10
  178. package/dist/environment.js +0 -1
  179. package/dist/integrations/airtable.js +129 -126
  180. package/dist/integrations/arangodb.js +89 -86
  181. package/dist/integrations/base/query.js +2 -2
  182. package/dist/integrations/base/sqlTable.js +1 -3
  183. package/dist/integrations/couchdb.js +83 -80
  184. package/dist/integrations/dynamodb.js +164 -161
  185. package/dist/integrations/elasticsearch.js +138 -135
  186. package/dist/integrations/firebase.js +157 -154
  187. package/dist/integrations/googlesheets.js +327 -323
  188. package/dist/integrations/index.js +51 -99
  189. package/dist/integrations/microsoftSqlServer.js +243 -240
  190. package/dist/integrations/mongodb.js +242 -239
  191. package/dist/integrations/mysql.js +219 -215
  192. package/dist/integrations/oracle.js +322 -318
  193. package/dist/integrations/postgres.js +265 -262
  194. package/dist/integrations/redis.js +139 -134
  195. package/dist/integrations/rest.js +292 -289
  196. package/dist/integrations/s3.js +64 -61
  197. package/dist/integrations/snowflake.js +86 -83
  198. package/dist/middleware/currentapp.js +0 -2
  199. package/dist/migrations/functions/backfill/global.js +3 -0
  200. package/dist/migrations/functions/developerQuota.js +49 -0
  201. package/dist/{api/routes/plugin.js → migrations/functions/publishedAppsQuota.js} +21 -13
  202. package/dist/{api/controllers/plugin/url.js → migrations/functions/usageQuotas/syncDevelopers.js} +13 -13
  203. package/dist/{api/controllers/plugin/file.js → migrations/functions/usageQuotas/syncPublishedApps.js} +15 -13
  204. package/dist/migrations/index.js +10 -0
  205. package/dist/package.json +6 -9
  206. package/dist/tests/utilities/TestConfiguration.js +1 -1
  207. package/dist/threads/query.js +2 -2
  208. package/dist/tsconfig.build.tsbuildinfo +1 -1
  209. package/dist/utilities/fileSystem/index.js +1 -110
  210. package/package.json +7 -10
  211. package/scripts/dev/manage.js +0 -1
  212. package/scripts/localdomain.js +1 -3
  213. package/specs/openapi.json +3 -3
  214. package/specs/openapi.yaml +3 -3
  215. package/specs/resources/query.js +1 -1
  216. package/src/api/controllers/application.ts +2 -1
  217. package/src/api/controllers/auth.js +0 -11
  218. package/src/api/controllers/component.js +2 -21
  219. package/src/api/controllers/datasource.js +8 -21
  220. package/src/api/controllers/deploy/index.ts +6 -1
  221. package/src/api/controllers/integration.js +4 -4
  222. package/src/api/controllers/row/external.js +1 -1
  223. package/src/api/controllers/screen.js +1 -66
  224. package/src/api/controllers/static/index.ts +1 -1
  225. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -10
  226. package/src/api/controllers/static/templates/preview.hbs +1 -5
  227. package/src/api/index.js +1 -1
  228. package/src/api/routes/application.ts +2 -13
  229. package/src/api/routes/index.ts +0 -2
  230. package/src/api/routes/public/tables.ts +1 -1
  231. package/src/api/routes/table.js +1 -1
  232. package/src/api/routes/tests/query.spec.js +25 -8
  233. package/src/api/routes/tests/user.spec.js +2 -0
  234. package/src/api/routes/utils/validators.js +1 -2
  235. package/src/app.ts +0 -14
  236. package/src/db/utils.js +0 -12
  237. package/src/definitions/openapi.ts +3 -3
  238. package/src/environment.js +0 -1
  239. package/src/integrations/airtable.ts +118 -116
  240. package/src/integrations/arangodb.ts +89 -87
  241. package/src/integrations/base/query.ts +2 -2
  242. package/src/integrations/base/sqlTable.ts +1 -3
  243. package/src/integrations/couchdb.ts +89 -83
  244. package/src/integrations/dynamodb.ts +175 -173
  245. package/src/integrations/elasticsearch.ts +122 -120
  246. package/src/integrations/firebase.ts +159 -157
  247. package/src/integrations/googlesheets.ts +338 -328
  248. package/src/integrations/index.ts +21 -64
  249. package/src/integrations/microsoftSqlServer.ts +251 -249
  250. package/src/integrations/mongodb.ts +258 -261
  251. package/src/integrations/mysql.ts +234 -229
  252. package/src/integrations/oracle.ts +380 -373
  253. package/src/integrations/postgres.ts +268 -264
  254. package/src/integrations/redis.ts +132 -128
  255. package/src/integrations/rest.ts +329 -324
  256. package/src/integrations/s3.ts +71 -68
  257. package/src/integrations/snowflake.ts +82 -80
  258. package/src/integrations/tests/{airtable.spec.ts → airtable.spec.js} +18 -21
  259. package/src/integrations/tests/{arangodb.spec.ts → arangodb.spec.js} +9 -12
  260. package/src/integrations/tests/{couchdb.spec.ts → couchdb.spec.js} +27 -33
  261. package/src/integrations/tests/{dynamodb.spec.ts → dynamodb.spec.js} +41 -45
  262. package/src/integrations/tests/{elasticsearch.spec.ts → elasticsearch.spec.js} +21 -22
  263. package/src/integrations/tests/{firebase.spec.ts → firebase.spec.js} +28 -33
  264. package/src/integrations/tests/{microsoftSqlServer.spec.ts → microsoftSqlServer.spec.js} +11 -12
  265. package/src/integrations/tests/{mongo.spec.ts → mongo.spec.js} +35 -46
  266. package/src/integrations/tests/{mysql.spec.ts → mysql.spec.js} +15 -17
  267. package/src/integrations/tests/{oracle.spec.ts → oracle.spec.js} +17 -19
  268. package/src/integrations/tests/{postgres.spec.ts → postgres.spec.js} +17 -19
  269. package/src/integrations/tests/{redis.spec.ts → redis.spec.js} +18 -27
  270. package/src/integrations/tests/{rest.spec.ts → rest.spec.js} +14 -22
  271. package/src/integrations/tests/{s3.spec.ts → s3.spec.js} +8 -10
  272. package/src/integrations/tests/{sql.spec.ts → sql.spec.js} +177 -228
  273. package/src/middleware/currentapp.js +0 -2
  274. package/src/migrations/functions/backfill/global.ts +3 -0
  275. package/src/migrations/functions/developerQuota.ts +15 -0
  276. package/src/migrations/functions/publishedAppsQuota.ts +13 -0
  277. package/src/migrations/functions/usageQuotas/syncDevelopers.ts +19 -0
  278. package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +21 -0
  279. package/src/migrations/index.ts +16 -0
  280. package/src/module.d.ts +0 -2
  281. package/src/tests/utilities/TestConfiguration.js +1 -1
  282. package/src/threads/query.ts +2 -2
  283. package/src/utilities/fileSystem/index.js +0 -129
  284. package/builder/assets/index.1709d1b3.js +0 -1005
  285. package/builder/assets/index.8f621053.css +0 -6
  286. package/dist/api/controllers/plugin/github.js +0 -69
  287. package/dist/api/controllers/plugin/index.js +0 -200
  288. package/dist/api/controllers/plugin/npm.js +0 -58
  289. package/dist/api/controllers/plugin/uploaders.js +0 -11
  290. package/dist/api/controllers/plugin/utils.js +0 -26
  291. package/dist/watch.js +0 -77
  292. package/dist/websocket.js +0 -22
  293. package/src/api/controllers/plugin/file.ts +0 -15
  294. package/src/api/controllers/plugin/github.ts +0 -75
  295. package/src/api/controllers/plugin/index.ts +0 -215
  296. package/src/api/controllers/plugin/npm.ts +0 -56
  297. package/src/api/controllers/plugin/uploaders.ts +0 -4
  298. package/src/api/controllers/plugin/url.ts +0 -12
  299. package/src/api/controllers/plugin/utils.ts +0 -19
  300. package/src/api/routes/plugin.ts +0 -14
  301. package/src/watch.ts +0 -38
  302. package/src/websocket.ts +0 -26
@@ -232,7 +232,7 @@ exports.update = async function (ctx) {
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at Thu Sep 15 2022 12:45:23 GMT+0000 (Coordinated Universal Time)
235
+ at Thu Sep 15 2022 16:39:55 GMT+0000 (Coordinated Universal Time)
236
236
  </div>
237
237
  <script src="../../prettify.js"></script>
238
238
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.37% </span>
26
+ <span class="strong">82.14% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>27/32</span>
28
+ <span class='fraction'>23/28</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">50% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/10</span>
35
+ <span class='fraction'>4/8</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
42
+ <span class='fraction'>1/1</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">84.37% </span>
47
+ <span class="strong">82.14% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>27/32</span>
49
+ <span class='fraction'>23/28</span>
50
50
  </div>
51
51
 
52
52
 
@@ -121,32 +121,12 @@
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
122
  <a name='L57'></a><a href='#L57'>57</a>
123
123
  <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">28x</span>
124
+ <a name='L59'></a><a href='#L59'>59</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">28x</span>
136
125
  <span class="cline-any cline-yes">28x</span>
137
126
  <span class="cline-any cline-yes">28x</span>
138
127
  <span class="cline-any cline-yes">28x</span>
139
128
  <span class="cline-any cline-yes">28x</span>
140
129
  <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-yes">28x</span>
145
- <span class="cline-any cline-yes">1x</span>
146
- <span class="cline-any cline-yes">1x</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-neutral">&nbsp;</span>
150
130
  <span class="cline-any cline-yes">28x</span>
151
131
  <span class="cline-any cline-yes">1x</span>
152
132
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -199,23 +179,12 @@
199
179
  <span class="cline-any cline-no">&nbsp;</span>
200
180
  <span class="cline-any cline-neutral">&nbsp;</span>
201
181
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-yes">1x</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
182
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { outputProcessing } = require("../../utilities/rowProcessor")
205
183
  const { InternalTables } = require("../../db/utils")
206
184
  const { getFullUser } = require("../../utilities/users")
207
185
  const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
208
186
  const { getAppDB, getAppId } = require("@budibase/backend-core/context")
209
187
  &nbsp;
210
- /**
211
- * Add the attributes that are session based to the current user.
212
- */
213
- const addSessionAttributesToUser = ctx =&gt; {
214
- <span class="missing-if-branch" title="else path not taken" >E</span>if (ctx.user) {
215
- ctx.body.license = ctx.user.license
216
- }
217
- }
218
- &nbsp;
219
188
  exports.fetchSelf = async ctx =&gt; {
220
189
  let userId = ctx.user.userId || <span class="branch-1 cbranch-no" title="branch not covered" >ctx.user._id</span>
221
190
  /* istanbul ignore next */
@@ -267,8 +236,6 @@ exports.fetchSelf = async ctx =&gt; {
267
236
  } else <span class="missing-if-branch" title="else path not taken" >E</span>{
268
237
  <span class="cstat-no" title="statement not covered" > ctx.body = user</span>
269
238
  }
270
- &nbsp;
271
- addSessionAttributesToUser(ctx)
272
239
  }
273
240
  &nbsp;</pre></td></tr></table></pre>
274
241
 
@@ -277,7 +244,7 @@ exports.fetchSelf = async ctx =&gt; {
277
244
  <div class='footer quiet pad2 space-top1 center small'>
278
245
  Code coverage generated by
279
246
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
280
- at Thu Sep 15 2022 12:45:23 GMT+0000 (Coordinated Universal Time)
247
+ at Thu Sep 15 2022 16:39:55 GMT+0000 (Coordinated Universal Time)
281
248
  </div>
282
249
  <script src="../../prettify.js"></script>
283
250
  <script>
@@ -925,7 +925,7 @@ exports.test = async function (ctx) {
925
925
  <div class='footer quiet pad2 space-top1 center small'>
926
926
  Code coverage generated by
927
927
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
928
- at Thu Sep 15 2022 12:45:23 GMT+0000 (Coordinated Universal Time)
928
+ at Thu Sep 15 2022 16:39:55 GMT+0000 (Coordinated Universal Time)
929
929
  </div>
930
930
  <script src="../../prettify.js"></script>
931
931
  <script>
@@ -127,7 +127,7 @@ exports.exportAppDump = async function (ctx) {
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at Thu Sep 15 2022 12:45:23 GMT+0000 (Coordinated Universal Time)
130
+ at Thu Sep 15 2022 16:39:55 GMT+0000 (Coordinated Universal Time)
131
131
  </div>
132
132
  <script src="../../prettify.js"></script>
133
133
  <script>
@@ -409,7 +409,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
409
409
  <div class='footer quiet pad2 space-top1 center small'>
410
410
  Code coverage generated by
411
411
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
412
- at Thu Sep 15 2022 12:45:23 GMT+0000 (Coordinated Universal Time)
412
+ at Thu Sep 15 2022 16:39:55 GMT+0000 (Coordinated Universal Time)
413
413
  </div>
414
414
  <script src="../../prettify.js"></script>
415
415
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.48% </span>
26
+ <span class="strong">94.73% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>22/27</span>
28
+ <span class='fraction'>18/19</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">40% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/5</span>
42
+ <span class='fraction'>2/2</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">81.48% </span>
47
+ <span class="strong">94.73% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>22/27</span>
49
+ <span class='fraction'>18/19</span>
50
50
  </div>
51
51
 
52
52
 
@@ -101,27 +101,7 @@
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
102
  <a name='L37'></a><a href='#L37'>37</a>
103
103
  <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">28x</span>
124
- <span class="cline-any cline-yes">28x</span>
104
+ <a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">28x</span>
125
105
  <span class="cline-any cline-yes">28x</span>
126
106
  <span class="cline-any cline-yes">28x</span>
127
107
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -133,6 +113,7 @@
133
113
  <span class="cline-any cline-yes">1x</span>
134
114
  <span class="cline-any cline-neutral">&nbsp;</span>
135
115
  <span class="cline-any cline-yes">1x</span>
116
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
117
  <span class="cline-any cline-yes">1x</span>
137
118
  <span class="cline-any cline-neutral">&nbsp;</span>
138
119
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -153,34 +134,14 @@
153
134
  <span class="cline-any cline-neutral">&nbsp;</span>
154
135
  <span class="cline-any cline-neutral">&nbsp;</span>
155
136
  <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-yes">1x</span>
159
- <span class="cline-any cline-yes">1x</span>
160
- <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-yes">1x</span>
165
- <span class="cline-any cline-no">&nbsp;</span>
166
- <span class="cline-any cline-no">&nbsp;</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-no">&nbsp;</span>
169
- <span class="cline-any cline-no">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
137
  <span class="cline-any cline-yes">1x</span>
176
138
  <span class="cline-any cline-neutral">&nbsp;</span>
177
139
  <span class="cline-any cline-no">&nbsp;</span>
178
140
  <span class="cline-any cline-neutral">&nbsp;</span>
179
141
  <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { DocumentType, getPluginParams } = require("../../db/utils")
142
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { DocumentType } = require("../../db/utils")
181
143
  const { getComponentLibraryManifest } = require("../../utilities/fileSystem")
182
144
  const { getAppDB } = require("@budibase/backend-core/context")
183
- const { getGlobalDB } = require("@budibase/backend-core/tenancy")
184
145
  &nbsp;
185
146
  exports.fetchAppComponentDefinitions = async function (ctx) {
186
147
  try {
@@ -190,6 +151,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
190
151
  let componentManifests = await Promise.all(
191
152
  app.componentLibraries.map(async library =&gt; {
192
153
  let manifest = await getComponentLibraryManifest(library)
154
+ &nbsp;
193
155
  return {
194
156
  manifest,
195
157
  library,
@@ -210,25 +172,6 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
210
172
  }
211
173
  }
212
174
  }
213
- &nbsp;
214
- // Add custom components
215
- const globalDB = getGlobalDB()
216
- const response = await globalDB.allDocs(
217
- getPluginParams(null, {
218
- include_docs: true,
219
- })
220
- )
221
- response.rows
222
- .map(<span class="fstat-no" title="function not covered" >ro</span>w =&gt; <span class="cstat-no" title="statement not covered" >row.doc)</span>
223
- .filter(<span class="fstat-no" title="function not covered" >pl</span>ugin =&gt; <span class="cstat-no" title="statement not covered" >plugin.schema.type === "component")</span>
224
- .forEach(<span class="fstat-no" title="function not covered" >pl</span>ugin =&gt; {
225
- const fullComponentName = <span class="cstat-no" title="statement not covered" >`plugin/${plugin.name}`</span>
226
- <span class="cstat-no" title="statement not covered" > definitions[fullComponentName] = {</span>
227
- component: fullComponentName,
228
- ...plugin.schema.schema,
229
- }
230
- })
231
- &nbsp;
232
175
  ctx.body = definitions
233
176
  } catch (err) {
234
177
  <span class="cstat-no" title="statement not covered" > console.error(`component-definitions=failed`, err)</span>
@@ -241,7 +184,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
241
184
  <div class='footer quiet pad2 space-top1 center small'>
242
185
  Code coverage generated by
243
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
244
- at Thu Sep 15 2022 12:45:23 GMT+0000 (Coordinated Universal Time)
187
+ at Thu Sep 15 2022 16:39:55 GMT+0000 (Coordinated Universal Time)
245
188
  </div>
246
189
  <script src="../../prettify.js"></script>
247
190
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">58.45% </span>
26
+ <span class="strong">61.48% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>83/142</span>
28
+ <span class='fraction'>83/135</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">32.78% </span>
33
+ <span class="strong">37.73% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>20/61</span>
35
+ <span class='fraction'>20/53</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">55% </span>
40
+ <span class="strong">57.89% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/20</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">58.15% </span>
47
+ <span class="strong">61.19% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>82/141</span>
49
+ <span class='fraction'>82/134</span>
50
50
  </div>
51
51
 
52
52
 
@@ -326,20 +326,7 @@
326
326
  <a name='L261'></a><a href='#L261'>261</a>
327
327
  <a name='L262'></a><a href='#L262'>262</a>
328
328
  <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
329
+ <a name='L264'></a><a href='#L264'>264</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
343
330
  <span class="cline-any cline-neutral">&nbsp;</span>
344
331
  <span class="cline-any cline-neutral">&nbsp;</span>
345
332
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -391,23 +378,9 @@
391
378
  <span class="cline-any cline-yes">45x</span>
392
379
  <span class="cline-any cline-no">&nbsp;</span>
393
380
  <span class="cline-any cline-no">&nbsp;</span>
394
- <span class="cline-any cline-no">&nbsp;</span>
395
381
  <span class="cline-any cline-neutral">&nbsp;</span>
396
382
  <span class="cline-any cline-no">&nbsp;</span>
397
383
  <span class="cline-any cline-no">&nbsp;</span>
398
- <span class="cline-any cline-no">&nbsp;</span>
399
- <span class="cline-any cline-no">&nbsp;</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-no">&nbsp;</span>
402
- <span class="cline-any cline-no">&nbsp;</span>
403
- <span class="cline-any cline-no">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-no">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-no">&nbsp;</span>
410
- <span class="cline-any cline-neutral">&nbsp;</span>
411
384
  <span class="cline-any cline-neutral">&nbsp;</span>
412
385
  <span class="cline-any cline-no">&nbsp;</span>
413
386
  <span class="cline-any cline-no">&nbsp;</span>
@@ -481,40 +454,40 @@
481
454
  <span class="cline-any cline-neutral">&nbsp;</span>
482
455
  <span class="cline-any cline-neutral">&nbsp;</span>
483
456
  <span class="cline-any cline-yes">45x</span>
484
- <span class="cline-any cline-yes">64x</span>
485
- <span class="cline-any cline-yes">64x</span>
486
- <span class="cline-any cline-yes">64x</span>
457
+ <span class="cline-any cline-yes">66x</span>
458
+ <span class="cline-any cline-yes">66x</span>
459
+ <span class="cline-any cline-yes">66x</span>
487
460
  <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-yes">64x</span>
461
+ <span class="cline-any cline-yes">66x</span>
489
462
  <span class="cline-any cline-neutral">&nbsp;</span>
490
463
  <span class="cline-any cline-neutral">&nbsp;</span>
491
464
  <span class="cline-any cline-neutral">&nbsp;</span>
492
465
  <span class="cline-any cline-neutral">&nbsp;</span>
493
466
  <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-yes">64x</span>
495
- <span class="cline-any cline-yes">64x</span>
467
+ <span class="cline-any cline-yes">66x</span>
468
+ <span class="cline-any cline-yes">66x</span>
496
469
  <span class="cline-any cline-no">&nbsp;</span>
497
470
  <span class="cline-any cline-no">&nbsp;</span>
498
471
  <span class="cline-any cline-no">&nbsp;</span>
499
472
  <span class="cline-any cline-neutral">&nbsp;</span>
500
473
  <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-yes">64x</span>
502
- <span class="cline-any cline-yes">64x</span>
503
- <span class="cline-any cline-yes">64x</span>
474
+ <span class="cline-any cline-yes">66x</span>
475
+ <span class="cline-any cline-yes">66x</span>
476
+ <span class="cline-any cline-yes">66x</span>
504
477
  <span class="cline-any cline-neutral">&nbsp;</span>
505
478
  <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-yes">64x</span>
507
- <span class="cline-any cline-yes">64x</span>
508
- <span class="cline-any cline-yes">63x</span>
479
+ <span class="cline-any cline-yes">66x</span>
480
+ <span class="cline-any cline-yes">66x</span>
481
+ <span class="cline-any cline-yes">66x</span>
509
482
  <span class="cline-any cline-no">&nbsp;</span>
510
483
  <span class="cline-any cline-neutral">&nbsp;</span>
511
484
  <span class="cline-any cline-neutral">&nbsp;</span>
512
485
  <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-yes">63x</span>
514
- <span class="cline-any cline-yes">63x</span>
486
+ <span class="cline-any cline-yes">66x</span>
487
+ <span class="cline-any cline-yes">66x</span>
515
488
  <span class="cline-any cline-no">&nbsp;</span>
516
489
  <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-yes">63x</span>
490
+ <span class="cline-any cline-yes">66x</span>
518
491
  <span class="cline-any cline-neutral">&nbsp;</span>
519
492
  <span class="cline-any cline-neutral">&nbsp;</span>
520
493
  <span class="cline-any cline-yes">45x</span>
@@ -578,6 +551,7 @@
578
551
  <span class="cline-any cline-neutral">&nbsp;</span>
579
552
  <span class="cline-any cline-no">&nbsp;</span>
580
553
  <span class="cline-any cline-no">&nbsp;</span>
554
+ <span class="cline-any cline-no">&nbsp;</span>
581
555
  <span class="cline-any cline-neutral">&nbsp;</span>
582
556
  <span class="cline-any cline-neutral">&nbsp;</span>
583
557
  <span class="cline-any cline-no">&nbsp;</span>
@@ -624,7 +598,7 @@
624
598
  getTableParams,
625
599
  } = require("../../db/utils")
626
600
  const { BuildSchemaErrors, InvalidColumns } = require("../../constants")
627
- const { getIntegration } = require("../../integrations")
601
+ const { integrations } = require("../../integrations")
628
602
  const { getDatasourceAndQuery } = require("./row/utils")
629
603
  const { invalidateDynamicVariables } = require("../../threads/utils")
630
604
  const { getAppDB } = require("@budibase/backend-core/context")
@@ -667,23 +641,9 @@ exports.fetch = async function (ctx) {
667
641
  exports.buildSchemaFromDb = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
668
642
  const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
669
643
  const datasource = <span class="cstat-no" title="statement not covered" >await db.get(ctx.params.datasourceId)</span>
670
- const tablesFilter = <span class="cstat-no" title="statement not covered" >ctx.request.body.tablesFilter</span>
671
644
  &nbsp;
672
- let { tables, error } = <span class="cstat-no" title="statement not covered" >await buildSchemaHelper(datasource)</span>
673
- <span class="cstat-no" title="statement not covered" > if (tablesFilter) {</span>
674
- <span class="cstat-no" title="statement not covered" > if (!datasource.entities) {</span>
675
- <span class="cstat-no" title="statement not covered" > datasource.entities = {}</span>
676
- }
677
- <span class="cstat-no" title="statement not covered" > for (let key in tables) {</span>
678
- <span class="cstat-no" title="statement not covered" > if (</span>
679
- tablesFilter.some(<span class="fstat-no" title="function not covered" >fi</span>lter =&gt; <span class="cstat-no" title="statement not covered" >filter.toLowerCase() === key.toLowerCase())</span>
680
- ) {
681
- <span class="cstat-no" title="statement not covered" > datasource.entities[key] = tables[key]</span>
682
- }
683
- }
684
- } else {
685
- <span class="cstat-no" title="statement not covered" > datasource.entities = tables</span>
686
- }
645
+ const { tables, error } = <span class="cstat-no" title="statement not covered" >await buildSchemaHelper(datasource)</span>
646
+ <span class="cstat-no" title="statement not covered" > datasource.entities = tables</span>
687
647
  &nbsp;
688
648
  const dbResp = <span class="cstat-no" title="statement not covered" >await db.put(datasource)</span>
689
649
  <span class="cstat-no" title="statement not covered" > datasource._rev = dbResp.rev</span>
@@ -745,7 +705,7 @@ exports.update = async function (ctx) {
745
705
  &nbsp;
746
706
  // Drain connection pools when configuration is changed
747
707
  <span class="missing-if-branch" title="else path not taken" >E</span>if (datasource.source) {
748
- const source = await getIntegration(datasource.source)
708
+ const source = integrations[datasource.source]
749
709
  <span class="missing-if-branch" title="if path not taken" >I</span>if (source &amp;&amp; source.pool) {
750
710
  <span class="cstat-no" title="statement not covered" > await source.pool.end()</span>
751
711
  }
@@ -780,7 +740,7 @@ exports.save = async function (ctx) {
780
740
  &nbsp;
781
741
  // Drain connection pools when configuration is changed
782
742
  <span class="missing-if-branch" title="else path not taken" >E</span>if (datasource.source) {
783
- const source = await getIntegration(datasource.source)
743
+ const source = integrations[datasource.source]
784
744
  <span class="missing-if-branch" title="if path not taken" >I</span>if (source &amp;&amp; source.pool) {
785
745
  <span class="cstat-no" title="statement not covered" > await source.pool.end()</span>
786
746
  }
@@ -849,14 +809,15 @@ function <span class="fstat-no" title="function not covered" >updateError(</span
849
809
  }
850
810
  &nbsp;
851
811
  const buildSchemaHelper = <span class="fstat-no" title="function not covered" >as</span>ync datasource =&gt; {
852
- const Connector = <span class="cstat-no" title="statement not covered" >await getIntegration(datasource.source)</span>
812
+ const Connector = <span class="cstat-no" title="statement not covered" >integrations[datasource.source]</span>
853
813
  &nbsp;
854
814
  // Connect to the DB and build the schema
855
815
  const connector = <span class="cstat-no" title="statement not covered" >new Connector(datasource.config)</span>
856
816
  <span class="cstat-no" title="statement not covered" > await connector.buildSchema(datasource._id, datasource.entities)</span>
817
+ <span class="cstat-no" title="statement not covered" > datasource.entities = connector.tables</span>
857
818
  &nbsp;
858
819
  // make sure they all have a display name selected
859
- <span class="cstat-no" title="statement not covered" > for (let entity of Object.values(datasource.entities ?? {})) {</span>
820
+ <span class="cstat-no" title="statement not covered" > for (let entity of Object.values(datasource.entities)) {</span>
860
821
  <span class="cstat-no" title="statement not covered" > if (entity.primaryDisplay) {</span>
861
822
  <span class="cstat-no" title="statement not covered" > continue</span>
862
823
  }
@@ -898,7 +859,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
898
859
  <div class='footer quiet pad2 space-top1 center small'>
899
860
  Code coverage generated by
900
861
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
901
- at Thu Sep 15 2022 12:45:23 GMT+0000 (Coordinated Universal Time)
862
+ at Thu Sep 15 2022 16:39:55 GMT+0000 (Coordinated Universal Time)
902
863
  </div>
903
864
  <script src="../../prettify.js"></script>
904
865
  <script>
@@ -475,7 +475,7 @@ exports.getBudibaseVersion = async ctx =&gt; {
475
475
  <div class='footer quiet pad2 space-top1 center small'>
476
476
  Code coverage generated by
477
477
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
478
- at Thu Sep 15 2022 12:45:23 GMT+0000 (Coordinated Universal Time)
478
+ at Thu Sep 15 2022 16:39:55 GMT+0000 (Coordinated Universal Time)
479
479
  </div>
480
480
  <script src="../../prettify.js"></script>
481
481
  <script>