@budibase/server 2.1.40-alpha.4 → 2.1.41

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 (787) hide show
  1. package/__mocks__/aws-sdk.ts +0 -14
  2. package/__mocks__/node-fetch.ts +1 -5
  3. package/builder/assets/{index.ddf1f73a.js → index.2467ba90.js} +324 -324
  4. package/builder/assets/{index.144dddb2.css → index.534f6c29.css} +2 -2
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +3741 -10731
  7. package/coverage/coverage-final.json +118 -266
  8. package/coverage/lcov-report/{src/api/controllers/apikeys.ts.html → api/controllers/apikeys.js.html} +26 -26
  9. package/coverage/lcov-report/{src/api/controllers/automation.ts.html → api/controllers/automation.js.html} +75 -75
  10. package/coverage/lcov-report/{src/api/controllers/cloud.ts.html → api/controllers/cloud.js.html} +47 -47
  11. package/coverage/lcov-report/{src/api/controllers/datasource.ts.html → api/controllers/datasource.js.html} +87 -246
  12. package/coverage/lcov-report/{src/api/controllers/dev.ts.html → api/controllers/dev.js.html} +71 -53
  13. package/coverage/lcov-report/api/controllers/index.html +326 -0
  14. package/coverage/lcov-report/{src/api/controllers/integration.ts.html → api/controllers/integration.js.html} +22 -19
  15. package/coverage/lcov-report/{src/api/controllers/layout.ts.html → api/controllers/layout.js.html} +26 -26
  16. package/coverage/lcov-report/{src/api/controllers/metadata.ts.html → api/controllers/metadata.js.html} +23 -26
  17. package/coverage/lcov-report/{src/api/controllers/migrations.ts.html → api/controllers/migrations.js.html} +15 -18
  18. package/coverage/lcov-report/{src/api/controllers/permission.ts.html → api/controllers/permission.js.html} +71 -80
  19. package/coverage/lcov-report/{src/utilities/routing → api/controllers/query}/index.html +8 -8
  20. package/coverage/lcov-report/{src/api/controllers/query/validation.ts.html → api/controllers/query/validation.js.html} +17 -17
  21. package/coverage/lcov-report/{src/api/controllers/role.ts.html → api/controllers/role.js.html} +56 -44
  22. package/coverage/lcov-report/{src/api/controllers/routing.ts.html → api/controllers/routing.js.html} +56 -65
  23. package/coverage/lcov-report/{src/api/controllers/row/external.ts.html → api/controllers/row/external.js.html} +94 -145
  24. package/coverage/lcov-report/{src/api → api}/controllers/row/index.html +52 -82
  25. package/coverage/lcov-report/{src/api/controllers/row/internal.ts.html → api/controllers/row/internal.js.html} +95 -137
  26. package/coverage/lcov-report/{src/api/controllers/row/internalSearch.ts.html → api/controllers/row/internalSearch.js.html} +110 -182
  27. package/coverage/lcov-report/{src/api/controllers/row/staticFormula.ts.html → api/controllers/row/staticFormula.js.html} +51 -66
  28. package/coverage/lcov-report/{src/api/controllers/row/utils.ts.html → api/controllers/row/utils.js.html} +47 -77
  29. package/coverage/lcov-report/{src/api/controllers/script.ts.html → api/controllers/script.js.html} +14 -17
  30. package/coverage/lcov-report/{src/api/controllers/table/bulkFormula.ts.html → api/controllers/table/bulkFormula.js.html} +54 -96
  31. package/coverage/lcov-report/{src/api/controllers/table/external.ts.html → api/controllers/table/external.js.html} +103 -196
  32. package/coverage/lcov-report/{src/utilities/fileSystem → api/controllers/table}/index.html +44 -44
  33. package/coverage/lcov-report/{src/api/controllers/table/index.ts.html → api/controllers/table/index.js.html} +37 -46
  34. package/coverage/lcov-report/{src/api/controllers/templates.ts.html → api/controllers/templates.js.html} +25 -34
  35. package/coverage/lcov-report/{src/api/controllers/user.ts.html → api/controllers/user.js.html} +85 -79
  36. package/coverage/lcov-report/{src/api/controllers/view/exporters.ts.html → api/controllers/view/exporters.js.html} +14 -20
  37. package/coverage/lcov-report/{src/api → api}/controllers/view/index.html +36 -36
  38. package/coverage/lcov-report/{src/api/controllers/view/index.ts.html → api/controllers/view/index.js.html} +48 -75
  39. package/coverage/lcov-report/{src/api/controllers/view/utils.ts.html → api/controllers/view/utils.js.html} +43 -61
  40. package/coverage/lcov-report/{src/api/controllers/view/viewBuilder.ts.html → api/controllers/view/viewBuilder.js.html} +32 -74
  41. package/coverage/lcov-report/{src/api → api}/index.html +23 -23
  42. package/coverage/lcov-report/{src/api/index.ts.html → api/index.js.html} +56 -35
  43. package/coverage/lcov-report/{src/api/routes/analytics.ts.html → api/routes/analytics.js.html} +14 -14
  44. package/coverage/lcov-report/{src/middleware/selfhost.ts.html → api/routes/apikeys.js.html} +27 -27
  45. package/coverage/lcov-report/{src/api/routes/automation.ts.html → api/routes/automation.js.html} +42 -48
  46. package/coverage/lcov-report/{src/api/routes/backup.ts.html → api/routes/cloud.js.html} +21 -21
  47. package/coverage/lcov-report/{src/api/routes/component.ts.html → api/routes/component.js.html} +17 -17
  48. package/coverage/lcov-report/{src/constants/screens.ts.html → api/routes/datasource.js.html} +65 -56
  49. package/coverage/lcov-report/{src/api/routes/cloud.ts.html → api/routes/deploy.js.html} +22 -25
  50. package/coverage/lcov-report/{src/automations/index.ts.html → api/routes/dev.js.html} +42 -42
  51. package/coverage/lcov-report/{src/api → api}/routes/index.html +47 -167
  52. package/coverage/lcov-report/{src/api/routes/apikeys.ts.html → api/routes/integration.js.html} +18 -18
  53. package/coverage/lcov-report/{src/api/routes/layout.ts.html → api/routes/layout.js.html} +18 -18
  54. package/coverage/lcov-report/{src/api/routes/metadata.ts.html → api/routes/metadata.js.html} +24 -24
  55. package/coverage/lcov-report/{src/sdk/index.ts.html → api/routes/migrations.js.html} +21 -24
  56. package/coverage/lcov-report/{src/api/routes/permission.ts.html → api/routes/permission.js.html} +24 -48
  57. package/coverage/lcov-report/{src/api/routes/query.ts.html → api/routes/query.js.html} +42 -33
  58. package/coverage/lcov-report/{src/db/index.ts.html → api/routes/role.js.html} +25 -28
  59. package/coverage/lcov-report/{src/api/routes/routing.ts.html → api/routes/routing.js.html} +17 -17
  60. package/coverage/lcov-report/api/routes/screen.js.html +139 -0
  61. package/coverage/lcov-report/{src/api/routes/script.ts.html → api/routes/script.js.html} +17 -17
  62. package/coverage/lcov-report/{src/api/routes/table.ts.html → api/routes/table.js.html} +33 -24
  63. package/coverage/lcov-report/{src/api/routes/templates.ts.html → api/routes/templates.js.html} +18 -18
  64. package/coverage/lcov-report/{src/api/routes/user.ts.html → api/routes/user.js.html} +35 -29
  65. package/coverage/lcov-report/{src/api → api}/routes/utils/index.html +15 -15
  66. package/coverage/lcov-report/{src/api/routes/utils/validators.ts.html → api/routes/utils/validators.js.html} +58 -46
  67. package/coverage/lcov-report/{src/api/routes/view.ts.html → api/routes/view.js.html} +31 -40
  68. package/coverage/lcov-report/{src/automations/actions.ts.html → automations/actions.js.html} +41 -50
  69. package/coverage/lcov-report/{src/automations/automationUtils.ts.html → automations/automationUtils.js.html} +27 -30
  70. package/coverage/lcov-report/{src/automations/bullboard.ts.html → automations/bullboard.js.html} +33 -30
  71. package/coverage/lcov-report/{src/automations → automations}/index.html +48 -63
  72. package/coverage/lcov-report/{src/websocket.ts.html → automations/index.js.html} +50 -41
  73. package/coverage/lcov-report/{src/automations/steps/bash.ts.html → automations/steps/bash.js.html} +25 -40
  74. package/coverage/lcov-report/{src/automations/steps/delay.ts.html → automations/steps/delay.js.html} +17 -32
  75. package/coverage/lcov-report/{src/automations/steps/discord.ts.html → automations/steps/discord.js.html} +23 -38
  76. package/coverage/lcov-report/{src/automations/steps/executeQuery.ts.html → automations/steps/executeQuery.js.html} +26 -41
  77. package/coverage/lcov-report/{src/automations/steps/executeScript.ts.html → automations/steps/executeScript.js.html} +24 -54
  78. package/coverage/lcov-report/{src/automations/steps/filter.ts.html → automations/steps/filter.js.html} +27 -36
  79. package/coverage/lcov-report/automations/steps/index.html +341 -0
  80. package/coverage/lcov-report/{src/automations/steps/integromat.ts.html → automations/steps/integromat.js.html} +20 -35
  81. package/coverage/lcov-report/{src/automations/steps/loop.ts.html → automations/steps/loop.js.html} +15 -21
  82. package/coverage/lcov-report/{src/automations/steps/outgoingWebhook.ts.html → automations/steps/outgoingWebhook.js.html} +33 -48
  83. package/coverage/lcov-report/{src/automations/steps/queryRows.ts.html → automations/steps/queryRows.js.html} +58 -94
  84. package/coverage/lcov-report/{src/automations/steps/sendSmtpEmail.ts.html → automations/steps/sendSmtpEmail.js.html} +22 -37
  85. package/coverage/lcov-report/{src/automations/steps/serverLog.ts.html → automations/steps/serverLog.js.html} +20 -38
  86. package/coverage/lcov-report/{src/automations/steps/slack.ts.html → automations/steps/slack.js.html} +20 -35
  87. package/coverage/lcov-report/{src/automations/steps/updateRow.ts.html → automations/steps/updateRow.js.html} +21 -36
  88. package/coverage/lcov-report/{src/automations/steps/utils.ts.html → automations/steps/utils.js.html} +26 -44
  89. package/coverage/lcov-report/{src/automations/steps/zapier.ts.html → automations/steps/zapier.js.html} +20 -38
  90. package/coverage/lcov-report/{src/definitions/automations.ts.html → automations/triggerInfo/app.js.html} +42 -42
  91. package/coverage/lcov-report/{src/automations/triggerInfo/cron.ts.html → automations/triggerInfo/cron.js.html} +15 -30
  92. package/coverage/lcov-report/{src/automations → automations}/triggerInfo/index.html +31 -31
  93. package/coverage/lcov-report/{src/automations/triggerInfo/index.ts.html → automations/triggerInfo/index.js.html} +17 -17
  94. package/coverage/lcov-report/{src/automations/triggerInfo/rowDeleted.ts.html → automations/triggerInfo/rowDeleted.js.html} +15 -30
  95. package/coverage/lcov-report/{src/automations/triggerInfo/rowSaved.ts.html → automations/triggerInfo/rowSaved.js.html} +15 -30
  96. package/coverage/lcov-report/{src/automations/triggerInfo/rowUpdated.ts.html → automations/triggerInfo/rowUpdated.js.html} +15 -30
  97. package/coverage/lcov-report/{src/automations/triggerInfo/webhook.ts.html → automations/triggerInfo/webhook.js.html} +15 -30
  98. package/coverage/lcov-report/{src/automations/triggers.ts.html → automations/triggers.js.html} +47 -59
  99. package/coverage/lcov-report/{src/constants → constants}/index.html +26 -26
  100. package/coverage/lcov-report/{src/constants/index.ts.html → constants/index.js.html} +185 -173
  101. package/coverage/lcov-report/{src/constants/layouts.ts.html → constants/layouts.js.html} +34 -16
  102. package/coverage/lcov-report/{src/definitions/datasource.ts.html → constants/screens.js.html} +60 -72
  103. package/coverage/lcov-report/{src/db/inMemoryView.ts.html → db/inMemoryView.js.html} +26 -44
  104. package/coverage/lcov-report/{src/db → db}/index.html +33 -48
  105. package/coverage/lcov-report/{src/api/routes/integration.ts.html → db/index.js.html} +36 -36
  106. package/coverage/lcov-report/{src/db/linkedRows/LinkController.ts.html → db/linkedRows/LinkController.js.html} +155 -92
  107. package/coverage/lcov-report/db/linkedRows/index.html +146 -0
  108. package/coverage/lcov-report/{src/db/linkedRows/index.ts.html → db/linkedRows/index.js.html} +68 -83
  109. package/coverage/lcov-report/{src/db/linkedRows/linkUtils.ts.html → db/linkedRows/linkUtils.js.html} +46 -73
  110. package/coverage/lcov-report/{src/db/newid.ts.html → db/newid.js.html} +11 -11
  111. package/coverage/lcov-report/{src/db/utils.ts.html → db/utils.js.html} +153 -105
  112. package/coverage/lcov-report/{src/events/AutomationEmitter.ts.html → events/AutomationEmitter.js.html} +21 -36
  113. package/coverage/lcov-report/{src/events → events}/index.html +33 -48
  114. package/coverage/lcov-report/{src/events/BudibaseEmitter.ts.html → events/index.js.html} +26 -23
  115. package/coverage/lcov-report/{src/automations/triggerInfo/app.ts.html → events/utils.js.html} +72 -69
  116. package/coverage/lcov-report/index.html +184 -679
  117. package/coverage/lcov-report/{src/integrations → integrations}/tests/TestConfiguration.js.html +10 -10
  118. package/coverage/lcov-report/{src/integrations → integrations}/tests/index.html +10 -10
  119. package/coverage/lcov-report/{src/middleware/appInfo.ts.html → middleware/appInfo.js.html} +28 -31
  120. package/coverage/lcov-report/{src/middleware/builder.ts.html → middleware/builder.js.html} +37 -43
  121. package/coverage/lcov-report/{src/middleware/currentapp.ts.html → middleware/currentapp.js.html} +68 -77
  122. package/coverage/lcov-report/{src/middleware → middleware}/index.html +63 -78
  123. package/coverage/lcov-report/{src/middleware/joi-validator.ts.html → middleware/joi-validator.js.html} +22 -25
  124. package/coverage/lcov-report/{src/middleware/publicApi.ts.html → middleware/publicApi.js.html} +24 -24
  125. package/coverage/lcov-report/{src/middleware/resourceId.ts.html → middleware/resourceId.js.html} +25 -40
  126. package/coverage/lcov-report/{src/tests/utilities/index.ts.html → middleware/selfhost.js.html} +30 -33
  127. package/coverage/lcov-report/{src/middleware/utils.ts.html → middleware/utils.js.html} +13 -19
  128. package/coverage/lcov-report/{src/utilities/budibaseDir.ts.html → utilities/budibaseDir.js.html} +12 -12
  129. package/coverage/lcov-report/{src/utilities/centralPath.ts.html → utilities/centralPath.js.html} +13 -13
  130. package/coverage/lcov-report/{src/utilities/csvParser.ts.html → utilities/csvParser.js.html} +56 -104
  131. package/coverage/lcov-report/{src/utilities/global.ts.html → utilities/global.js.html} +74 -107
  132. package/coverage/lcov-report/{src/utilities → utilities}/index.html +77 -92
  133. package/coverage/lcov-report/{src/utilities/index.ts.html → utilities/index.js.html} +54 -78
  134. package/coverage/lcov-report/{src/utilities/plugins.ts.html → utilities/plugins.js.html} +19 -22
  135. package/coverage/lcov-report/{src/integrations/airtable.ts.html → utilities/queue/inMemoryQueue.js.html} +135 -213
  136. package/coverage/lcov-report/{src/migrations → utilities/queue}/index.html +23 -23
  137. package/coverage/lcov-report/{src/sdk → utilities/routing}/index.html +10 -10
  138. package/coverage/lcov-report/{src/api/routes/role.ts.html → utilities/routing/index.js.html} +42 -39
  139. package/coverage/lcov-report/{src/definitions → utilities/rowProcessor}/index.html +34 -34
  140. package/coverage/lcov-report/{src/utilities/rowProcessor/index.ts.html → utilities/rowProcessor/index.js.html} +346 -115
  141. package/coverage/lcov-report/{src/utilities/rowProcessor/utils.ts.html → utilities/rowProcessor/utils.js.html} +38 -50
  142. package/coverage/lcov-report/{src/utilities/scriptRunner.ts.html → utilities/scriptRunner.js.html} +16 -28
  143. package/coverage/lcov-report/{src/utilities/security.ts.html → utilities/security.js.html} +74 -56
  144. package/coverage/lcov-report/{src/utilities/statusCodes.ts.html → utilities/statusCodes.js.html} +11 -11
  145. package/coverage/lcov-report/{src/utilities → utilities}/usageQuota/index.html +28 -28
  146. package/coverage/lcov-report/{src/utilities/usageQuota/rows.ts.html → utilities/usageQuota/rows.js.html} +46 -34
  147. package/coverage/lcov-report/{src/utilities/usageQuota/usageQuoteReset.ts.html → utilities/usageQuota/usageQuoteReset.js.html} +13 -13
  148. package/coverage/lcov-report/{src/utilities/users.ts.html → utilities/users.js.html} +35 -29
  149. package/coverage/lcov-report/{src/utilities/workerRequests.ts.html → utilities/workerRequests.js.html} +114 -129
  150. package/coverage/lcov.info +6987 -19540
  151. package/dist/api/controllers/apikeys.js +9 -12
  152. package/dist/api/controllers/application.js +45 -48
  153. package/dist/api/controllers/automation.js +82 -122
  154. package/dist/api/controllers/cloud.js +71 -84
  155. package/dist/api/controllers/component.js +2 -4
  156. package/dist/api/controllers/datasource.js +92 -144
  157. package/dist/api/controllers/deploy/Deployment.js +6 -10
  158. package/dist/api/controllers/deploy/index.js +16 -13
  159. package/dist/api/controllers/dev.js +81 -96
  160. package/dist/api/controllers/integration.js +8 -11
  161. package/dist/api/controllers/layout.js +15 -18
  162. package/dist/api/controllers/metadata.js +37 -51
  163. package/dist/api/controllers/migrations.js +11 -19
  164. package/dist/api/controllers/permission.js +43 -52
  165. package/dist/api/controllers/plugin/index.js +7 -6
  166. package/dist/api/controllers/plugin/utils.js +1 -2
  167. package/dist/api/controllers/public/applications.js +9 -17
  168. package/dist/api/controllers/public/tables.js +9 -29
  169. package/dist/api/controllers/public/utils.js +2 -2
  170. package/dist/api/controllers/query/import/index.js +2 -1
  171. package/dist/api/controllers/query/index.js +13 -10
  172. package/dist/api/controllers/query/validation.js +33 -41
  173. package/dist/api/controllers/role.js +27 -29
  174. package/dist/api/controllers/routing.js +58 -71
  175. package/dist/api/controllers/row/ExternalRequest.js +542 -538
  176. package/dist/api/controllers/row/external.js +190 -258
  177. package/dist/api/controllers/row/index.js +14 -43
  178. package/dist/api/controllers/row/internal.js +295 -354
  179. package/dist/api/controllers/row/internalSearch.js +80 -95
  180. package/dist/api/controllers/row/staticFormula.js +112 -125
  181. package/dist/api/controllers/row/utils.js +84 -122
  182. package/dist/api/controllers/screen.js +66 -81
  183. package/dist/api/controllers/script.js +6 -13
  184. package/dist/api/controllers/static/index.js +14 -11
  185. package/dist/api/controllers/table/bulkFormula.js +35 -47
  186. package/dist/api/controllers/table/external.js +53 -89
  187. package/dist/api/controllers/table/index.js +31 -64
  188. package/dist/api/controllers/table/internal.js +6 -5
  189. package/dist/api/controllers/table/utils.js +35 -39
  190. package/dist/api/controllers/templates.js +10 -17
  191. package/dist/api/controllers/user.js +70 -82
  192. package/dist/api/controllers/view/exporters.js +4 -8
  193. package/dist/api/controllers/view/index.js +153 -201
  194. package/dist/api/controllers/view/utils.js +121 -151
  195. package/dist/api/controllers/view/viewBuilder.js +16 -4
  196. package/dist/api/controllers/webhook.js +2 -25
  197. package/dist/api/index.js +34 -38
  198. package/dist/api/routes/analytics.js +3 -29
  199. package/dist/api/routes/apikeys.js +7 -33
  200. package/dist/api/routes/application.js +9 -8
  201. package/dist/api/routes/auth.js +2 -1
  202. package/dist/api/routes/automation.js +20 -46
  203. package/dist/api/routes/backup.js +4 -3
  204. package/dist/api/routes/cloud.js +6 -32
  205. package/dist/api/routes/component.js +6 -32
  206. package/dist/api/routes/datasource.js +13 -39
  207. package/dist/api/routes/deploy.js +8 -34
  208. package/dist/api/routes/dev.js +10 -36
  209. package/dist/api/routes/integration.js +7 -33
  210. package/dist/api/routes/layout.js +7 -33
  211. package/dist/api/routes/metadata.js +10 -36
  212. package/dist/api/routes/migrations.js +6 -32
  213. package/dist/api/routes/permission.js +12 -38
  214. package/dist/api/routes/plugin.js +5 -5
  215. package/dist/api/routes/public/index.js +11 -11
  216. package/dist/api/routes/query.js +15 -42
  217. package/dist/api/routes/role.js +10 -36
  218. package/dist/api/routes/routing.js +6 -32
  219. package/dist/api/routes/row.js +11 -12
  220. package/dist/api/routes/screen.js +9 -35
  221. package/dist/api/routes/script.js +6 -32
  222. package/dist/api/routes/static.js +9 -9
  223. package/dist/api/routes/table.js +13 -40
  224. package/dist/api/routes/templates.js +7 -33
  225. package/dist/api/routes/tests/utilities/TestFunctions.js +8 -6
  226. package/dist/api/routes/tests/utilities/index.js +32 -69
  227. package/dist/api/routes/user.js +13 -40
  228. package/dist/api/routes/utils/validators.js +126 -142
  229. package/dist/api/routes/view.js +12 -38
  230. package/dist/api/routes/webhook.js +2 -1
  231. package/dist/app.js +22 -22
  232. package/dist/automations/actions.js +24 -53
  233. package/dist/automations/automationUtils.js +19 -31
  234. package/dist/automations/bullboard.js +29 -59
  235. package/dist/automations/index.js +18 -23
  236. package/dist/automations/steps/bash.js +10 -40
  237. package/dist/automations/steps/createRow.js +1 -2
  238. package/dist/automations/steps/delay.js +5 -9
  239. package/dist/automations/steps/deleteRow.js +1 -2
  240. package/dist/automations/steps/discord.js +7 -14
  241. package/dist/automations/steps/executeQuery.js +7 -34
  242. package/dist/automations/steps/executeScript.js +7 -34
  243. package/dist/automations/steps/filter.js +18 -20
  244. package/dist/automations/steps/integromat.js +7 -14
  245. package/dist/automations/steps/loop.js +1 -4
  246. package/dist/automations/steps/outgoingWebhook.js +14 -45
  247. package/dist/automations/steps/queryRows.js +38 -71
  248. package/dist/automations/steps/sendSmtpEmail.js +6 -33
  249. package/dist/automations/steps/serverLog.js +8 -12
  250. package/dist/automations/steps/slack.js +7 -14
  251. package/dist/automations/steps/updateRow.js +7 -34
  252. package/dist/automations/steps/utils.js +16 -22
  253. package/dist/automations/steps/zapier.js +7 -15
  254. package/dist/automations/tests/utilities/index.js +38 -62
  255. package/dist/automations/triggerInfo/app.js +1 -4
  256. package/dist/automations/triggerInfo/cron.js +1 -4
  257. package/dist/automations/triggerInfo/index.js +6 -31
  258. package/dist/automations/triggerInfo/rowDeleted.js +1 -4
  259. package/dist/automations/triggerInfo/rowSaved.js +1 -4
  260. package/dist/automations/triggerInfo/rowUpdated.js +1 -4
  261. package/dist/automations/triggerInfo/webhook.js +1 -4
  262. package/dist/automations/triggers.js +57 -90
  263. package/dist/automations/utils.js +8 -9
  264. package/dist/constants/index.js +104 -118
  265. package/dist/constants/layouts.js +10 -7
  266. package/dist/constants/screens.js +44 -49
  267. package/dist/db/dynamoClient.js +20 -20
  268. package/dist/db/inMemoryView.js +38 -47
  269. package/dist/db/index.js +4 -7
  270. package/dist/db/linkedRows/LinkController.js +70 -51
  271. package/dist/db/linkedRows/index.js +81 -93
  272. package/dist/db/linkedRows/linkUtils.js +32 -42
  273. package/dist/db/utils.js +119 -146
  274. package/dist/db/views/staticViews.js +74 -91
  275. package/dist/environment.js +6 -9
  276. package/dist/events/AutomationEmitter.js +10 -13
  277. package/dist/events/index.js +23 -5
  278. package/dist/events/utils.js +10 -18
  279. package/dist/integrations/elasticsearch.js +2 -26
  280. package/dist/integrations/googlesheets.js +6 -5
  281. package/dist/integrations/index.js +6 -15
  282. package/dist/integrations/s3.js +1 -157
  283. package/dist/integrations/tests/TestConfiguration.js +1 -0
  284. package/dist/middleware/appInfo.js +9 -14
  285. package/dist/middleware/authorized.js +21 -22
  286. package/dist/middleware/builder.js +40 -41
  287. package/dist/middleware/currentapp.js +37 -39
  288. package/dist/middleware/joi-validator.js +10 -17
  289. package/dist/middleware/publicApi.js +6 -5
  290. package/dist/middleware/resourceId.js +9 -16
  291. package/dist/middleware/selfhost.js +4 -5
  292. package/dist/middleware/utils.js +2 -5
  293. package/dist/migrations/functions/appUrls.js +2 -2
  294. package/dist/migrations/functions/backfill/global.js +1 -1
  295. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -3
  296. package/dist/migrations/functions/usageQuotas/syncRows.js +4 -3
  297. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  298. package/dist/package.json +45 -11
  299. package/dist/sdk/app/backups/exports.js +2 -1
  300. package/dist/sdk/app/backups/imports.js +3 -2
  301. package/dist/sdk/app/tables/index.js +5 -5
  302. package/dist/startup.js +10 -10
  303. package/dist/tests/utilities/TestConfiguration.js +87 -111
  304. package/dist/tests/utilities/controllers.js +15 -38
  305. package/dist/tests/utilities/structures.js +53 -72
  306. package/dist/threads/automation.js +27 -49
  307. package/dist/threads/query.js +19 -17
  308. package/dist/threads/utils.js +8 -33
  309. package/dist/tsconfig.build.tsbuildinfo +1 -1
  310. package/dist/utilities/budibaseDir.js +2 -4
  311. package/dist/utilities/centralPath.js +7 -14
  312. package/dist/utilities/csvParser.js +21 -27
  313. package/dist/utilities/fileSystem/clientLibrary.js +73 -87
  314. package/dist/utilities/fileSystem/index.js +175 -203
  315. package/dist/utilities/fileSystem/processor.js +3 -8
  316. package/dist/utilities/fileSystem/utilities.js +22 -0
  317. package/dist/utilities/global.js +66 -87
  318. package/dist/utilities/index.js +75 -102
  319. package/dist/utilities/plugins.js +9 -15
  320. package/dist/utilities/queue/inMemoryQueue.js +126 -0
  321. package/dist/utilities/redis.js +65 -100
  322. package/dist/utilities/routing/index.js +23 -27
  323. package/dist/utilities/rowProcessor/index.js +191 -133
  324. package/dist/utilities/rowProcessor/utils.js +26 -35
  325. package/dist/utilities/scriptRunner.js +5 -8
  326. package/dist/utilities/security.js +35 -39
  327. package/dist/utilities/usageQuota/rows.js +49 -56
  328. package/dist/utilities/users.js +28 -31
  329. package/dist/utilities/workerRequests.js +82 -115
  330. package/dist/watch.js +2 -1
  331. package/package.json +46 -12
  332. package/scripts/exportAppTemplate.js +2 -2
  333. package/{src/tests/jestSetup.ts → scripts/jestSetup.js} +2 -11
  334. package/scripts/localdomain.js +6 -34
  335. package/src/api/controllers/{apikeys.ts → apikeys.js} +10 -10
  336. package/src/api/controllers/application.ts +42 -56
  337. package/src/api/controllers/auth.ts +3 -4
  338. package/src/api/controllers/{automation.ts → automation.js} +48 -48
  339. package/src/api/controllers/{cloud.ts → cloud.js} +24 -24
  340. package/src/api/controllers/component.ts +1 -2
  341. package/src/api/controllers/{datasource.ts → datasource.js} +47 -100
  342. package/src/api/controllers/deploy/{Deployment.ts → Deployment.js} +10 -13
  343. package/src/api/controllers/deploy/index.ts +25 -13
  344. package/src/api/controllers/{dev.ts → dev.js} +37 -31
  345. package/src/api/controllers/integration.js +14 -0
  346. package/src/api/controllers/{layout.ts → layout.js} +8 -8
  347. package/src/api/controllers/{metadata.ts → metadata.js} +10 -11
  348. package/src/api/controllers/migrations.js +13 -0
  349. package/src/api/controllers/{permission.ts → permission.js} +46 -49
  350. package/src/api/controllers/plugin/index.ts +5 -4
  351. package/src/api/controllers/plugin/utils.ts +5 -3
  352. package/src/api/controllers/public/applications.ts +9 -15
  353. package/src/api/controllers/public/rows.ts +1 -1
  354. package/src/api/controllers/public/tables.ts +2 -2
  355. package/src/api/controllers/public/utils.ts +2 -2
  356. package/src/api/controllers/query/import/index.ts +3 -2
  357. package/src/api/controllers/query/index.ts +14 -11
  358. package/src/api/controllers/query/{validation.ts → validation.js} +7 -7
  359. package/src/api/controllers/{role.ts → role.js} +25 -21
  360. package/src/api/controllers/{routing.ts → routing.js} +34 -37
  361. package/src/api/controllers/row/ExternalRequest.ts +624 -602
  362. package/src/api/controllers/row/{external.ts → external.js} +62 -79
  363. package/src/api/controllers/row/index.ts +11 -19
  364. package/src/api/controllers/row/{internal.ts → internal.js} +73 -87
  365. package/src/api/controllers/row/{internalSearch.ts → internalSearch.js} +68 -92
  366. package/src/api/controllers/row/{staticFormula.ts → staticFormula.js} +25 -30
  367. package/src/api/controllers/row/{utils.ts → utils.js} +22 -32
  368. package/src/api/controllers/screen.ts +6 -10
  369. package/src/api/controllers/script.js +11 -0
  370. package/src/api/controllers/static/index.ts +16 -14
  371. package/src/api/controllers/table/{bulkFormula.ts → bulkFormula.js} +25 -39
  372. package/src/api/controllers/table/{external.ts → external.js} +55 -86
  373. package/src/api/controllers/table/{index.ts → index.js} +18 -21
  374. package/src/api/controllers/table/internal.ts +6 -5
  375. package/src/api/controllers/table/utils.ts +21 -26
  376. package/src/api/controllers/{templates.ts → templates.js} +7 -10
  377. package/src/api/controllers/{user.ts → user.js} +49 -47
  378. package/src/api/controllers/view/{exporters.ts → exporters.js} +3 -5
  379. package/src/api/controllers/view/{index.ts → index.js} +27 -36
  380. package/src/api/controllers/view/{utils.ts → utils.js} +20 -26
  381. package/src/api/controllers/view/{viewBuilder.ts → viewBuilder.js} +11 -25
  382. package/src/api/controllers/webhook.ts +1 -1
  383. package/src/api/{index.ts → index.js} +22 -15
  384. package/src/api/routes/analytics.js +9 -0
  385. package/src/api/routes/apikeys.js +12 -0
  386. package/src/api/routes/application.ts +9 -17
  387. package/src/api/routes/auth.ts +2 -2
  388. package/src/api/routes/automation.js +85 -0
  389. package/src/api/routes/backup.ts +4 -8
  390. package/src/api/routes/cloud.js +14 -0
  391. package/src/api/routes/component.js +14 -0
  392. package/src/api/routes/datasource.js +51 -0
  393. package/src/api/routes/deploy.js +17 -0
  394. package/src/api/routes/dev.js +26 -0
  395. package/src/api/routes/integration.js +12 -0
  396. package/src/api/routes/layout.js +16 -0
  397. package/src/api/routes/{metadata.ts → metadata.js} +13 -13
  398. package/src/api/routes/migrations.js +14 -0
  399. package/src/api/routes/permission.js +33 -0
  400. package/src/api/routes/plugin.ts +6 -14
  401. package/src/api/routes/public/index.ts +14 -11
  402. package/src/api/routes/public/tests/compare.spec.js +1 -1
  403. package/src/api/routes/{query.ts → query.js} +22 -19
  404. package/src/api/routes/role.js +15 -0
  405. package/src/api/routes/routing.js +14 -0
  406. package/src/api/routes/row.ts +15 -13
  407. package/src/api/routes/screen.js +18 -0
  408. package/src/api/routes/script.js +10 -0
  409. package/src/api/routes/static.ts +10 -7
  410. package/src/api/routes/{table.ts → table.js} +13 -10
  411. package/src/api/routes/templates.js +16 -0
  412. package/src/api/routes/tests/analytics.spec.js +1 -1
  413. package/src/api/routes/tests/backup.spec.js +1 -9
  414. package/src/api/routes/tests/deployment.spec.ts +1 -1
  415. package/src/api/routes/tests/permissions.spec.js +1 -2
  416. package/src/api/routes/tests/query.spec.js +10 -15
  417. package/src/api/routes/tests/role.spec.js +9 -7
  418. package/src/api/routes/tests/routing.spec.js +1 -2
  419. package/src/api/routes/tests/row.spec.js +4 -3
  420. package/src/api/routes/tests/static.spec.js +2 -2
  421. package/src/api/routes/tests/table.spec.js +36 -40
  422. package/src/api/routes/tests/user.spec.js +1 -2
  423. package/src/api/routes/tests/utilities/TestFunctions.ts +8 -6
  424. package/src/api/routes/tests/utilities/{index.ts → index.js} +12 -12
  425. package/src/api/routes/tests/view.spec.js +3 -3
  426. package/src/api/routes/user.js +53 -0
  427. package/src/api/routes/utils/{validators.ts → validators.js} +37 -33
  428. package/src/api/routes/view.js +31 -0
  429. package/src/api/routes/webhook.ts +2 -2
  430. package/src/app.ts +14 -15
  431. package/src/automations/{actions.ts → actions.js} +23 -26
  432. package/src/automations/{automationUtils.ts → automationUtils.js} +12 -13
  433. package/src/automations/bullboard.js +39 -0
  434. package/src/automations/index.js +29 -0
  435. package/src/automations/steps/{bash.ts → bash.js} +8 -13
  436. package/src/automations/steps/createRow.ts +3 -8
  437. package/src/automations/steps/{delay.ts → delay.js} +4 -9
  438. package/src/automations/steps/deleteRow.ts +3 -8
  439. package/src/automations/steps/{discord.ts → discord.js} +5 -10
  440. package/src/automations/steps/{executeQuery.ts → executeQuery.js} +7 -12
  441. package/src/automations/steps/{executeScript.ts → executeScript.js} +7 -17
  442. package/src/automations/steps/{filter.ts → filter.js} +9 -12
  443. package/src/automations/steps/{integromat.ts → integromat.js} +5 -10
  444. package/src/automations/steps/{loop.ts → loop.js} +2 -4
  445. package/src/automations/steps/{outgoingWebhook.ts → outgoingWebhook.js} +13 -18
  446. package/src/automations/steps/{queryRows.ts → queryRows.js} +36 -48
  447. package/src/automations/steps/{sendSmtpEmail.ts → sendSmtpEmail.js} +5 -10
  448. package/src/automations/steps/{serverLog.ts → serverLog.js} +3 -9
  449. package/src/automations/steps/{slack.ts → slack.js} +5 -10
  450. package/src/automations/steps/{updateRow.ts → updateRow.js} +7 -12
  451. package/src/automations/steps/{utils.ts → utils.js} +4 -10
  452. package/src/automations/steps/{zapier.ts → zapier.js} +5 -11
  453. package/src/automations/tests/updateRow.spec.js +1 -0
  454. package/src/automations/tests/utilities/index.js +51 -0
  455. package/src/automations/triggerInfo/{app.ts → app.js} +2 -7
  456. package/src/automations/triggerInfo/{cron.ts → cron.js} +2 -7
  457. package/src/automations/triggerInfo/index.js +15 -0
  458. package/src/automations/triggerInfo/{rowDeleted.ts → rowDeleted.js} +2 -7
  459. package/src/automations/triggerInfo/{rowSaved.ts → rowSaved.js} +2 -7
  460. package/src/automations/triggerInfo/{rowUpdated.ts → rowUpdated.js} +2 -7
  461. package/src/automations/triggerInfo/{webhook.ts → webhook.js} +2 -7
  462. package/src/automations/{triggers.ts → triggers.js} +26 -30
  463. package/src/automations/utils.ts +12 -9
  464. package/src/constants/index.js +208 -0
  465. package/src/constants/{layouts.ts → layouts.js} +9 -3
  466. package/src/constants/screens.js +46 -0
  467. package/src/db/{dynamoClient.ts → dynamoClient.js} +19 -39
  468. package/src/db/{inMemoryView.ts → inMemoryView.js} +9 -15
  469. package/src/db/index.js +16 -0
  470. package/src/db/linkedRows/{LinkController.ts → LinkController.js} +85 -64
  471. package/src/db/linkedRows/{index.ts → index.js} +38 -43
  472. package/src/db/linkedRows/{linkUtils.ts → linkUtils.js} +24 -33
  473. package/src/db/{newid.ts → newid.js} +1 -1
  474. package/src/db/tests/linkController.spec.js +57 -73
  475. package/src/db/tests/linkTests.spec.js +14 -17
  476. package/src/db/{utils.ts → utils.js} +93 -77
  477. package/src/db/views/{staticViews.ts → staticViews.js} +13 -20
  478. package/src/{environment.ts → environment.js} +7 -11
  479. package/src/events/{AutomationEmitter.ts → AutomationEmitter.js} +7 -12
  480. package/src/events/{BudibaseEmitter.ts → index.js} +8 -7
  481. package/src/events/utils.js +38 -0
  482. package/src/integrations/base/sql.ts +1 -1
  483. package/src/integrations/base/sqlTable.ts +1 -1
  484. package/src/integrations/elasticsearch.ts +2 -32
  485. package/src/integrations/googlesheets.ts +7 -5
  486. package/src/integrations/index.ts +41 -45
  487. package/src/integrations/s3.ts +3 -179
  488. package/src/integrations/tests/s3.spec.ts +1 -85
  489. package/src/integrations/utils.ts +2 -6
  490. package/src/middleware/appInfo.js +19 -0
  491. package/src/middleware/authorized.ts +28 -21
  492. package/src/middleware/{builder.ts → builder.js} +15 -17
  493. package/src/middleware/{currentapp.ts → currentapp.js} +39 -42
  494. package/src/middleware/{joi-validator.ts → joi-validator.js} +8 -9
  495. package/src/middleware/publicApi.js +21 -0
  496. package/src/middleware/{resourceId.ts → resourceId.js} +11 -16
  497. package/src/middleware/{selfhost.ts → selfhost.js} +2 -4
  498. package/src/middleware/tests/authorized.spec.js +6 -5
  499. package/src/middleware/tests/currentapp.spec.js +63 -118
  500. package/src/middleware/{utils.ts → utils.js} +1 -3
  501. package/src/migrations/functions/appUrls.ts +2 -2
  502. package/src/migrations/functions/backfill/app/tables.ts +5 -2
  503. package/src/migrations/functions/backfill/global.ts +1 -1
  504. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  505. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +9 -14
  506. package/src/migrations/functions/usageQuotas/syncApps.ts +4 -3
  507. package/src/migrations/functions/usageQuotas/syncRows.ts +5 -4
  508. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  509. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  510. package/src/migrations/tests/index.spec.ts +1 -1
  511. package/src/module.d.ts +14 -0
  512. package/src/sdk/app/backups/exports.ts +3 -5
  513. package/src/sdk/app/backups/imports.ts +14 -7
  514. package/src/sdk/app/backups/statistics.ts +18 -9
  515. package/src/sdk/app/tables/index.ts +8 -7
  516. package/src/startup.ts +5 -5
  517. package/src/tests/utilities/{TestConfiguration.ts → TestConfiguration.js} +78 -111
  518. package/src/tests/utilities/controllers.js +16 -0
  519. package/src/tests/utilities/{index.ts → index.js} +2 -2
  520. package/src/tests/utilities/{structures.ts → structures.js} +36 -41
  521. package/src/threads/automation.ts +19 -18
  522. package/src/threads/query.ts +16 -11
  523. package/src/threads/utils.ts +5 -4
  524. package/src/utilities/budibaseDir.js +3 -0
  525. package/src/utilities/{centralPath.ts → centralPath.js} +3 -3
  526. package/src/utilities/{csvParser.ts → csvParser.js} +26 -42
  527. package/src/utilities/fileSystem/{clientLibrary.ts → clientLibrary.js} +20 -20
  528. package/src/utilities/fileSystem/{index.ts → index.js} +65 -61
  529. package/src/utilities/fileSystem/{processor.ts → processor.js} +5 -3
  530. package/src/utilities/fileSystem/utilities.js +36 -0
  531. package/src/utilities/global.js +127 -0
  532. package/src/utilities/{index.ts → index.js} +32 -40
  533. package/src/utilities/{plugins.ts → plugins.js} +4 -5
  534. package/src/utilities/queue/inMemoryQueue.js +122 -0
  535. package/src/utilities/{redis.ts → redis.js} +20 -21
  536. package/src/utilities/routing/index.js +25 -0
  537. package/src/utilities/rowProcessor/{index.ts → index.js} +144 -67
  538. package/src/utilities/rowProcessor/{utils.ts → utils.js} +15 -19
  539. package/src/utilities/{scriptRunner.ts → scriptRunner.js} +4 -8
  540. package/src/utilities/security.js +71 -0
  541. package/src/utilities/{statusCodes.ts → statusCodes.js} +1 -1
  542. package/src/utilities/usageQuota/{rows.ts → rows.js} +18 -14
  543. package/src/utilities/usageQuota/{usageQuoteReset.ts → usageQuoteReset.js} +1 -1
  544. package/src/utilities/{users.ts → users.js} +13 -11
  545. package/src/utilities/{workerRequests.ts → workerRequests.js} +38 -43
  546. package/src/watch.ts +3 -2
  547. package/tsconfig.build.json +2 -1
  548. package/tsconfig.json +1 -3
  549. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +0 -190
  550. package/coverage/lcov-report/src/api/controllers/application.ts.html +0 -2038
  551. package/coverage/lcov-report/src/api/controllers/auth.ts.html +0 -301
  552. package/coverage/lcov-report/src/api/controllers/backup.ts.html +0 -148
  553. package/coverage/lcov-report/src/api/controllers/component.ts.html +0 -259
  554. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +0 -259
  555. package/coverage/lcov-report/src/api/controllers/deploy/index.html +0 -131
  556. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +0 -730
  557. package/coverage/lcov-report/src/api/controllers/index.html +0 -431
  558. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +0 -130
  559. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +0 -310
  560. package/coverage/lcov-report/src/api/controllers/plugin/index.html +0 -206
  561. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +0 -484
  562. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +0 -253
  563. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +0 -97
  564. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +0 -121
  565. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +0 -136
  566. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +0 -334
  567. package/coverage/lcov-report/src/api/controllers/public/index.html +0 -191
  568. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +0 -181
  569. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +0 -191
  570. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +0 -124
  571. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +0 -202
  572. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +0 -178
  573. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +0 -163
  574. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +0 -181
  575. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +0 -145
  576. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +0 -328
  577. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +0 -253
  578. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +0 -268
  579. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +0 -220
  580. package/coverage/lcov-report/src/api/controllers/query/import/index.html +0 -116
  581. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +0 -373
  582. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +0 -131
  583. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +0 -379
  584. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +0 -157
  585. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +0 -403
  586. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +0 -146
  587. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +0 -586
  588. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +0 -712
  589. package/coverage/lcov-report/src/api/controllers/query/index.html +0 -131
  590. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +0 -976
  591. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +0 -2260
  592. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +0 -541
  593. package/coverage/lcov-report/src/api/controllers/screen.ts.html +0 -463
  594. package/coverage/lcov-report/src/api/controllers/static/index.html +0 -116
  595. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +0 -694
  596. package/coverage/lcov-report/src/api/controllers/table/index.html +0 -176
  597. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +0 -661
  598. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +0 -1255
  599. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +0 -379
  600. package/coverage/lcov-report/src/api/routes/application.ts.html +0 -223
  601. package/coverage/lcov-report/src/api/routes/auth.ts.html +0 -109
  602. package/coverage/lcov-report/src/api/routes/datasource.ts.html +0 -265
  603. package/coverage/lcov-report/src/api/routes/deploy.ts.html +0 -148
  604. package/coverage/lcov-report/src/api/routes/dev.ts.html +0 -199
  605. package/coverage/lcov-report/src/api/routes/index.ts.html +0 -289
  606. package/coverage/lcov-report/src/api/routes/migrations.ts.html +0 -127
  607. package/coverage/lcov-report/src/api/routes/plugin.ts.html +0 -151
  608. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +0 -541
  609. package/coverage/lcov-report/src/api/routes/public/index.html +0 -191
  610. package/coverage/lcov-report/src/api/routes/public/index.ts.html +0 -493
  611. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +0 -116
  612. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +0 -328
  613. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +0 -313
  614. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +0 -598
  615. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +0 -586
  616. package/coverage/lcov-report/src/api/routes/public/users.ts.html +0 -511
  617. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +0 -238
  618. package/coverage/lcov-report/src/api/routes/public/utils/index.html +0 -116
  619. package/coverage/lcov-report/src/api/routes/row.ts.html +0 -883
  620. package/coverage/lcov-report/src/api/routes/screen.ts.html +0 -154
  621. package/coverage/lcov-report/src/api/routes/static.ts.html +0 -280
  622. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +0 -550
  623. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +0 -131
  624. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +0 -367
  625. package/coverage/lcov-report/src/api/routes/webhook.ts.html +0 -166
  626. package/coverage/lcov-report/src/app.ts.html +0 -406
  627. package/coverage/lcov-report/src/automations/logging/index.html +0 -116
  628. package/coverage/lcov-report/src/automations/logging/index.ts.html +0 -199
  629. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +0 -382
  630. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +0 -349
  631. package/coverage/lcov-report/src/automations/steps/index.html +0 -371
  632. package/coverage/lcov-report/src/automations/tests/utilities/index.html +0 -116
  633. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +0 -265
  634. package/coverage/lcov-report/src/automations/utils.ts.html +0 -886
  635. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +0 -2032
  636. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +0 -541
  637. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +0 -427
  638. package/coverage/lcov-report/src/db/defaultData/index.html +0 -176
  639. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +0 -403
  640. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +0 -559
  641. package/coverage/lcov-report/src/db/dynamoClient.ts.html +0 -526
  642. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +0 -265
  643. package/coverage/lcov-report/src/db/linkedRows/index.html +0 -161
  644. package/coverage/lcov-report/src/environment.ts.html +0 -457
  645. package/coverage/lcov-report/src/events/index.ts.html +0 -100
  646. package/coverage/lcov-report/src/events/utils.ts.html +0 -319
  647. package/coverage/lcov-report/src/index.html +0 -191
  648. package/coverage/lcov-report/src/index.ts.html +0 -133
  649. package/coverage/lcov-report/src/integrations/arangodb.ts.html +0 -415
  650. package/coverage/lcov-report/src/integrations/base/index.html +0 -161
  651. package/coverage/lcov-report/src/integrations/base/query.ts.html +0 -133
  652. package/coverage/lcov-report/src/integrations/base/sql.ts.html +0 -1951
  653. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +0 -691
  654. package/coverage/lcov-report/src/integrations/base/utils.ts.html +0 -121
  655. package/coverage/lcov-report/src/integrations/couchdb.ts.html +0 -406
  656. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +0 -745
  657. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +0 -634
  658. package/coverage/lcov-report/src/integrations/firebase.ts.html +0 -646
  659. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +0 -1315
  660. package/coverage/lcov-report/src/integrations/index.html +0 -371
  661. package/coverage/lcov-report/src/integrations/index.ts.html +0 -445
  662. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +0 -1006
  663. package/coverage/lcov-report/src/integrations/mongodb.ts.html +0 -1867
  664. package/coverage/lcov-report/src/integrations/mysql.ts.html +0 -964
  665. package/coverage/lcov-report/src/integrations/oracle.ts.html +0 -1474
  666. package/coverage/lcov-report/src/integrations/postgres.ts.html +0 -1069
  667. package/coverage/lcov-report/src/integrations/queries/index.html +0 -116
  668. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +0 -463
  669. package/coverage/lcov-report/src/integrations/redis.ts.html +0 -550
  670. package/coverage/lcov-report/src/integrations/rest.ts.html +0 -1381
  671. package/coverage/lcov-report/src/integrations/s3.ts.html +0 -862
  672. package/coverage/lcov-report/src/integrations/snowflake.ts.html +0 -376
  673. package/coverage/lcov-report/src/integrations/utils.ts.html +0 -1018
  674. package/coverage/lcov-report/src/middleware/authorized.ts.html +0 -460
  675. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +0 -187
  676. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +0 -163
  677. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +0 -151
  678. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +0 -206
  679. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +0 -172
  680. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +0 -226
  681. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +0 -151
  682. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +0 -151
  683. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +0 -166
  684. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +0 -532
  685. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +0 -283
  686. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +0 -146
  687. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +0 -265
  688. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +0 -232
  689. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +0 -724
  690. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +0 -161
  691. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +0 -106
  692. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +0 -235
  693. package/coverage/lcov-report/src/migrations/functions/index.html +0 -146
  694. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +0 -130
  695. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +0 -161
  696. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +0 -94
  697. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +0 -127
  698. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +0 -115
  699. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +0 -169
  700. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +0 -124
  701. package/coverage/lcov-report/src/migrations/index.ts.html +0 -403
  702. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +0 -205
  703. package/coverage/lcov-report/src/migrations/tests/index.html +0 -131
  704. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +0 -283
  705. package/coverage/lcov-report/src/sdk/app/automations/index.html +0 -131
  706. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +0 -100
  707. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +0 -214
  708. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +0 -91
  709. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +0 -604
  710. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +0 -682
  711. package/coverage/lcov-report/src/sdk/app/backups/index.html +0 -176
  712. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +0 -112
  713. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +0 -292
  714. package/coverage/lcov-report/src/sdk/app/tables/index.html +0 -116
  715. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +0 -265
  716. package/coverage/lcov-report/src/startup.ts.html +0 -499
  717. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +0 -1966
  718. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +0 -127
  719. package/coverage/lcov-report/src/tests/utilities/index.html +0 -161
  720. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +0 -667
  721. package/coverage/lcov-report/src/threads/automation.ts.html +0 -1594
  722. package/coverage/lcov-report/src/threads/index.html +0 -161
  723. package/coverage/lcov-report/src/threads/index.ts.html +0 -418
  724. package/coverage/lcov-report/src/threads/query.ts.html +0 -961
  725. package/coverage/lcov-report/src/threads/utils.ts.html +0 -373
  726. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +0 -547
  727. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +0 -1129
  728. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +0 -142
  729. package/coverage/lcov-report/src/utilities/redis.ts.html +0 -343
  730. package/coverage/lcov-report/src/utilities/routing/index.ts.html +0 -181
  731. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +0 -146
  732. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +0 -373
  733. package/coverage/lcov-report/src/watch.ts.html +0 -196
  734. package/dist/db/defaultData/datasource_bb_default.js +0 -571
  735. package/dist/db/defaultData/employeeImport.js +0 -155
  736. package/dist/db/defaultData/expensesImport.js +0 -117
  737. package/dist/db/defaultData/inventoryImport.js +0 -109
  738. package/dist/db/defaultData/jobsImport.js +0 -152
  739. package/dist/db/linkedRows/LinkDocument.js +0 -32
  740. package/dist/events/BudibaseEmitter.js +0 -24
  741. package/dist/utilities/rowProcessor/map.js +0 -99
  742. package/jest.config.ts +0 -33
  743. package/src/api/controllers/integration.ts +0 -13
  744. package/src/api/controllers/migrations.ts +0 -14
  745. package/src/api/controllers/script.ts +0 -12
  746. package/src/api/routes/analytics.ts +0 -9
  747. package/src/api/routes/apikeys.ts +0 -12
  748. package/src/api/routes/automation.ts +0 -87
  749. package/src/api/routes/cloud.ts +0 -18
  750. package/src/api/routes/component.ts +0 -14
  751. package/src/api/routes/datasource.ts +0 -60
  752. package/src/api/routes/deploy.ts +0 -21
  753. package/src/api/routes/dev.ts +0 -38
  754. package/src/api/routes/integration.ts +0 -16
  755. package/src/api/routes/layout.ts +0 -16
  756. package/src/api/routes/migrations.ts +0 -14
  757. package/src/api/routes/permission.ts +0 -41
  758. package/src/api/routes/role.ts +0 -24
  759. package/src/api/routes/routing.ts +0 -14
  760. package/src/api/routes/screen.ts +0 -23
  761. package/src/api/routes/script.ts +0 -10
  762. package/src/api/routes/templates.ts +0 -16
  763. package/src/api/routes/user.ts +0 -51
  764. package/src/api/routes/view.ts +0 -34
  765. package/src/automations/bullboard.ts +0 -38
  766. package/src/automations/index.ts +0 -26
  767. package/src/automations/tests/utilities/index.ts +0 -60
  768. package/src/automations/triggerInfo/index.ts +0 -15
  769. package/src/constants/index.ts +0 -204
  770. package/src/constants/screens.ts +0 -48
  771. package/src/db/defaultData/datasource_bb_default.ts +0 -649
  772. package/src/db/defaultData/employeeImport.ts +0 -152
  773. package/src/db/defaultData/expensesImport.ts +0 -114
  774. package/src/db/defaultData/inventoryImport.ts +0 -106
  775. package/src/db/defaultData/jobsImport.ts +0 -158
  776. package/src/db/index.ts +0 -16
  777. package/src/db/linkedRows/LinkDocument.ts +0 -60
  778. package/src/events/index.ts +0 -5
  779. package/src/events/utils.ts +0 -78
  780. package/src/middleware/appInfo.ts +0 -20
  781. package/src/middleware/publicApi.ts +0 -21
  782. package/src/tests/utilities/controllers.ts +0 -14
  783. package/src/utilities/budibaseDir.ts +0 -3
  784. package/src/utilities/global.ts +0 -138
  785. package/src/utilities/routing/index.ts +0 -32
  786. package/src/utilities/rowProcessor/map.ts +0 -96
  787. package/src/utilities/security.ts +0 -65
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/api/controllers/permission.ts</title>
6
+ <title>Code coverage report for api/controllers/permission.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> permission.ts</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">api/controllers</a> permission.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.56% </span>
26
+ <span class="strong">98.78% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>80/82</span>
28
+ <span class='fraction'>81/82</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">80.76% </span>
33
+ <span class="strong">90.62% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>21/26</span>
35
+ <span class='fraction'>29/32</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.43% </span>
47
+ <span class="strong">98.71% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>76/78</span>
49
+ <span class='fraction'>77/78</span>
50
50
  </div>
