@budibase/server 1.3.21 → 1.3.22-alpha.1

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 (310) hide show
  1. package/__mocks__/mongodb.ts +1 -1
  2. package/builder/assets/index.96c69636.js +1008 -0
  3. package/builder/assets/index.c167b5c3.css +6 -0
  4. package/builder/index.html +2 -4
  5. package/coverage/clover.xml +308 -338
  6. package/coverage/coverage-final.json +19 -21
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +41 -8
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +73 -34
  13. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/index.html +27 -57
  15. package/coverage/lcov-report/api/controllers/integration.js.html +6 -6
  16. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/external.js.html +2 -2
  25. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  43. package/coverage/lcov-report/api/index.html +1 -1
  44. package/coverage/lcov-report/api/index.js.html +13 -13
  45. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/index.html +1 -1
  56. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/table.js.html +2 -2
  67. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/utils/index.html +9 -9
  70. package/coverage/lcov-report/api/routes/utils/validators.js.html +75 -12
  71. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  73. package/coverage/lcov-report/automations/actions.js.html +1 -1
  74. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  75. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  76. package/coverage/lcov-report/automations/index.html +1 -1
  77. package/coverage/lcov-report/automations/index.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/index.html +1 -1
  85. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  104. package/coverage/lcov-report/constants/index.html +1 -1
  105. package/coverage/lcov-report/constants/index.js.html +1 -1
  106. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  107. package/coverage/lcov-report/constants/screens.js.html +1 -1
  108. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  109. package/coverage/lcov-report/db/index.html +14 -14
  110. package/coverage/lcov-report/db/index.js.html +1 -1
  111. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  112. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  115. package/coverage/lcov-report/db/newid.js.html +2 -2
  116. package/coverage/lcov-report/db/utils.js.html +30 -18
  117. package/coverage/lcov-report/events/AutomationEmitter.js.html +3 -3
  118. package/coverage/lcov-report/events/index.html +1 -1
  119. package/coverage/lcov-report/events/index.js.html +1 -1
  120. package/coverage/lcov-report/events/utils.js.html +1 -1
  121. package/coverage/lcov-report/index.html +44 -44
  122. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  123. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  124. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  125. package/coverage/lcov-report/middleware/builder.js.html +12 -12
  126. package/coverage/lcov-report/middleware/currentapp.js.html +46 -40
  127. package/coverage/lcov-report/middleware/index.html +15 -15
  128. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  129. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  130. package/coverage/lcov-report/middleware/resourceId.js.html +7 -7
  131. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  132. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  133. package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
  134. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  135. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  136. package/coverage/lcov-report/utilities/global.js.html +16 -16
  137. package/coverage/lcov-report/utilities/index.html +15 -15
  138. package/coverage/lcov-report/utilities/index.js.html +24 -24
  139. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  140. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  141. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  142. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  143. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  144. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  145. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  146. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  147. package/coverage/lcov-report/utilities/security.js.html +2 -2
  148. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  149. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  150. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  151. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  152. package/coverage/lcov-report/utilities/users.js.html +1 -1
  153. package/coverage/lcov-report/utilities/workerRequests.js.html +32 -8
  154. package/coverage/lcov.info +521 -558
  155. package/dist/api/controllers/application.js +5 -5
  156. package/dist/api/controllers/auth.js +9 -0
  157. package/dist/api/controllers/component.js +19 -6
  158. package/dist/api/controllers/datasource.js +21 -8
  159. package/dist/api/controllers/deploy/index.js +1 -8
  160. package/dist/api/controllers/integration.js +4 -4
  161. package/dist/{migrations/functions/usageQuotas/syncDevelopers.js → api/controllers/plugin/file.js} +13 -13
  162. package/dist/api/controllers/plugin/github.js +69 -0
  163. package/dist/api/controllers/plugin/index.js +144 -0
  164. package/dist/api/controllers/plugin/npm.js +58 -0
  165. package/dist/api/controllers/plugin/uploaders.js +11 -0
  166. package/dist/{migrations/functions/usageQuotas/syncPublishedApps.js → api/controllers/plugin/url.js} +13 -15
  167. package/dist/api/controllers/plugin/utils.js +26 -0
  168. package/dist/api/controllers/row/external.js +1 -1
  169. package/dist/api/controllers/screen.js +62 -14
  170. package/dist/api/controllers/static/index.js +1 -0
  171. package/dist/api/controllers/static/templates/BudibaseApp.svelte +10 -0
  172. package/dist/api/controllers/static/templates/preview.hbs +5 -1
  173. package/dist/api/index.js +1 -1
  174. package/dist/api/routes/application.js +3 -2
  175. package/dist/api/routes/index.js +2 -0
  176. package/dist/{migrations/functions/publishedAppsQuota.js → api/routes/plugin.js} +13 -21
  177. package/dist/api/routes/public/rows.js +1 -82
  178. package/dist/api/routes/public/tables.js +1 -1
  179. package/dist/api/routes/table.js +1 -1
  180. package/dist/api/routes/utils/validators.js +20 -2
  181. package/dist/app.js +16 -1
  182. package/dist/db/utils.js +3 -0
  183. package/dist/environment.js +1 -0
  184. package/dist/integrations/airtable.js +126 -129
  185. package/dist/integrations/arangodb.js +86 -89
  186. package/dist/integrations/base/query.js +2 -2
  187. package/dist/integrations/base/sqlTable.js +3 -1
  188. package/dist/integrations/couchdb.js +80 -83
  189. package/dist/integrations/dynamodb.js +161 -164
  190. package/dist/integrations/elasticsearch.js +135 -138
  191. package/dist/integrations/firebase.js +154 -157
  192. package/dist/integrations/googlesheets.js +323 -327
  193. package/dist/integrations/index.js +99 -51
  194. package/dist/integrations/microsoftSqlServer.js +240 -243
  195. package/dist/integrations/mongodb.js +239 -242
  196. package/dist/integrations/mysql.js +215 -219
  197. package/dist/integrations/oracle.js +318 -322
  198. package/dist/integrations/postgres.js +262 -265
  199. package/dist/integrations/redis.js +134 -139
  200. package/dist/integrations/rest.js +289 -292
  201. package/dist/integrations/s3.js +61 -64
  202. package/dist/integrations/snowflake.js +83 -86
  203. package/dist/middleware/currentapp.js +2 -0
  204. package/dist/migrations/functions/backfill/global.js +0 -3
  205. package/dist/migrations/index.js +0 -10
  206. package/dist/package.json +9 -6
  207. package/dist/tests/utilities/TestConfiguration.js +1 -1
  208. package/dist/threads/query.js +2 -2
  209. package/dist/tsconfig.build.tsbuildinfo +1 -1
  210. package/dist/utilities/fileSystem/index.js +105 -1
  211. package/dist/utilities/workerRequests.js +4 -0
  212. package/dist/watch.js +77 -0
  213. package/dist/websocket.js +22 -0
  214. package/package.json +10 -7
  215. package/scripts/dev/manage.js +4 -0
  216. package/scripts/localdomain.js +3 -1
  217. package/specs/openapi.json +115 -112
  218. package/specs/openapi.yaml +96 -94
  219. package/specs/resources/misc.js +116 -0
  220. package/specs/resources/query.js +1 -1
  221. package/src/api/controllers/application.ts +1 -2
  222. package/src/api/controllers/auth.js +11 -0
  223. package/src/api/controllers/component.ts +57 -0
  224. package/src/api/controllers/datasource.js +21 -8
  225. package/src/api/controllers/deploy/index.ts +1 -6
  226. package/src/api/controllers/integration.js +4 -4
  227. package/src/api/controllers/plugin/file.ts +15 -0
  228. package/src/api/controllers/plugin/github.ts +75 -0
  229. package/src/api/controllers/plugin/index.ts +134 -0
  230. package/src/api/controllers/plugin/npm.ts +56 -0
  231. package/src/api/controllers/plugin/uploaders.ts +4 -0
  232. package/src/api/controllers/plugin/url.ts +12 -0
  233. package/src/api/controllers/plugin/utils.ts +19 -0
  234. package/src/api/controllers/public/mapping/types.ts +8 -0
  235. package/src/api/controllers/row/external.js +1 -1
  236. package/src/api/controllers/screen.ts +122 -0
  237. package/src/api/controllers/static/index.ts +1 -1
  238. package/src/api/controllers/static/templates/BudibaseApp.svelte +10 -0
  239. package/src/api/controllers/static/templates/preview.hbs +5 -1
  240. package/src/api/index.js +1 -1
  241. package/src/api/routes/application.ts +13 -2
  242. package/src/api/routes/index.ts +2 -0
  243. package/src/api/routes/plugin.ts +14 -0
  244. package/src/api/routes/public/rows.ts +1 -82
  245. package/src/api/routes/public/tables.ts +1 -1
  246. package/src/api/routes/table.js +1 -1
  247. package/src/api/routes/tests/query.spec.js +8 -25
  248. package/src/api/routes/tests/user.spec.js +0 -2
  249. package/src/api/routes/utils/validators.js +26 -5
  250. package/src/app.ts +25 -2
  251. package/src/db/utils.js +4 -0
  252. package/src/definitions/openapi.ts +56 -55
  253. package/src/environment.js +1 -0
  254. package/src/integrations/airtable.ts +116 -118
  255. package/src/integrations/arangodb.ts +87 -89
  256. package/src/integrations/base/query.ts +2 -2
  257. package/src/integrations/base/sqlTable.ts +3 -1
  258. package/src/integrations/couchdb.ts +83 -89
  259. package/src/integrations/dynamodb.ts +173 -175
  260. package/src/integrations/elasticsearch.ts +120 -122
  261. package/src/integrations/firebase.ts +157 -159
  262. package/src/integrations/googlesheets.ts +328 -338
  263. package/src/integrations/index.ts +64 -21
  264. package/src/integrations/microsoftSqlServer.ts +249 -251
  265. package/src/integrations/mongodb.ts +261 -258
  266. package/src/integrations/mysql.ts +229 -234
  267. package/src/integrations/oracle.ts +373 -380
  268. package/src/integrations/postgres.ts +264 -268
  269. package/src/integrations/redis.ts +128 -132
  270. package/src/integrations/rest.ts +324 -329
  271. package/src/integrations/s3.ts +68 -71
  272. package/src/integrations/snowflake.ts +80 -82
  273. package/src/integrations/tests/{airtable.spec.js → airtable.spec.ts} +21 -18
  274. package/src/integrations/tests/{arangodb.spec.js → arangodb.spec.ts} +12 -9
  275. package/src/integrations/tests/{couchdb.spec.js → couchdb.spec.ts} +33 -27
  276. package/src/integrations/tests/{dynamodb.spec.js → dynamodb.spec.ts} +45 -41
  277. package/src/integrations/tests/{elasticsearch.spec.js → elasticsearch.spec.ts} +22 -21
  278. package/src/integrations/tests/{firebase.spec.js → firebase.spec.ts} +33 -28
  279. package/src/integrations/tests/{microsoftSqlServer.spec.js → microsoftSqlServer.spec.ts} +12 -11
  280. package/src/integrations/tests/{mongo.spec.js → mongo.spec.ts} +46 -35
  281. package/src/integrations/tests/{mysql.spec.js → mysql.spec.ts} +17 -15
  282. package/src/integrations/tests/{oracle.spec.js → oracle.spec.ts} +19 -17
  283. package/src/integrations/tests/{postgres.spec.js → postgres.spec.ts} +19 -17
  284. package/src/integrations/tests/{redis.spec.js → redis.spec.ts} +27 -18
  285. package/src/integrations/tests/{rest.spec.js → rest.spec.ts} +22 -14
  286. package/src/integrations/tests/{s3.spec.js → s3.spec.ts} +10 -8
  287. package/src/integrations/tests/{sql.spec.js → sql.spec.ts} +228 -177
  288. package/src/middleware/currentapp.js +2 -0
  289. package/src/migrations/functions/backfill/global.ts +0 -3
  290. package/src/migrations/index.ts +0 -16
  291. package/src/module.d.ts +2 -0
  292. package/src/tests/utilities/TestConfiguration.js +1 -1
  293. package/src/threads/query.ts +2 -2
  294. package/src/utilities/fileSystem/index.js +123 -0
  295. package/src/utilities/workerRequests.js +8 -0
  296. package/src/watch.ts +38 -0
  297. package/src/websocket.ts +26 -0
  298. package/builder/assets/index.8d12d461.css +0 -6
  299. package/builder/assets/index.d354271c.js +0 -879
  300. package/builder/assets/vendor.5e1fe644.css +0 -1
  301. package/builder/assets/vendor.67dbd8fa.js +0 -248
  302. package/coverage/lcov-report/api/controllers/component.js.html +0 -199
  303. package/coverage/lcov-report/api/controllers/screen.js.html +0 -259
  304. package/dist/migrations/functions/developerQuota.js +0 -49
  305. package/src/api/controllers/component.js +0 -38
  306. package/src/api/controllers/screen.js +0 -58
  307. package/src/migrations/functions/developerQuota.ts +0 -15
  308. package/src/migrations/functions/publishedAppsQuota.ts +0 -13
  309. package/src/migrations/functions/usageQuotas/syncDevelopers.ts +0 -19
  310. package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +0 -21
