@budibase/server 2.0.30-alpha.14 → 2.0.30-alpha.16

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 (228) hide show
  1. package/builder/assets/backups-default.8c011f1b.png +0 -0
  2. package/builder/assets/{index.099ad307.js → index.7ebb4fb6.js} +333 -329
  3. package/builder/assets/{index.acdbfe62.css → index.b15ffe95.css} +1 -1
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +254 -313
  6. package/coverage/coverage-final.json +15 -17
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/cloud.js.html +74 -62
  10. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/index.html +17 -32
  13. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  19. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +12 -9
  30. package/coverage/lcov-report/api/controllers/table/external.js.html +10 -10
  31. package/coverage/lcov-report/api/controllers/table/index.html +16 -16
  32. package/coverage/lcov-report/api/controllers/table/index.js.html +5 -5
  33. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/index.js.html +3 -3
  38. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  41. package/coverage/lcov-report/api/index.html +1 -1
  42. package/coverage/lcov-report/api/index.js.html +3 -3
  43. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  44. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  45. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/index.html +5 -20
  52. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  66. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  69. package/coverage/lcov-report/automations/actions.js.html +1 -1
  70. package/coverage/lcov-report/automations/automationUtils.js.html +6 -6
  71. package/coverage/lcov-report/automations/bullboard.js.html +17 -92
  72. package/coverage/lcov-report/automations/index.html +18 -18
  73. package/coverage/lcov-report/automations/index.js.html +5 -5
  74. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  75. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  76. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  77. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/index.html +1 -1
  81. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  91. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  92. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  93. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  94. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggers.js.html +5 -5
  100. package/coverage/lcov-report/constants/index.html +5 -5
  101. package/coverage/lcov-report/constants/index.js.html +6 -18
  102. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  103. package/coverage/lcov-report/constants/screens.js.html +1 -1
  104. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  105. package/coverage/lcov-report/db/index.html +19 -19
  106. package/coverage/lcov-report/db/index.js.html +1 -1
  107. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  108. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  109. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  110. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  111. package/coverage/lcov-report/db/newid.js.html +2 -2
  112. package/coverage/lcov-report/db/utils.js.html +35 -308
  113. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  114. package/coverage/lcov-report/events/index.html +1 -1
  115. package/coverage/lcov-report/events/index.js.html +1 -1
  116. package/coverage/lcov-report/events/utils.js.html +1 -1
  117. package/coverage/lcov-report/index.html +62 -62
  118. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  119. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  120. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  121. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  122. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  123. package/coverage/lcov-report/middleware/index.html +1 -1
  124. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  125. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  126. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  127. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  128. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  129. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  130. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  131. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  132. package/coverage/lcov-report/utilities/global.js.html +1 -1
  133. package/coverage/lcov-report/utilities/index.html +1 -1
  134. package/coverage/lcov-report/utilities/index.js.html +1 -1
  135. package/coverage/lcov-report/utilities/plugins.js.html +1 -1
  136. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +52 -52
  137. package/coverage/lcov-report/utilities/queue/index.html +21 -21
  138. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  139. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  140. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  141. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  142. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  143. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  144. package/coverage/lcov-report/utilities/security.js.html +2 -2
  145. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  146. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  147. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  148. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  149. package/coverage/lcov-report/utilities/users.js.html +1 -1
  150. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  151. package/coverage/lcov.info +451 -564
  152. package/dist/api/controllers/application.js +2 -5
  153. package/dist/api/controllers/backup.js +19 -13
  154. package/dist/api/controllers/cloud.js +38 -35
  155. package/dist/api/controllers/deploy/index.js +11 -2
  156. package/dist/api/controllers/static/index.js +2 -2
  157. package/dist/api/controllers/table/bulkFormula.js +4 -3
  158. package/dist/api/controllers/table/external.js +5 -4
  159. package/dist/api/controllers/table/index.js +4 -4
  160. package/dist/api/controllers/table/internal.js +2 -1
  161. package/dist/api/controllers/table/utils.js +4 -48
  162. package/dist/api/controllers/view/index.js +2 -2
  163. package/dist/api/routes/backup.js +34 -7
  164. package/dist/api/routes/index.js +9 -4
  165. package/dist/app.js +14 -0
  166. package/dist/automations/automationUtils.js +2 -2
  167. package/dist/automations/bullboard.js +5 -33
  168. package/dist/automations/index.js +4 -4
  169. package/dist/automations/triggers.js +4 -4
  170. package/dist/automations/utils.js +13 -9
  171. package/dist/constants/index.js +2 -5
  172. package/dist/db/utils.js +10 -75
  173. package/dist/migrations/functions/backfill/app/tables.js +5 -8
  174. package/dist/package.json +11 -11
  175. package/dist/sdk/app/backups/constants.js +5 -0
  176. package/dist/sdk/app/backups/exports.js +172 -0
  177. package/dist/sdk/app/backups/imports.js +162 -0
  178. package/dist/sdk/app/backups/index.js +29 -0
  179. package/dist/sdk/app/backups/statistics.js +73 -0
  180. package/dist/sdk/app/tables/index.js +61 -0
  181. package/dist/sdk/index.js +15 -0
  182. package/dist/tests/utilities/TestConfiguration.js +4 -2
  183. package/dist/threads/automation.js +12 -17
  184. package/dist/tsconfig.build.tsbuildinfo +1 -1
  185. package/dist/utilities/fileSystem/index.js +3 -95
  186. package/dist/utilities/fileSystem/utilities.js +2 -1
  187. package/package.json +12 -12
  188. package/src/api/controllers/application.ts +3 -10
  189. package/src/api/controllers/{backup.js → backup.ts} +7 -7
  190. package/src/api/controllers/cloud.js +44 -40
  191. package/src/api/controllers/deploy/index.ts +20 -7
  192. package/src/api/controllers/static/index.ts +2 -2
  193. package/src/api/controllers/table/bulkFormula.js +4 -3
  194. package/src/api/controllers/table/external.js +4 -4
  195. package/src/api/controllers/table/index.js +4 -4
  196. package/src/api/controllers/table/internal.ts +3 -7
  197. package/src/api/controllers/table/utils.ts +1 -52
  198. package/src/api/controllers/view/index.js +2 -2
  199. package/src/api/routes/backup.ts +10 -0
  200. package/src/api/routes/index.ts +11 -5
  201. package/src/api/routes/tests/backup.spec.js +1 -1
  202. package/src/api/routes/tests/{deployment.spec.js → deployment.spec.ts} +4 -4
  203. package/src/app.ts +15 -0
  204. package/src/automations/automationUtils.js +2 -2
  205. package/src/automations/bullboard.js +8 -33
  206. package/src/automations/index.js +4 -4
  207. package/src/automations/triggers.js +4 -4
  208. package/src/automations/utils.ts +12 -8
  209. package/src/constants/index.js +2 -6
  210. package/src/db/utils.js +17 -108
  211. package/src/definitions/automations.ts +0 -12
  212. package/src/migrations/functions/backfill/app/tables.ts +6 -13
  213. package/src/sdk/app/backups/constants.ts +2 -0
  214. package/src/sdk/app/backups/exports.ts +171 -0
  215. package/src/sdk/app/backups/imports.ts +168 -0
  216. package/src/sdk/app/backups/index.ts +9 -0
  217. package/src/sdk/app/backups/statistics.ts +77 -0
  218. package/src/sdk/app/tables/index.ts +60 -0
  219. package/src/sdk/index.ts +13 -0
  220. package/src/tests/utilities/TestConfiguration.js +5 -2
  221. package/src/threads/automation.ts +20 -27
  222. package/src/utilities/fileSystem/index.js +2 -119
  223. package/src/utilities/fileSystem/utilities.js +2 -0
  224. package/coverage/lcov-report/api/controllers/backup.js.html +0 -142
  225. package/coverage/lcov-report/api/routes/backup.js.html +0 -115
  226. package/dist/automations/listeners.js +0 -102
  227. package/src/api/routes/backup.js +0 -10
  228. package/src/automations/listeners.ts +0 -78
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90.09% </span>
26
+ <span class="strong">88.42% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>100/111</span>
28
+ <span class='fraction'>84/95</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">36.73% </span>
33
+ <span class="strong">20.68% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>18/49</span>
35
+ <span class='fraction'>6/29</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">78.12% </span>
40
+ <span class="strong">73.07% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>25/32</span>
42
+ <span class='fraction'>19/26</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">90.09% </span>
47
+ <span class="strong">88.42% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>100/111</span>
49
+ <span class='fraction'>84/95</span>
50
50
  </div>