51
51
 
52
52
 
@@ -238,29 +238,28 @@
238
238
  <a name='L173'></a><a href='#L173'>173</a>
239
239
  <a name='L174'></a><a href='#L174'>174</a>
240
240
  <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
245
- <span class="cline-any cline-yes">44x</span>
246
- <span class="cline-any cline-yes">44x</span>
241
+ <a name='L176'></a><a href='#L176'>176</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
247
242
  <span class="cline-any cline-neutral">&nbsp;</span>
248
243
  <span class="cline-any cline-neutral">&nbsp;</span>
249
244
  <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-yes">44x</span>
251
245
  <span class="cline-any cline-neutral">&nbsp;</span>
252
246
  <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-yes">44x</span>
253
249
  <span class="cline-any cline-yes">44x</span>
254
250
  <span class="cline-any cline-neutral">&nbsp;</span>
255
251
  <span class="cline-any cline-neutral">&nbsp;</span>
256
252
  <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-yes">44x</span>
254
+ <span class="cline-any cline-yes">44x</span>
255
+ <span class="cline-any cline-yes">44x</span>
257
256
  <span class="cline-any cline-neutral">&nbsp;</span>
258
257
  <span class="cline-any cline-yes">44x</span>
259
258
  <span class="cline-any cline-neutral">&nbsp;</span>