@@ -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 Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
235
+ at Sun Sep 18 2022 17:06:11 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">82.14% </span>
26
+ <span class="strong">84.37% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>23/28</span>
28
+ <span class='fraction'>27/32</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'>4/8</span>
35
+ <span class='fraction'>5/10</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'>1/1</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">82.14% </span>
47
+ <span class="strong">84.37% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>23/28</span>
49
+ <span class='fraction'>27/32</span>
50
50
  </div>
51
51
 
52
52
 
@@ -121,12 +121,32 @@
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">28x</span>
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>
125
136
  <span class="cline-any cline-yes">28x</span>
126
137
  <span class="cline-any cline-yes">28x</span>
127
138
  <span class="cline-any cline-yes">28x</span>
128
139
  <span class="cline-any cline-yes">28x</span>
129
140
  <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>
130
150
  <span class="cline-any cline-yes">28x</span>
131
151
  <span class="cline-any cline-yes">1x</span>
132
152
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -179,12 +199,23 @@
179
199
  <span class="cline-any cline-no">&nbsp;</span>
180
200
  <span class="cline-any cline-neutral">&nbsp;</span>
181
201
  <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>
182
204
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { outputProcessing } = require("../../utilities/rowProcessor")
183
205
  const { InternalTables } = require("../../db/utils")