51
51
 
52
52
 
@@ -355,98 +355,7 @@
355
355
  <a name='L290'></a><a href='#L290'>290</a>
356
356
  <a name='L291'></a><a href='#L291'>291</a>
357
357
  <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">59x</span>
358
+ <a name='L293'></a><a href='#L293'>293</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">59x</span>
450
359
  <span class="cline-any cline-neutral">&nbsp;</span>
451
360
  <span class="cline-any cline-neutral">&nbsp;</span>
452
361
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -461,11 +370,8 @@
461
370
  <span class="cline-any cline-neutral">&nbsp;</span>
462
371
  <span class="cline-any cline-neutral">&nbsp;</span>
463
372
  <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-yes">59x</span>
465
373
  <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-yes">59x</span>
467
374
  <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-yes">59x</span>
469
375
  <span class="cline-any cline-neutral">&nbsp;</span>
470
376
  <span class="cline-any cline-neutral">&nbsp;</span>
471
377
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -473,18 +379,9 @@
473
379
  <span class="cline-any cline-neutral">&nbsp;</span>
474
380
  <span class="cline-any cline-yes">59x</span>
475
381
  <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-yes">59x</span>
476
383
  <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-yes">59x</span>
488
385
  <span class="cline-any cline-neutral">&nbsp;</span>