260
259
  <span class="cline-any cline-neutral">&nbsp;</span>
261
260
  <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">12x</span>
263
261
  <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-yes">44x</span>
264
263
  <span class="cline-any cline-neutral">&nbsp;</span>
265
264
  <span class="cline-any cline-neutral">&nbsp;</span>
266
265
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -269,6 +268,7 @@
269
268
  <span class="cline-any cline-neutral">&nbsp;</span>
270
269
  <span class="cline-any cline-neutral">&nbsp;</span>
271
270
  <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-yes">12x</span>
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -357,9 +357,6 @@
357
357
  <span class="cline-any cline-neutral">&nbsp;</span>
358
358
  <span class="cline-any cline-yes">2x</span>
359
359
  <span class="cline-any cline-yes">2x</span>
360
- <span class="cline-any cline-no">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-yes">2x</span>
363
360
  <span class="cline-any cline-yes">2x</span>
364
361
  <span class="cline-any cline-yes">2x</span>
365
362
  <span class="cline-any cline-yes">2x</span>
@@ -389,9 +386,6 @@
389
386
  <span class="cline-any cline-neutral">&nbsp;</span>
390
387
  <span class="cline-any cline-yes">9x</span>
391
388
  <span class="cline-any cline-yes">12x</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-neutral">&nbsp;</span>