184
206
  const { getFullUser } = require("../../utilities/users")
185
207
  const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
186
208
  const { getAppDB, getAppId } = require("@budibase/backend-core/context")
187
209
  &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;
188
219
  exports.fetchSelf = async ctx =&gt; {
189
220
  let userId = ctx.user.userId || <span class="branch-1 cbranch-no" title="branch not covered" >ctx.user._id</span>
190
221
  /* istanbul ignore next */
@@ -236,6 +267,8 @@ exports.fetchSelf = async ctx =&gt; {
236
267
  } else <span class="missing-if-branch" title="else path not taken" >E</span>{
237
268
  <span class="cstat-no" title="statement not covered" > ctx.body = user</span>
238
269
  }
270
+ &nbsp;
271
+ addSessionAttributesToUser(ctx)
239
272
  }
240
273
  &nbsp;</pre></td></tr></table></pre>
241
274
 
@@ -244,7 +277,7 @@ exports.fetchSelf = async ctx =&gt; {
244
277
  <div class='footer quiet pad2 space-top1 center small'>
245
278
  Code coverage generated by
246
279
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
247
- at Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
280
+ at Sun Sep 18 2022 17:06:11 GMT+0000 (Coordinated Universal Time)
248
281
  </div>
249
282
  <script src="../../prettify.js"></script>
250
283
  <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 Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
928
+ at Sun Sep 18 2022 17:06:11 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 Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
130
+ at Sun Sep 18 2022 17:06:11 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 Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
412
+ at Sun Sep 18 2022 17:06:11 GMT+0000 (Coordinated Universal Time)
413
413
  </div>
414
414
  <script src="../../prettify.js"></script>
415
415
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">61.48% </span>
26
+ <span class="strong">58.45% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>83/135</span>
28
+ <span class='fraction'>83/142</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">37.73% </span>
33
+ <span class="strong">32.78% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>20/53</span>
35
+ <span class='fraction'>20/61</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">57.89% </span>
40
+ <span class="strong">55% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/19</span>
42
+ <span class='fraction'>11/20</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">61.19% </span>
47
+ <span class="strong">58.15% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>82/134</span>
49
+ <span class='fraction'>82/141</span>
50
50
  </div>
51
51
 
52
52
 
@@ -326,7 +326,20 @@
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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>
330
343
  <span class="cline-any cline-neutral">&nbsp;</span>
331
344
  <span class="cline-any cline-neutral">&nbsp;</span>
332
345
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -378,9 +391,23 @@
378
391
  <span class="cline-any cline-yes">45x</span>
379
392
  <span class="cline-any cline-no">&nbsp;</span>
380
393
  <span class="cline-any cline-no">&nbsp;</span>
394
+ <span class="cline-any cline-no">&nbsp;</span>
381
395
  <span class="cline-any cline-neutral">&nbsp;</span>
382
396
  <span class="cline-any cline-no">&nbsp;</span>
383
397
  <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>
384
411
  <span class="cline-any cline-neutral">&nbsp;</span>
385
412
  <span class="cline-any cline-no">&nbsp;</span>
386
413
  <span class="cline-any cline-no">&nbsp;</span>
@@ -454,40 +481,40 @@
454
481
  <span class="cline-any cline-neutral">&nbsp;</span>
455
482
  <span class="cline-any cline-neutral">&nbsp;</span>
456
483
  <span class="cline-any cline-yes">45x</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>
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>
460
487
  <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-yes">66x</span>
488
+ <span class="cline-any cline-yes">64x</span>
462
489
  <span class="cline-any cline-neutral">&nbsp;</span>
463
490
  <span class="cline-any cline-neutral">&nbsp;</span>
464
491
  <span class="cline-any cline-neutral">&nbsp;</span>
465
492
  <span class="cline-any cline-neutral">&nbsp;</span>
466
493
  <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-yes">66x</span>
468
- <span class="cline-any cline-yes">66x</span>
494
+ <span class="cline-any cline-yes">64x</span>
495
+ <span class="cline-any cline-yes">64x</span>
469
496
  <span class="cline-any cline-no">&nbsp;</span>
470
497
  <span class="cline-any cline-no">&nbsp;</span>
471
498
  <span class="cline-any cline-no">&nbsp;</span>
472
499
  <span class="cline-any cline-neutral">&nbsp;</span>
473
500
  <span class="cline-any cline-neutral">&nbsp;</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>
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>
477
504
  <span class="cline-any cline-neutral">&nbsp;</span>
478
505
  <span class="cline-any cline-neutral">&nbsp;</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>
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>
482
509
  <span class="cline-any cline-no">&nbsp;</span>
483
510
  <span class="cline-any cline-neutral">&nbsp;</span>
484
511
  <span class="cline-any cline-neutral">&nbsp;</span>
485
512
  <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-yes">66x</span>
487
- <span class="cline-any cline-yes">66x</span>
513
+ <span class="cline-any cline-yes">63x</span>
514
+ <span class="cline-any cline-yes">63x</span>
488
515
  <span class="cline-any cline-no">&nbsp;</span>
489
516
  <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-yes">66x</span>
517
+ <span class="cline-any cline-yes">63x</span>
491
518
  <span class="cline-any cline-neutral">&nbsp;</span>
492
519
  <span class="cline-any cline-neutral">&nbsp;</span>
493
520
  <span class="cline-any cline-yes">45x</span>
@@ -551,7 +578,6 @@
551
578
  <span class="cline-any cline-neutral">&nbsp;</span>
552
579
  <span class="cline-any cline-no">&nbsp;</span>
553
580
  <span class="cline-any cline-no">&nbsp;</span>
554
- <span class="cline-any cline-no">&nbsp;</span>
555
581
  <span class="cline-any cline-neutral">&nbsp;</span>
556
582
  <span class="cline-any cline-neutral">&nbsp;</span>
557
583
  <span class="cline-any cline-no">&nbsp;</span>
@@ -598,7 +624,7 @@
598
624
  getTableParams,
599
625
  } = require("../../db/utils")