489
386
  <span class="cline-any cline-neutral">&nbsp;</span>
490
387
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -492,8 +389,6 @@
492
389
  <span class="cline-any cline-neutral">&nbsp;</span>
493
390
  <span class="cline-any cline-yes">59x</span>
494
391
  <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
392
  <span class="cline-any cline-yes">59x</span>
498
393
  <span class="cline-any cline-neutral">&nbsp;</span>
499
394
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -525,98 +420,29 @@
525
420
  <span class="cline-any cline-yes">59x</span>
526
421
  <span class="cline-any cline-yes">59x</span>
527
422
  <span class="cline-any cline-yes">59x</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
423
  <span class="cline-any cline-yes">59x</span>
530
424
  <span class="cline-any cline-yes">59x</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
425
  <span class="cline-any cline-yes">59x</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-neutral">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-neutral">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-neutral">&nbsp;</span>
543
- <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-neutral">&nbsp;</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-yes">875x</span>
548
- <span class="cline-any cline-yes">858x</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-yes">875x</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-neutral">&nbsp;</span>
557
426
  <span class="cline-any cline-yes">59x</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
427
  <span class="cline-any cline-yes">59x</span>
563
- <span class="cline-any cline-yes">271x</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
428
  <span class="cline-any cline-yes">59x</span>
571
- <span class="cline-any cline-yes">130x</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
429
  <span class="cline-any cline-yes">59x</span>
583
- <span class="cline-any cline-yes">44x</span>
584
- <span class="cline-any cline-yes">30x</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-yes">14x</span>
588
- <span class="cline-any cline-neutral">&nbsp;</span>
589
- <span class="cline-any cline-yes">14x</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
430
  <span class="cline-any cline-yes">59x</span>
598
- <span class="cline-any cline-no">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-no">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-yes">59x</span>
606
432
  <span class="cline-any cline-neutral">&nbsp;</span>
607
433
  <span class="cline-any cline-neutral">&nbsp;</span>
608
434
  <span class="cline-any cline-neutral">&nbsp;</span>
609
435
  <span class="cline-any cline-neutral">&nbsp;</span>
610
436
  <span class="cline-any cline-yes">59x</span>
611
- <span class="cline-any cline-yes">323x</span>
612
- <span class="cline-any cline-yes">323x</span>
437
+ <span class="cline-any cline-yes">273x</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
439
  <span class="cline-any cline-neutral">&nbsp;</span>
614
440
  <span class="cline-any cline-neutral">&nbsp;</span>
615
441
  <span class="cline-any cline-neutral">&nbsp;</span>
616
442
  <span class="cline-any cline-neutral">&nbsp;</span>