395
389
  <span class="cline-any cline-yes">12x</span>
396
390
  <span class="cline-any cline-neutral">&nbsp;</span>
397
391
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -419,14 +413,21 @@
419
413
  <span class="cline-any cline-neutral">&nbsp;</span>
420
414
  <span class="cline-any cline-neutral">&nbsp;</span>
421
415
  <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { permissions, roles, context } from "@budibase/backend-core"
423
- import { getRoleParams } from "../../db/utils"
424
- import {
416
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getBuiltinPermissions } = require("@budibase/backend-core/permissions")
417
+ const {
418
+ isBuiltin,
419
+ getDBRoleID,
420
+ getExternalRoleID,
421
+ getBuiltinRoles,
422
+ checkForRoleResourceArray,
423
+ } = require("@budibase/backend-core/roles")
424
+ const { getRoleParams } = require("../../db/utils")
425
+ const {
425
426
  CURRENTLY_SUPPORTED_LEVELS,
426
427
  getBasePermissions,
427
- } from "../../utilities/security"
428
- import { removeFromArray } from "../../utilities"
429
- import { BBContext, Database, Role } from "@budibase/types"
428
+ } = require("../../utilities/security")
429
+ const { removeFromArray } = require("../../utilities")
430
+ const { getAppDB } = require("@budibase/backend-core/context")
430
431
  &nbsp;