600
626
  const { BuildSchemaErrors, InvalidColumns } = require("../../constants")
601
- const { integrations } = require("../../integrations")
627
+ const { getIntegration } = require("../../integrations")
602
628
  const { getDatasourceAndQuery } = require("./row/utils")
603
629
  const { invalidateDynamicVariables } = require("../../threads/utils")
604
630
  const { getAppDB } = require("@budibase/backend-core/context")
@@ -641,9 +667,23 @@ exports.fetch = async function (ctx) {
641
667
  exports.buildSchemaFromDb = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
642
668
  const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
643
669
  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>
644
671
  &nbsp;
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>
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
+ }
647
687
  &nbsp;
648
688
  const dbResp = <span class="cstat-no" title="statement not covered" >await db.put(datasource)</span>
649
689
  <span class="cstat-no" title="statement not covered" > datasource._rev = dbResp.rev</span>
@@ -705,7 +745,7 @@ exports.update = async function (ctx) {
705
745
  &nbsp;
706
746
  // Drain connection pools when configuration is changed
707
747
  <span class="missing-if-branch" title="else path not taken" >E</span>if (datasource.source) {
708
- const source = integrations[datasource.source]
748
+ const source = await getIntegration(datasource.source)
709
749
  <span class="missing-if-branch" title="if path not taken" >I</span>if (source &amp;&amp; source.pool) {
710
750
  <span class="cstat-no" title="statement not covered" > await source.pool.end()</span>
711
751
  }
@@ -740,7 +780,7 @@ exports.save = async function (ctx) {
740
780
  &nbsp;
741
781
  // Drain connection pools when configuration is changed
742
782
  <span class="missing-if-branch" title="else path not taken" >E</span>if (datasource.source) {
743
- const source = integrations[datasource.source]
783
+ const source = await getIntegration(datasource.source)
744
784
  <span class="missing-if-branch" title="if path not taken" >I</span>if (source &amp;&amp; source.pool) {
745
785
  <span class="cstat-no" title="statement not covered" > await source.pool.end()</span>
746
786
  }
@@ -809,15 +849,14 @@ function <span class="fstat-no" title="function not covered" >updateError(</span
809
849
  }
810
850
  &nbsp;
811
851
  const buildSchemaHelper = <span class="fstat-no" title="function not covered" >as</span>ync datasource =&gt; {
812
- const Connector = <span class="cstat-no" title="statement not covered" >integrations[datasource.source]</span>
852
+ const Connector = <span class="cstat-no" title="statement not covered" >await getIntegration(datasource.source)</span>
813
853
  &nbsp;
814
854
  // Connect to the DB and build the schema
815
855
  const connector = <span class="cstat-no" title="statement not covered" >new Connector(datasource.config)</span>
816
856
  <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>
818
857
  &nbsp;
819
858
  // make sure they all have a display name selected
820
- <span class="cstat-no" title="statement not covered" > for (let entity of Object.values(datasource.entities)) {</span>
859
+ <span class="cstat-no" title="statement not covered" > for (let entity of Object.values(datasource.entities ?? {})) {</span>
821
860
  <span class="cstat-no" title="statement not covered" > if (entity.primaryDisplay) {</span>
822
861
  <span class="cstat-no" title="statement not covered" > continue</span>
823
862
  }
@@ -859,7 +898,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
859
898
  <div class='footer quiet pad2 space-top1 center small'>
860
899
  Code coverage generated by
861
900
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
862
- at Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
901
+ at Sun Sep 18 2022 17:06:11 GMT+0000 (Coordinated Universal Time)
863
902
  </div>
864
903
  <script src="../../prettify.js"></script>
865
904
  <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 Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
478
+ at Sun Sep 18 2022 17:06:11 GMT+0000 (Coordinated Universal Time)
479
479
  </div>
480
480
  <script src="../../prettify.js"></script>
481
481
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">72.37% </span>
26
+ <span class="strong">70.68% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>710/981</span>
28
+ <span class='fraction'>668/945</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">47.2% </span>
33
+ <span class="strong">44.82% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>135/286</span>
35
+ <span class='fraction'>130/290</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">67.62% </span>
40
+ <span class="strong">65.92% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>94/139</span>
42
+ <span class='fraction'>89/135</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">72.28% </span>
47
+ <span class="strong">70.56% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>699/967</span>
49
+ <span class='fraction'>657/931</span>
50
50
  </div>
51
51
 
52
52
 
@@ -95,17 +95,17 @@
95
95
 
96
96
  <tr>
97
97
  <td class="file high" data-value="auth.js"><a href="auth.js.html">auth.js</a></td>
98
- <td data-value="82.14" class="pic high">
99
- <div class="chart"><div class="cover-fill" style="width: 82%"></div><div class="cover-empty" style="width: 18%"></div></div>
98
+ <td data-value="84.37" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
100
100
  </td>
101
- <td data-value="82.14" class="pct high">82.14%</td>
102
- <td data-value="28" class="abs high">23/28</td>
101
+ <td data-value="84.37" class="pct high">84.37%</td>
102
+ <td data-value="32" class="abs high">27/32</td>
103
103
  <td data-value="50" class="pct medium">50%</td>
104
- <td data-value="8" class="abs medium">4/8</td>
104
+ <td data-value="10" class="abs medium">5/10</td>
105
105
  <td data-value="100" class="pct high">100%</td>
106
- <td data-value="1" class="abs high">1/1</td>
107
- <td data-value="82.14" class="pct high">82.14%</td>
108
- <td data-value="28" class="abs high">23/28</td>
106
+ <td data-value="2" class="abs high">2/2</td>
107
+ <td data-value="84.37" class="pct high">84.37%</td>
108
+ <td data-value="32" class="abs high">27/32</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -153,34 +153,19 @@
153
153
  <td data-value="54" class="abs low">10/54</td>
154
154
  </tr>
155
155
 
156
- <tr>
157
- <td class="file high" data-value="component.js"><a href="component.js.html">component.js</a></td>
158
- <td data-value="94.73" class="pic high">
159
- <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
160
- </td>
161
- <td data-value="94.73" class="pct high">94.73%</td>
162
- <td data-value="19" class="abs high">18/19</td>
163
- <td data-value="100" class="pct high">100%</td>
164
- <td data-value="2" class="abs high">2/2</td>
165
- <td data-value="100" class="pct high">100%</td>
166
- <td data-value="2" class="abs high">2/2</td>
167
- <td data-value="94.73" class="pct high">94.73%</td>
168
- <td data-value="19" class="abs high">18/19</td>
169
- </tr>
170
-
171
156
  <tr>
172
157
  <td class="file medium" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
173
- <td data-value="61.48" class="pic medium">
174
- <div class="chart"><div class="cover-fill" style="width: 61%"></div><div class="cover-empty" style="width: 39%"></div></div>
158
+ <td data-value="58.45" class="pic medium">
159
+ <div class="chart"><div class="cover-fill" style="width: 58%"></div><div class="cover-empty" style="width: 42%"></div></div>
175
160
  </td>
176
- <td data-value="61.48" class="pct medium">61.48%</td>
177
- <td data-value="135" class="abs medium">83/135</td>
178
- <td data-value="37.73" class="pct low">37.73%</td>
179
- <td data-value="53" class="abs low">20/53</td>
180
- <td data-value="57.89" class="pct medium">57.89%</td>
181
- <td data-value="19" class="abs medium">11/19</td>
182
- <td data-value="61.19" class="pct medium">61.19%</td>
183
- <td data-value="134" class="abs medium">82/134</td>
161
+ <td data-value="58.45" class="pct medium">58.45%</td>
162
+ <td data-value="142" class="abs medium">83/142</td>
163
+ <td data-value="32.78" class="pct low">32.78%</td>
164
+ <td data-value="61" class="abs low">20/61</td>
165
+ <td data-value="55" class="pct medium">55%</td>
166
+ <td data-value="20" class="abs medium">11/20</td>
167
+ <td data-value="58.15" class="pct medium">58.15%</td>
168
+ <td data-value="141" class="abs medium">82/141</td>
184
169
  </tr>
185
170
 
186
171
  <tr>
@@ -303,21 +288,6 @@
303
288
  <td data-value="49" class="abs high">44/49</td>
304
289
  </tr>
305
290
 
306
- <tr>
307
- <td class="file high" data-value="screen.js"><a href="screen.js.html">screen.js</a></td>
308
- <td data-value="100" class="pic high">
309
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
310
- </td>
311
- <td data-value="100" class="pct high">100%</td>
312
- <td data-value="28" class="abs high">28/28</td>
313
- <td data-value="100" class="pct high">100%</td>
314
- <td data-value="4" class="abs high">4/4</td>
315
- <td data-value="100" class="pct high">100%</td>
316
- <td data-value="4" class="abs high">4/4</td>
317
- <td data-value="100" class="pct high">100%</td>
318
- <td data-value="28" class="abs high">28/28</td>
319
- </tr>
320
-
321
291
  <tr>
322
292
  <td class="file low" data-value="script.js"><a href="script.js.html">script.js</a></td>
323
293
  <td data-value="42.85" class="pic low">
@@ -386,7 +356,7 @@
386
356
  <div class='footer quiet pad2 space-top1 center small'>
387
357
  Code coverage generated by
388
358
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
389
- at Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
359
+ at Sun Sep 18 2022 17:06:11 GMT+0000 (Coordinated Universal Time)
390
360
  </div>
391
361
  <script src="../../prettify.js"></script>
392
362
  <script>
@@ -89,7 +89,6 @@
89
89
  <span class="cline-any cline-yes">28x</span>
90
90
  <span class="cline-any cline-yes">28x</span>
91
91
  <span class="cline-any cline-yes">28x</span>
92
- <span class="cline-any cline-yes">28x</span>
93
92
  <span class="cline-any cline-neutral">&nbsp;</span>
94
93
  <span class="cline-any cline-yes">28x</span>
95
94
  <span class="cline-any cline-yes">1x</span>
@@ -106,16 +105,16 @@
106
105
  <span class="cline-any cline-yes">28x</span>
107
106
  <span class="cline-any cline-yes">1x</span>
108
107
  <span class="cline-any cline-yes">1x</span>
108
+ <span class="cline-any cline-yes">1x</span>
109
109
  <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { cloneDeep } = require("lodash")
111
- const { definitions } = require("../../integrations")
110
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getDefinitions } = require("../../integrations")
112
111
  const { SourceName } = require("@budibase/types")
113
112
  const googlesheets = require("../../integrations/googlesheets")
114
113
  const { featureFlags } = require("@budibase/backend-core")
115
114
  &nbsp;
116
115
  exports.fetch = async function (ctx) {
117
116
  ctx.status = 200
118
- const defs = cloneDeep(definitions)
117
+ const defs = await getDefinitions()
119
118
  &nbsp;
120
119
  // for google sheets integration google verification
121
120
  <span class="missing-if-branch" title="if path not taken" >I</span>if (featureFlags.isEnabled(featureFlags.FeatureFlag.GOOGLE_SHEETS)) {
@@ -126,8 +125,9 @@ exports.fetch = async function (ctx) {
126
125
  }
127
126
  &nbsp;
128
127
  exports.find = async function (ctx) {
128
+ const defs = await getDefinitions()
129
129
  ctx.status = 200
130
- ctx.body = definitions[ctx.params.type]
130
+ ctx.body = defs[ctx.params.type]
131
131
  }
132
132
  &nbsp;</pre></td></tr></table></pre>
133
133
 
@@ -136,7 +136,7 @@ exports.find = async function (ctx) {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
139
+ at Sun Sep 18 2022 17:06:11 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  <script src="../../prettify.js"></script>
142
142
  <script>
@@ -211,7 +211,7 @@ exports.destroy = async function (ctx) {
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
214
- at Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
214
+ at Sun Sep 18 2022 17:06:11 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
216
  <script src="../../prettify.js"></script>
217
217
  <script>
@@ -193,7 +193,7 @@ exports.getMetadata = async ctx =&gt; {
193
193
  <div class='footer quiet pad2 space-top1 center small'>
194
194
  Code coverage generated by
195
195
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
196
- at Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
196
+ at Sun Sep 18 2022 17:06:11 GMT+0000 (Coordinated Universal Time)
197
197
  </div>
198
198
  <script src="../../prettify.js"></script>
199
199
  <script>
@@ -109,7 +109,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at Sat Sep 17 2022 10:40:27 GMT+0000 (Coordinated Universal Time)
112
+ at Sun Sep 18 2022 17:06:11 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  <script src="../../prettify.js"></script>
115
115
  <script>