617
443
  <span class="cline-any cline-neutral">&nbsp;</span>
618
444
  <span class="cline-any cline-yes">59x</span>
619
- <span class="cline-any cline-yes">3x</span>
445
+ <span class="cline-any cline-yes">130x</span>
620
446
  <span class="cline-any cline-neutral">&nbsp;</span>
621
447
  <span class="cline-any cline-neutral">&nbsp;</span>
622
448
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -625,18 +451,10 @@
625
451
  <span class="cline-any cline-neutral">&nbsp;</span>
626
452
  <span class="cline-any cline-neutral">&nbsp;</span>
627
453
  <span class="cline-any cline-yes">59x</span>
628
- <span class="cline-any cline-yes">243x</span>
629
- <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
632
- <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-no">&nbsp;</span>
633
455
  <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-yes">59x</span>
635
- <span class="cline-any cline-yes">3x</span>
636
- <span class="cline-any cline-yes">3x</span>
637
- <span class="cline-any cline-yes">1x</span>
638
456
  <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-yes">2x</span>
457
+ <span class="cline-any cline-no">&nbsp;</span>
640
458
  <span class="cline-any cline-neutral">&nbsp;</span>
641
459
  <span class="cline-any cline-neutral">&nbsp;</span>
642
460
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -831,7 +649,8 @@
831
649
  <span class="cline-any cline-neutral">&nbsp;</span>