431
432
  const PermissionUpdateType = {
432
433
  REMOVE: "remove",
@@ -436,7 +437,7 @@ const PermissionUpdateType = {
436
437
  const SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
437
438
  &nbsp;
438
439
  // utility function to stop this repetition - permissions always stored under roles
439
- async function getAllDBRoles(db: Database) {
440
+ async function getAllDBRoles(db) {
440
441
  const body = await db.allDocs(
441
442
  getRoleParams(null, {
442
443
  include_docs: true,
@@ -446,25 +447,21 @@ async function getAllDBRoles(db: Database) {
446
447
  }
447
448
  &nbsp;
448
449
  async function updatePermissionOnRole(
449
- appId: string,
450
- {
451
- roleId,
452
- resourceId,
453
- level,
454
- }: { roleId: string; resourceId: string; level: string },
455
- updateType: string
450
+ appId,
451
+ { roleId, resourceId, level },
452
+ updateType
456
453
  ) {
457
- const db = context.getAppDB()
454
+ const db = getAppDB()
458
455
  const remove = updateType === PermissionUpdateType.REMOVE
459
- const isABuiltin = roles.isBuiltin(roleId)
460
- const dbRoleId = roles.getDBRoleID(roleId)
456
+ const isABuiltin = isBuiltin(roleId)
457
+ const dbRoleId = getDBRoleID(roleId)
461
458
  const dbRoles = await getAllDBRoles(db)
462
459
  const docUpdates = []
463
460
  &nbsp;
464
461
  // the permission is for a built in, make sure it exists
465
462
  if (isABuiltin &amp;&amp; !dbRoles.some(role =&gt; role._id === dbRoleId)) {
466
- const builtin = roles.getBuiltinRoles()[roleId]
467
- builtin._id = roles.getDBRoleID(builtin._id)
463
+ const builtin = getBuiltinRoles()[roleId]
464
+ builtin._id = getDBRoleID(builtin._id)
468
465
  dbRoles.push(builtin)
469
466
  }
470
467
  &nbsp;
@@ -472,7 +469,7 @@ async function updatePermissionOnRole(
472
469
  // resource from another role and then adding to the new role
473
470
  for (let role of dbRoles) {
474
471
  let updated = false
475
- const rolePermissions = role.permissions ? role.permissions : <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
472
+ const rolePermissions = role.permissions ? role.permissions : {}
476
473
  // make sure its an array, also handle migrating
477
474
  if (
478
475
  !rolePermissions[resourceId] ||
@@ -508,44 +505,41 @@ async function updatePermissionOnRole(
508
505
  }
509
506
  &nbsp;
510
507
  const response = await db.bulkDocs(docUpdates)
511
- return response.map((resp: any) =&gt; {
512
- resp._id = roles.getExternalRoleID(resp.id)
508
+ return response.map(resp =&gt; {
509
+ resp._id = getExternalRoleID(resp.id)
513
510
  delete resp.id
514
511
  return resp
515
512
  })
516
513
  }
517
514
  &nbsp;
518
- export function fetchBuiltin(ctx: BBContext) {
519
- ctx.body = Object.values(permissions.getBuiltinPermissions())
515
+ exports.fetchBuiltin = function (ctx) {
516
+ ctx.body = Object.values(getBuiltinPermissions())
520
517
  }
521
518
  &nbsp;
522
- export function fetchLevels(ctx: BBContext) {
519
+ exports.fetchLevels = function (ctx) {
523
520
  // for now only provide the read/write perms externally
524
521
  ctx.body = SUPPORTED_LEVELS
525
522
  }
526
523
  &nbsp;
527
- export async function fetch(ctx: BBContext) {
528
- const db = context.getAppDB()
529
- const dbRoles: Role[] = await getAllDBRoles(db)
530
- let permissions: any = {}
524
+ exports.fetch = async function (ctx) {
525
+ const db = getAppDB()
526
+ const roles = await getAllDBRoles(db)
527
+ let permissions = {}
531
528
  // create an object with structure role ID -&gt; resource ID -&gt; level
532
- for (let role of dbRoles) {
529
+ for (let role of roles) {
533
530
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!role.permissions) {
534
531
  <span class="cstat-no" title="statement not covered" > continue</span>
535
532
  }
536
- const roleId = roles.getExternalRoleID(role._id)
537
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!roleId) {
538
- <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Unable to retrieve role")</span>
539
- }
533
+ const roleId = getExternalRoleID(role._id)
540
534
  for (let [resource, levelArr] of Object.entries(role.permissions)) {
541
- const levels: string[] = Array.isArray(levelArr) ? levelArr : <span class="branch-1 cbranch-no" title="branch not covered" >[levelArr]</span>
542
- const perms: Record&lt;string, string&gt; = {}
543
- levels.forEach(level =&gt; (perms[level] = roleId!))
535
+ const levels = Array.isArray(levelArr) ? [levelArr] : <span class="branch-1 cbranch-no" title="branch not covered" >levelArr</span>
536
+ const perms = {}
537
+ levels.forEach(level =&gt; (perms[level] = roleId))
544
538
  permissions[resource] = perms
545
539
  }
546
540
  }
547
541
  // apply the base permissions
548
- const finalPermissions: Record&lt;string, Record&lt;string, string&gt;&gt; = {}
542
+ const finalPermissions = {}
549
543
  for (let [resource, permission] of Object.entries(permissions)) {
550
544
  const basePerms = getBasePermissions(resource)
551
545
  finalPermissions[resource] = Object.assign(basePerms, permission)
@@ -553,36 +547,33 @@ export async function fetch(ctx: BBContext) {
553
547
  ctx.body = finalPermissions
554
548
  }
555
549
  &nbsp;
556
- export async function getResourcePerms(ctx: BBContext) {
550
+ exports.getResourcePerms = async function (ctx) {
557
551
  const resourceId = ctx.params.resourceId
558
- const db = context.getAppDB()
552
+ const db = getAppDB()
559
553
  const body = await db.allDocs(
560
554
  getRoleParams(null, {
561
555
  include_docs: true,
562
556
  })
563
557
  )
564
- const rolesList = body.rows.map(row =&gt; row.doc)
565
- let permissions: Record&lt;string, string&gt; = {}
558
+ const roles = body.rows.map(row =&gt; row.doc)
559
+ let permissions = {}
566
560
  for (let level of SUPPORTED_LEVELS) {
567
561
  // update the various roleIds in the resource permissions
568
- for (let role of rolesList) {
569
- const rolePerms = roles.checkForRoleResourceArray(
570
- role.permissions,
571
- resourceId
572
- )
562
+ for (let role of roles) {
563
+ const rolePerms = checkForRoleResourceArray(role.permissions, resourceId)
573
564
  if (
574
565
  rolePerms &amp;&amp;
575
566
  rolePerms[resourceId] &amp;&amp;
576
567
  rolePerms[resourceId].indexOf(level) !== -1
577
568
  ) {
578
- permissions[level] = roles.getExternalRoleID(role._id)!
569
+ permissions[level] = getExternalRoleID(role._id)
579
570
  }
580
571
  }
581
572
  }
582
573
  ctx.body = Object.assign(getBasePermissions(resourceId), permissions)
583
574
  }
584
575
  &nbsp;
585
- export async function addPermission(ctx: BBContext) {
576
+ exports.addPermission = async function (ctx) {
586
577
  ctx.body = await updatePermissionOnRole(
587
578
  ctx.appId,
588
579
  ctx.params,
@@ -590,7 +581,7 @@ export async function addPermission(ctx: BBContext) {
590
581
  )
591
582
  }
592
583
  &nbsp;
593
- export async function removePermission(ctx: BBContext) {
584
+ exports.removePermission = async function (ctx) {
594
585
  ctx.body = await updatePermissionOnRole(
595
586
  ctx.appId,
596
587
  ctx.params,
@@ -604,16 +595,16 @@ export async function removePermission(ctx: BBContext) {
604
595
  <div class='footer quiet pad2 space-top1 center small'>
605
596
  Code coverage generated by
606
597
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
607
- at Tue Nov 29 2022 22:23:34 GMT+0000 (Coordinated Universal Time)
598
+ at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
608
599
  </div>
609
- <script src="../../../prettify.js"></script>
600
+ <script src="../../prettify.js"></script>
610
601
  <script>
611
602
  window.onload = function () {
612
603
  prettyPrint();
613
604
  };
614
605
  </script>
615
- <script src="../../../sorter.js"></script>
616
- <script src="../../../block-navigation.js"></script>
606
+ <script src="../../sorter.js"></script>
607
+ <script src="../../block-navigation.js"></script>
617
608
  </body>
618
609
  </html>
619
610
 
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/utilities/routing</title>
6
+ <title>Code coverage report for api/controllers/query</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../base.css" />
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> src/utilities/routing</h1>
22
+ <h1><a href="../../../index.html">All files</a> api/controllers/query</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
42
+ <span class='fraction'>3/3</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>8/8</span>
49
+ <span class='fraction'>9/9</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,7 +79,7 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
82
+ <td class="file high" data-value="validation.js"><a href="validation.js.html">validation.js</a></td>
83
83
  <td data-value="100" class="pic high">
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
@@ -88,9 +88,9 @@
88
88
  <td data-value="100" class="pct high">100%</td>
89
89
  <td data-value="0" class="abs high">0/0</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="2" class="abs high">2/2</td>
91
+ <td data-value="3" class="abs high">3/3</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="8" class="abs high">8/8</td>
93
+ <td data-value="9" class="abs high">9/9</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Tue Nov 29 2022 22:23:34 GMT+0000 (Coordinated Universal Time)
104
+ at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/api/controllers/query/validation.ts</title>
6
+ <title>Code coverage report for api/controllers/query/validation.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../../../sort-arrow-sprite.png);
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/query</a> validation.ts</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">api/controllers/query</a> validation.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -163,12 +163,12 @@
163
163
  <span class="cline-any cline-neutral">&nbsp;</span>
164
164
  <span class="cline-any cline-neutral">&nbsp;</span>
165
165
  <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { auth } from "@budibase/backend-core"
167
- import Joi from "joi"
166
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { joiValidator } = require("@budibase/backend-core/auth")
167
+ const Joi = require("joi")
168
168
  &nbsp;
169
169
  const OPTIONAL_STRING = Joi.string().optional().allow(null).allow("")
170
170
  &nbsp;
171
- export function queryValidation() {
171
+ exports.queryValidation = () =&gt; {
172
172
  return Joi.object({
173
173
  _id: Joi.string(),
174
174
  _rev: Joi.string(),
@@ -190,14 +190,14 @@ export function queryValidation() {
190
190
  }).unknown(true)
191
191
  }
192
192
  &nbsp;
193
- export function generateQueryValidation() {
193
+ exports.generateQueryValidation = () =&gt; {
194
194
  // prettier-ignore
195
- return auth.joiValidator.body(queryValidation())
195
+ return joiValidator.body(exports.queryValidation())
196
196
  }
197
197
  &nbsp;
198
- export function generateQueryPreviewValidation() {
198
+ exports.generateQueryPreviewValidation = () =&gt; {
199
199
  // prettier-ignore
200
- return auth.joiValidator.body(Joi.object({
200
+ return joiValidator.body(Joi.object({
201
201
  _id: OPTIONAL_STRING,
202
202
  _rev: OPTIONAL_STRING,
203
203
  readable: Joi.boolean().optional(),
@@ -220,16 +220,16 @@ export function generateQueryPreviewValidation() {
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at Tue Nov 29 2022 22:23:34 GMT+0000 (Coordinated Universal Time)
223
+ at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
- <script src="../../../../prettify.js"></script>
225
+ <script src="../../../prettify.js"></script>
226
226
  <script>
227
227
  window.onload = function () {
228
228
  prettyPrint();
229
229
  };
230
230
  </script>
231
- <script src="../../../../sorter.js"></script>
232
- <script src="../../../../block-navigation.js"></script>
231
+ <script src="../../../sorter.js"></script>
232
+ <script src="../../../block-navigation.js"></script>
233
233
  </body>
234
234
  </html>
235
235