832
650
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const newid = require("./newid")
833
651
  const {
834
- DocumentType: CoreDocTypes,
652
+ DocumentType: CoreDocType,
653
+ InternalTable,
835
654
  getRoleParams,
836
655
  generateRoleID,
837
656
  APP_DEV_PREFIX,
@@ -844,6 +663,12 @@ const {
844
663
  generateAppID,
845
664
  getQueryIndex,
846
665
  ViewName,
666
+ getDocParams,
667
+ getRowParams,
668
+ generateRowID,
669
+ getUserMetadataParams,
670
+ generateUserMetadataID,
671
+ getGlobalIDFromUserMetadataID,
847
672
  } = require("@budibase/backend-core/db")
848
673
  &nbsp;
849
674
  const UNICODE_MAX = "\ufff0"
@@ -854,28 +679,7 @@ const AppStatus = {
854
679
  DEPLOYED: "published",
855
680
  }
856
681
  &nbsp;
857
- const DocumentType = {
858
- ...CoreDocTypes,
859
- TABLE: "ta",
860
- ROW: "ro",
861
- USER: "us",
862
- AUTOMATION: "au",
863
- LINK: "li",
864
- WEBHOOK: "wh",
865
- INSTANCE: "inst",
866
- LAYOUT: "layout",
867
- SCREEN: "screen",
868
- QUERY: "query",
869
- DEPLOYMENTS: "deployments",
870
- METADATA: "metadata",
871
- MEM_VIEW: "view",
872
- USER_FLAG: "flag",
873
- AUTOMATION_METADATA: "meta_au",
874
- }
875
- &nbsp;
876
- const InternalTables = {
877
- USER_METADATA: "ta_users",
878
- }
682
+ const DocumentType = CoreDocType
879
683
  &nbsp;
880
684
  const SearchIndexes = {
881
685
  ROWS: "rows",
@@ -895,11 +699,11 @@ exports.APP_PREFIX = APP_PREFIX
895
699
  exports.APP_DEV_PREFIX = APP_DEV_PREFIX
896
700
  exports.isDevAppID = isDevAppID
897
701
  exports.isProdAppID = isProdAppID
898
- exports.USER_METDATA_PREFIX = `${DocumentType.ROW}${SEPARATOR}${InternalTables.USER_METADATA}${SEPARATOR}`
899
- exports.LINK_USER_METADATA_PREFIX = `${DocumentType.LINK}${SEPARATOR}${InternalTables.USER_METADATA}${SEPARATOR}`
702
+ exports.USER_METDATA_PREFIX = `${DocumentType.ROW}${SEPARATOR}${InternalTable.USER_METADATA}${SEPARATOR}`
703
+ exports.LINK_USER_METADATA_PREFIX = `${DocumentType.LINK}${SEPARATOR}${InternalTable.USER_METADATA}${SEPARATOR}`
900
704
  exports.TABLE_ROW_PREFIX = `${DocumentType.ROW}${SEPARATOR}${DocumentType.TABLE}`
901
705
  exports.ViewName = ViewName
902
- exports.InternalTables = InternalTables
706
+ exports.InternalTables = InternalTable
903
707
  exports.DocumentType = DocumentType
904
708
  exports.SEPARATOR = SEPARATOR
905
709
  exports.UNICODE_MAX = UNICODE_MAX
@@ -908,36 +712,15 @@ exports.AppStatus = AppStatus
908
712
  exports.BudibaseInternalDB = BudibaseInternalDB
909
713
  exports.generateAppID = generateAppID
910
714
  exports.generateDevAppID = getDevelopmentAppID
911
- &nbsp;
912
715
  exports.generateRoleID = generateRoleID
913
716
  exports.getRoleParams = getRoleParams
914
- &nbsp;
915
717
  exports.getQueryIndex = getQueryIndex
916
- &nbsp;
917
- /**
918
- * If creating DB allDocs/query params with only a single top level ID this can be used, this
919
- * is usually the case as most of our docs are top level e.g. tables, automations, users and so on.
920
- * More complex cases such as link docs and rows which have multiple levels of IDs that their
921
- * ID consists of need their own functions to build the allDocs parameters.
922
- * @param {string} docType The type of document which input params are being built for, e.g. user,
923
- * link, app, table and so on.
924
- * @param {string|null} docId The ID of the document minus its type - this is only needed if looking
925
- * for a singular document.
926
- * @param {object} otherProps Add any other properties onto the request, e.g. include_docs.
927
- * @returns {object} Parameters which can then be used with an allDocs request.
928
- */
929
- function getDocParams(docType, docId = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span> otherProps = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
930
- if (docId == null) {
931
- docId = ""
932
- }
933
- return {
934
- ...otherProps,
935
- startkey: `${docType}${SEPARATOR}${docId}`,
936
- endkey: `${docType}${SEPARATOR}${docId}${UNICODE_MAX}`,
937
- }
938
- }
939
- &nbsp;
940
718
  exports.getDocParams = getDocParams
719
+ exports.getRowParams = getRowParams
720
+ exports.generateRowID = generateRowID
721
+ exports.getUserMetadataParams = getUserMetadataParams
722
+ exports.generateUserMetadataID = generateUserMetadataID
723
+ exports.getGlobalIDFromUserMetadataID = getGlobalIDFromUserMetadataID
941
724
  &nbsp;
942
725
  /**
943
726
  * Gets parameters for retrieving tables, this is a utility function for the getDocParams function.
@@ -954,24 +737,6 @@ exports.generateTableID = () =&gt; {
954
737
  return `${DocumentType.TABLE}${SEPARATOR}${newid()}`
955
738
  }
956
739
  &nbsp;
957
- /**
958
- * Gets the DB allDocs/query params for retrieving a row.
959
- * @param {string|null} tableId The table in which the rows have been stored.
960
- * @param {string|null} rowId The ID of the row which is being specifically queried for. This can be
961
- * left null to get all the rows in the table.
962
- * @param {object} otherProps Any other properties to add to the request.
963
- * @returns {object} Parameters which can then be used with an allDocs request.
964
- */
965
- exports.getRowParams = (tableId = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span> rowId = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span> otherProps = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; {
966
- if (tableId == null) {
967
- return getDocParams(DocumentType.ROW, null, otherProps)
968
- }
969
- &nbsp;
970
- const endOfKey = rowId == null ? `${tableId}${SEPARATOR}` : <span class="branch-1 cbranch-no" title="branch not covered" >rowId</span>
971
- &nbsp;
972
- return getDocParams(DocumentType.ROW, endOfKey, otherProps)
973
- }
974
- &nbsp;
975
740
  /**
976
741
  * Given a row ID this will find the table ID within it (only works for internal tables).
977
742
  * @param {string} rowId The ID of the row.
@@ -984,44 +749,6 @@ exports.getTableIDFromRowID = <span class="fstat-no" title="function not covered
984
749
  <span class="cstat-no" title="statement not covered" > return `${DocumentType.TABLE}${SEPARATOR}${components[0]}`</span>
985
750
  }
986
751
  &nbsp;
987
- /**
988
- * Gets a new row ID for the specified table.
989
- * @param {string} tableId The table which the row is being created for.
990
- * @param {string|null} id If an ID is to be used then the UUID can be substituted for this.
991
- * @returns {string} The new ID which a row doc can be stored under.
992
- */
993
- exports.generateRowID = (tableId, id = null) =&gt; {
994
- id = id || newid()
995
- return `${DocumentType.ROW}${SEPARATOR}${tableId}${SEPARATOR}${id}`
996
- }
997
- &nbsp;
998
- /**
999
- * Gets parameters for retrieving users, this is a utility function for the getDocParams function.
1000
- */
1001
- exports.getUserMetadataParams = (userId = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span> otherProps = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; {
1002
- return exports.getRowParams(InternalTables.USER_METADATA, userId, otherProps)
1003
- }
1004
- &nbsp;
1005
- /**
1006
- * Generates a new user ID based on the passed in global ID.
1007
- * @param {string} globalId The ID of the global user.
1008
- * @returns {string} The new user ID which the user doc can be stored under.
1009
- */
1010
- exports.generateUserMetadataID = globalId =&gt; {
1011
- return exports.generateRowID(InternalTables.USER_METADATA, globalId)
1012
- }
1013
- &nbsp;
1014
- /**
1015
- * Breaks up the ID to get the global ID.
1016
- */
1017
- exports.getGlobalIDFromUserMetadataID = id =&gt; {
1018
- const prefix = `${DocumentType.ROW}${SEPARATOR}${InternalTables.USER_METADATA}${SEPARATOR}`
1019
- if (!id || !id.includes(prefix)) {
1020
- return id
1021
- }
1022
- return id.split(prefix)[1]
1023
- }
1024
- &nbsp;
1025
752
  /**
1026
753
  * Gets parameters for retrieving automations, this is a utility function for the getDocParams function.
1027
754
  */
@@ -1219,7 +946,7 @@ exports.getMultiIDParams = ids =&gt; {
1219
946
  <div class='footer quiet pad2 space-top1 center small'>
1220
947
  Code coverage generated by
1221
948
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1222
- at Mon Oct 24 2022 16:18:22 GMT+0000 (Coordinated Universal Time)
949
+ at Tue Oct 25 2022 07:30:15 GMT+0000 (Coordinated Universal Time)
1223
950
  </div>
1224
951
  <script src="../prettify.js"></script>
1225
952
  <script>
@@ -229,7 +229,7 @@ module.exports = AutomationEmitter
229
229
  <div class='footer quiet pad2 space-top1 center small'>
230
230
  Code coverage generated by
231
231
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
232
- at Mon Oct 24 2022 16:18:22 GMT+0000 (Coordinated Universal Time)
232
+ at Tue Oct 25 2022 07:30:15 GMT+0000 (Coordinated Universal Time)
233
233
  </div>
234
234
  <script src="../prettify.js"></script>
235
235
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Mon Oct 24 2022 16:18:22 GMT+0000 (Coordinated Universal Time)
134
+ at Tue Oct 25 2022 07:30:15 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
137
137
  <script>
@@ -160,7 +160,7 @@ module.exports = emitter
160
160
  <div class='footer quiet pad2 space-top1 center small'>
161
161
  Code coverage generated by
162
162
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
163
- at Mon Oct 24 2022 16:18:22 GMT+0000 (Coordinated Universal Time)
163
+ at Tue Oct 25 2022 07:30:15 GMT+0000 (Coordinated Universal Time)
164
164
  </div>
165
165
  <script src="../prettify.js"></script>
166
166
  <script>
@@ -184,7 +184,7 @@ exports.tableEmission = ({ emitter, eventName, appId, table, metadata }) =&gt; {
184
184
  <div class='footer quiet pad2 space-top1 center small'>
185
185
  Code coverage generated by
186
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
187
- at Mon Oct 24 2022 16:18:22 GMT+0000 (Coordinated Universal Time)
187
+ at Tue Oct 25 2022 07:30:15 GMT+0000 (Coordinated Universal Time)
188
188
  </div>
189
189
  <script src="../prettify.js"></script>
190
190
  <script>