@budibase/server 2.1.32-alpha.5 → 2.1.32-alpha.6

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 (583) hide show
  1. package/builder/assets/{index.192baaa3.js → index.3ca79a83.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +3112 -3177
  4. package/coverage/coverage-final.json +105 -106
  5. package/coverage/lcov-report/index.html +145 -145
  6. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +1 -1
  7. package/coverage/lcov-report/src/api/controllers/{apikeys.js.html → apikeys.ts.html} +19 -19
  8. package/coverage/lcov-report/src/api/controllers/application.ts.html +1 -1
  9. package/coverage/lcov-report/src/api/controllers/auth.ts.html +3 -3
  10. package/coverage/lcov-report/src/api/controllers/{automation.js.html → automation.ts.html} +68 -68
  11. package/coverage/lcov-report/src/api/controllers/backup.ts.html +1 -1
  12. package/coverage/lcov-report/src/api/controllers/{cloud.js.html → cloud.ts.html} +40 -40
  13. package/coverage/lcov-report/src/api/controllers/component.ts.html +6 -3
  14. package/coverage/lcov-report/src/api/controllers/{datasource.js.html → datasource.ts.html} +100 -79
  15. package/coverage/lcov-report/src/api/controllers/deploy/{Deployment.js.html → Deployment.ts.html} +30 -21
  16. package/coverage/lcov-report/src/api/controllers/deploy/index.html +6 -6
  17. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +1 -1
  18. package/coverage/lcov-report/src/api/controllers/dev.ts.html +1 -1
  19. package/coverage/lcov-report/src/api/controllers/index.html +108 -108
  20. package/coverage/lcov-report/src/api/controllers/integration.js.html +1 -1
  21. package/coverage/lcov-report/src/api/controllers/{layout.js.html → layout.ts.html} +19 -19
  22. package/coverage/lcov-report/src/api/controllers/{metadata.js.html → metadata.ts.html} +19 -16
  23. package/coverage/lcov-report/src/api/controllers/migrations.js.html +1 -1
  24. package/coverage/lcov-report/src/api/controllers/{permission.js.html → permission.ts.html} +73 -64
  25. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +1 -1
  26. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +1 -1
  27. package/coverage/lcov-report/src/api/controllers/plugin/index.html +11 -11
  28. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +10 -13
  29. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +1 -1
  30. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +1 -1
  31. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +1 -1
  32. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +1 -1
  33. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +1 -1
  34. package/coverage/lcov-report/src/api/controllers/public/index.html +1 -1
  35. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +1 -1
  36. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +1 -1
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +1 -1
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +1 -1
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +1 -1
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +1 -1
  42. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +1 -1
  43. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +1 -1
  44. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +3 -3
  45. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +1 -1
  46. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +1 -1
  47. package/coverage/lcov-report/src/api/controllers/query/import/index.html +11 -11
  48. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +8 -11
  49. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
  50. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +1 -1
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +1 -1
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +1 -1
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +1 -1
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +1 -1
  56. package/coverage/lcov-report/src/api/controllers/query/index.html +2 -2
  57. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +1 -1
  58. package/coverage/lcov-report/src/api/controllers/query/{validation.js.html → validation.ts.html} +10 -10
  59. package/coverage/lcov-report/src/api/controllers/{role.js.html → role.ts.html} +37 -49
  60. package/coverage/lcov-report/src/api/controllers/{routing.js.html → routing.ts.html} +58 -49
  61. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +6 -18
  62. package/coverage/lcov-report/src/api/controllers/row/external.js.html +4 -4
  63. package/coverage/lcov-report/src/api/controllers/row/index.html +35 -35
  64. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +1 -1
  65. package/coverage/lcov-report/src/api/controllers/row/internal.js.html +17 -20
  66. package/coverage/lcov-report/src/api/controllers/row/{internalSearch.js.html → internalSearch.ts.html} +175 -103
  67. package/coverage/lcov-report/src/api/controllers/row/{staticFormula.js.html → staticFormula.ts.html} +62 -47
  68. package/coverage/lcov-report/src/api/controllers/row/{utils.js.html → utils.ts.html} +57 -36
  69. package/coverage/lcov-report/src/api/controllers/screen.ts.html +29 -17
  70. package/coverage/lcov-report/src/api/controllers/{script.js.html → script.ts.html} +10 -7
  71. package/coverage/lcov-report/src/api/controllers/static/index.html +10 -10
  72. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +15 -27
  73. package/coverage/lcov-report/src/api/controllers/table/{bulkFormula.js.html → bulkFormula.ts.html} +89 -47
  74. package/coverage/lcov-report/src/api/controllers/table/{external.js.html → external.ts.html} +192 -87
  75. package/coverage/lcov-report/src/api/controllers/table/index.html +39 -39
  76. package/coverage/lcov-report/src/api/controllers/table/{index.js.html → index.ts.html} +28 -28
  77. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +3 -6
  78. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +18 -18
  79. package/coverage/lcov-report/src/api/controllers/{templates.js.html → templates.ts.html} +27 -18
  80. package/coverage/lcov-report/src/api/controllers/{user.js.html → user.ts.html} +72 -78
  81. package/coverage/lcov-report/src/api/controllers/view/{exporters.js.html → exporters.ts.html} +13 -7
  82. package/coverage/lcov-report/src/api/controllers/view/index.html +21 -21
  83. package/coverage/lcov-report/src/api/controllers/view/{index.js.html → index.ts.html} +68 -41
  84. package/coverage/lcov-report/src/api/controllers/view/{utils.js.html → utils.ts.html} +54 -36
  85. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.js.html +1 -1
  86. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +1 -1
  87. package/coverage/lcov-report/src/api/index.html +14 -14
  88. package/coverage/lcov-report/src/api/{index.js.html → index.ts.html} +28 -49
  89. package/coverage/lcov-report/src/api/routes/{analytics.js.html → analytics.ts.html} +7 -7
  90. package/coverage/lcov-report/src/api/routes/{apikeys.js.html → apikeys.ts.html} +11 -11
  91. package/coverage/lcov-report/src/api/routes/application.ts.html +35 -11
  92. package/coverage/lcov-report/src/api/routes/auth.ts.html +3 -3
  93. package/coverage/lcov-report/src/api/routes/{automation.js.html → automation.ts.html} +41 -35
  94. package/coverage/lcov-report/src/api/routes/backup.ts.html +18 -6
  95. package/coverage/lcov-report/src/api/routes/{deploy.js.html → cloud.ts.html} +18 -15
  96. package/coverage/lcov-report/src/api/routes/{component.js.html → component.ts.html} +10 -10
  97. package/coverage/lcov-report/src/api/routes/{datasource.js.html → datasource.ts.html} +53 -26
  98. package/coverage/lcov-report/src/api/routes/deploy.ts.html +148 -0
  99. package/coverage/lcov-report/src/api/routes/{dev.js.html → dev.ts.html} +54 -18
  100. package/coverage/lcov-report/src/api/routes/index.html +41 -41
  101. package/coverage/lcov-report/src/api/routes/index.ts.html +3 -3
  102. package/coverage/lcov-report/src/api/routes/integration.ts.html +133 -0
  103. package/coverage/lcov-report/src/api/routes/{layout.js.html → layout.ts.html} +11 -11
  104. package/coverage/lcov-report/src/api/routes/{metadata.js.html → metadata.ts.html} +17 -17
  105. package/coverage/lcov-report/src/api/routes/{migrations.js.html → migrations.ts.html} +12 -12
  106. package/coverage/lcov-report/src/api/routes/{permission.js.html → permission.ts.html} +41 -17
  107. package/coverage/lcov-report/src/api/routes/plugin.ts.html +32 -8
  108. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +1 -1
  109. package/coverage/lcov-report/src/api/routes/public/index.html +1 -1
  110. package/coverage/lcov-report/src/api/routes/public/index.ts.html +1 -1
  111. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +1 -1
  112. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +1 -1
  113. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +1 -1
  114. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +1 -1
  115. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +1 -1
  116. package/coverage/lcov-report/src/api/routes/public/users.ts.html +1 -1
  117. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +1 -1
  118. package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
  119. package/coverage/lcov-report/src/api/routes/{query.js.html → query.ts.html} +24 -33
  120. package/coverage/lcov-report/src/{utilities/routing/index.js.html → api/routes/role.ts.html} +32 -35
  121. package/coverage/lcov-report/src/api/routes/{routing.js.html → routing.ts.html} +10 -10
  122. package/coverage/lcov-report/src/api/routes/row.ts.html +8 -14
  123. package/coverage/lcov-report/src/api/routes/{screen.js.html → screen.ts.html} +29 -14
  124. package/coverage/lcov-report/src/api/routes/{script.js.html → script.ts.html} +10 -10
  125. package/coverage/lcov-report/src/api/routes/static.ts.html +9 -18
  126. package/coverage/lcov-report/src/api/routes/{table.js.html → table.ts.html} +16 -25
  127. package/coverage/lcov-report/src/api/routes/{templates.js.html → templates.ts.html} +11 -11
  128. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +12 -18
  129. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +10 -10
  130. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +1 -1
  131. package/coverage/lcov-report/src/api/routes/{user.js.html → user.ts.html} +14 -20
  132. package/coverage/lcov-report/src/api/routes/utils/index.html +6 -6
  133. package/coverage/lcov-report/src/api/routes/utils/{validators.js.html → validators.ts.html} +39 -51
  134. package/coverage/lcov-report/src/api/routes/{view.js.html → view.ts.html} +33 -24
  135. package/coverage/lcov-report/src/api/routes/webhook.ts.html +3 -3
  136. package/coverage/lcov-report/src/app.ts.html +9 -12
  137. package/coverage/lcov-report/src/automations/actions.js.html +1 -1
  138. package/coverage/lcov-report/src/automations/automationUtils.js.html +1 -1
  139. package/coverage/lcov-report/src/automations/bullboard.js.html +1 -1
  140. package/coverage/lcov-report/src/automations/index.html +10 -10
  141. package/coverage/lcov-report/src/automations/index.js.html +1 -1
  142. package/coverage/lcov-report/src/automations/logging/index.html +1 -1
  143. package/coverage/lcov-report/src/automations/logging/index.ts.html +1 -1
  144. package/coverage/lcov-report/src/automations/steps/bash.js.html +1 -1
  145. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +1 -1
  146. package/coverage/lcov-report/src/automations/steps/delay.js.html +1 -1
  147. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +1 -1
  148. package/coverage/lcov-report/src/automations/steps/discord.js.html +1 -1
  149. package/coverage/lcov-report/src/automations/steps/executeQuery.js.html +1 -1
  150. package/coverage/lcov-report/src/automations/steps/executeScript.js.html +1 -1
  151. package/coverage/lcov-report/src/automations/steps/filter.js.html +1 -1
  152. package/coverage/lcov-report/src/automations/steps/index.html +1 -1
  153. package/coverage/lcov-report/src/automations/steps/integromat.js.html +1 -1
  154. package/coverage/lcov-report/src/automations/steps/loop.js.html +1 -1
  155. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.js.html +1 -1
  156. package/coverage/lcov-report/src/automations/steps/queryRows.js.html +1 -1
  157. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.js.html +1 -1
  158. package/coverage/lcov-report/src/automations/steps/serverLog.js.html +1 -1
  159. package/coverage/lcov-report/src/automations/steps/slack.js.html +1 -1
  160. package/coverage/lcov-report/src/automations/steps/updateRow.js.html +1 -1
  161. package/coverage/lcov-report/src/automations/steps/utils.js.html +1 -1
  162. package/coverage/lcov-report/src/automations/steps/zapier.js.html +1 -1
  163. package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
  164. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +1 -1
  165. package/coverage/lcov-report/src/automations/triggerInfo/app.js.html +1 -1
  166. package/coverage/lcov-report/src/automations/triggerInfo/cron.js.html +1 -1
  167. package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
  168. package/coverage/lcov-report/src/automations/triggerInfo/index.js.html +1 -1
  169. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.js.html +1 -1
  170. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.js.html +1 -1
  171. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.js.html +1 -1
  172. package/coverage/lcov-report/src/automations/triggerInfo/webhook.js.html +1 -1
  173. package/coverage/lcov-report/src/automations/triggers.js.html +11 -14
  174. package/coverage/lcov-report/src/automations/utils.ts.html +1 -1
  175. package/coverage/lcov-report/src/constants/index.html +5 -5
  176. package/coverage/lcov-report/src/constants/index.js.html +7 -13
  177. package/coverage/lcov-report/src/constants/layouts.js.html +1 -1
  178. package/coverage/lcov-report/src/constants/screens.js.html +3 -3
  179. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +1 -1
  180. package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +1 -1
  181. package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +1 -1
  182. package/coverage/lcov-report/src/db/defaultData/index.html +1 -1
  183. package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +1 -1
  184. package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +1 -1
  185. package/coverage/lcov-report/src/db/dynamoClient.js.html +1 -1
  186. package/coverage/lcov-report/src/db/inMemoryView.js.html +4 -4
  187. package/coverage/lcov-report/src/db/index.html +1 -1
  188. package/coverage/lcov-report/src/db/index.js.html +1 -1
  189. package/coverage/lcov-report/src/db/linkedRows/LinkController.js.html +3 -3
  190. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +1 -1
  191. package/coverage/lcov-report/src/db/linkedRows/index.html +1 -1
  192. package/coverage/lcov-report/src/db/linkedRows/index.js.html +3 -3
  193. package/coverage/lcov-report/src/db/linkedRows/linkUtils.js.html +4 -4
  194. package/coverage/lcov-report/src/db/newid.js.html +1 -1
  195. package/coverage/lcov-report/src/db/utils.ts.html +2 -2
  196. package/coverage/lcov-report/src/definitions/automations.ts.html +1 -1
  197. package/coverage/lcov-report/src/definitions/datasource.ts.html +1 -1
  198. package/coverage/lcov-report/src/definitions/index.html +1 -1
  199. package/coverage/lcov-report/src/environment.js.html +1 -1
  200. package/coverage/lcov-report/src/events/AutomationEmitter.js.html +1 -1
  201. package/coverage/lcov-report/src/events/index.html +1 -1
  202. package/coverage/lcov-report/src/events/index.js.html +1 -1
  203. package/coverage/lcov-report/src/events/utils.js.html +1 -1
  204. package/coverage/lcov-report/src/index.html +17 -32
  205. package/coverage/lcov-report/src/index.ts.html +1 -1
  206. package/coverage/lcov-report/src/integrations/airtable.ts.html +1 -1
  207. package/coverage/lcov-report/src/integrations/arangodb.ts.html +1 -1
  208. package/coverage/lcov-report/src/integrations/base/index.html +1 -1
  209. package/coverage/lcov-report/src/integrations/base/query.ts.html +1 -1
  210. package/coverage/lcov-report/src/integrations/base/sql.ts.html +2 -2
  211. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +2 -2
  212. package/coverage/lcov-report/src/integrations/base/utils.ts.html +1 -1
  213. package/coverage/lcov-report/src/integrations/couchdb.ts.html +1 -1
  214. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +1 -1
  215. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +1 -1
  216. package/coverage/lcov-report/src/integrations/firebase.ts.html +1 -1
  217. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +1 -1
  218. package/coverage/lcov-report/src/integrations/index.html +4 -4
  219. package/coverage/lcov-report/src/integrations/index.ts.html +58 -46
  220. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1 -1
  221. package/coverage/lcov-report/src/integrations/mongodb.ts.html +1 -1
  222. package/coverage/lcov-report/src/integrations/mysql.ts.html +1 -1
  223. package/coverage/lcov-report/src/integrations/oracle.ts.html +1 -1
  224. package/coverage/lcov-report/src/integrations/postgres.ts.html +1 -1
  225. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  226. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +1 -1
  227. package/coverage/lcov-report/src/integrations/redis.ts.html +1 -1
  228. package/coverage/lcov-report/src/integrations/rest.ts.html +1 -1
  229. package/coverage/lcov-report/src/integrations/s3.ts.html +1 -1
  230. package/coverage/lcov-report/src/integrations/snowflake.ts.html +1 -1
  231. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  232. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  233. package/coverage/lcov-report/src/integrations/utils.ts.html +1 -1
  234. package/coverage/lcov-report/src/middleware/appInfo.ts.html +1 -1
  235. package/coverage/lcov-report/src/middleware/authorized.ts.html +30 -51
  236. package/coverage/lcov-report/src/middleware/builder.ts.html +1 -1
  237. package/coverage/lcov-report/src/middleware/currentapp.ts.html +1 -1
  238. package/coverage/lcov-report/src/middleware/index.html +10 -10
  239. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
  240. package/coverage/lcov-report/src/middleware/publicApi.ts.html +1 -1
  241. package/coverage/lcov-report/src/middleware/resourceId.ts.html +1 -1
  242. package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
  243. package/coverage/lcov-report/src/middleware/utils.ts.html +1 -1
  244. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +3 -3
  245. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +1 -1
  246. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +1 -1
  247. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
  248. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +1 -1
  249. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +1 -1
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +1 -1
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +1 -1
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +1 -1
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +1 -1
  254. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +1 -1
  255. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  256. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +1 -1
  257. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +1 -1
  258. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +1 -1
  259. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  260. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +1 -1
  261. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +1 -1
  262. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  263. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +1 -1
  264. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +9 -9
  265. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +1 -1
  266. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +7 -10
  267. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +1 -1
  268. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -10
  269. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  270. package/coverage/lcov-report/src/migrations/index.html +1 -1
  271. package/coverage/lcov-report/src/migrations/index.ts.html +1 -1
  272. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  273. package/coverage/lcov-report/src/migrations/tests/index.html +1 -1
  274. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  275. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  276. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +1 -1
  277. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +1 -1
  278. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +1 -1
  279. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +16 -10
  280. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +9 -21
  281. package/coverage/lcov-report/src/sdk/app/backups/index.html +16 -16
  282. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +1 -1
  283. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +1 -1
  284. package/coverage/lcov-report/src/sdk/app/tables/index.html +1 -1
  285. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +1 -1
  286. package/coverage/lcov-report/src/sdk/index.html +1 -1
  287. package/coverage/lcov-report/src/sdk/index.ts.html +1 -1
  288. package/coverage/lcov-report/src/startup.ts.html +3 -3
  289. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +61 -49
  290. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +1 -1
  291. package/coverage/lcov-report/src/tests/utilities/index.html +15 -15
  292. package/coverage/lcov-report/src/tests/utilities/index.js.html +1 -1
  293. package/coverage/lcov-report/src/tests/utilities/structures.js.html +9 -12
  294. package/coverage/lcov-report/src/threads/automation.ts.html +20 -23
  295. package/coverage/lcov-report/src/threads/index.html +24 -24
  296. package/coverage/lcov-report/src/threads/index.ts.html +1 -1
  297. package/coverage/lcov-report/src/threads/query.ts.html +18 -33
  298. package/coverage/lcov-report/src/threads/utils.ts.html +10 -13
  299. package/coverage/lcov-report/src/utilities/{budibaseDir.js.html → budibaseDir.ts.html} +5 -5
  300. package/coverage/lcov-report/src/utilities/centralPath.js.html +1 -1
  301. package/coverage/lcov-report/src/utilities/csvParser.js.html +1 -1
  302. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +13 -13
  303. package/coverage/lcov-report/src/utilities/fileSystem/index.html +5 -20
  304. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +16 -16
  305. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +1 -1
  306. package/coverage/lcov-report/src/utilities/global.ts.html +1 -1
  307. package/coverage/lcov-report/src/utilities/index.html +44 -44
  308. package/coverage/lcov-report/src/utilities/{index.js.html → index.ts.html} +68 -44
  309. package/coverage/lcov-report/src/utilities/plugins.js.html +1 -1
  310. package/coverage/lcov-report/src/utilities/queue/inMemoryQueue.js.html +1 -1
  311. package/coverage/lcov-report/src/utilities/queue/index.html +1 -1
  312. package/coverage/lcov-report/src/utilities/{redis.js.html → redis.ts.html} +36 -33
  313. package/coverage/lcov-report/src/utilities/routing/index.html +6 -6
  314. package/coverage/lcov-report/src/utilities/routing/index.ts.html +181 -0
  315. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +38 -23
  316. package/coverage/lcov-report/src/utilities/rowProcessor/{index.js.html → index.ts.html} +106 -337
  317. package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +370 -0
  318. package/coverage/lcov-report/src/utilities/rowProcessor/{utils.js.html → utils.ts.html} +43 -31
  319. package/coverage/lcov-report/src/utilities/scriptRunner.js.html +1 -1
  320. package/coverage/lcov-report/src/utilities/{security.js.html → security.ts.html} +49 -67
  321. package/coverage/lcov-report/src/utilities/statusCodes.js.html +1 -1
  322. package/coverage/lcov-report/src/utilities/usageQuota/index.html +18 -18
  323. package/coverage/lcov-report/src/utilities/usageQuota/{rows.js.html → rows.ts.html} +27 -39
  324. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  325. package/coverage/lcov-report/src/utilities/{users.js.html → users.ts.html} +22 -28
  326. package/coverage/lcov-report/src/utilities/{workerRequests.js.html → workerRequests.ts.html} +69 -54
  327. package/coverage/lcov-report/src/watch.ts.html +8 -11
  328. package/coverage/lcov-report/src/websocket.ts.html +1 -1
  329. package/coverage/lcov.info +5519 -5768
  330. package/dist/api/controllers/apikeys.js +12 -9
  331. package/dist/api/controllers/automation.js +104 -84
  332. package/dist/api/controllers/cloud.js +84 -71
  333. package/dist/api/controllers/component.js +4 -2
  334. package/dist/api/controllers/datasource.js +125 -111
  335. package/dist/api/controllers/deploy/Deployment.js +10 -6
  336. package/dist/api/controllers/layout.js +18 -15
  337. package/dist/api/controllers/metadata.js +51 -37
  338. package/dist/api/controllers/permission.js +52 -43
  339. package/dist/api/controllers/plugin/index.js +6 -7
  340. package/dist/api/controllers/public/tables.js +29 -9
  341. package/dist/api/controllers/query/import/index.js +1 -2
  342. package/dist/api/controllers/query/validation.js +41 -33
  343. package/dist/api/controllers/role.js +29 -27
  344. package/dist/api/controllers/routing.js +71 -58
  345. package/dist/api/controllers/row/ExternalRequest.js +6 -7
  346. package/dist/api/controllers/row/external.js +3 -3
  347. package/dist/api/controllers/row/internal.js +11 -12
  348. package/dist/api/controllers/row/internalSearch.js +95 -80
  349. package/dist/api/controllers/row/staticFormula.js +85 -75
  350. package/dist/api/controllers/row/utils.js +118 -84
  351. package/dist/api/controllers/screen.js +81 -66
  352. package/dist/api/controllers/script.js +13 -6
  353. package/dist/api/controllers/static/index.js +9 -11
  354. package/dist/api/controllers/table/bulkFormula.js +47 -35
  355. package/dist/api/controllers/table/external.js +67 -54
  356. package/dist/api/controllers/table/index.js +66 -33
  357. package/dist/api/controllers/table/internal.js +1 -2
  358. package/dist/api/controllers/table/utils.js +8 -9
  359. package/dist/api/controllers/templates.js +17 -10
  360. package/dist/api/controllers/user.js +82 -70
  361. package/dist/api/controllers/view/exporters.js +8 -4
  362. package/dist/api/controllers/view/index.js +201 -153
  363. package/dist/api/controllers/view/utils.js +151 -121
  364. package/dist/api/index.js +38 -34
  365. package/dist/api/routes/analytics.js +29 -3
  366. package/dist/api/routes/apikeys.js +33 -7
  367. package/dist/api/routes/application.js +8 -9
  368. package/dist/api/routes/auth.js +1 -2
  369. package/dist/api/routes/automation.js +46 -20
  370. package/dist/api/routes/backup.js +3 -4
  371. package/dist/api/routes/cloud.js +32 -6
  372. package/dist/api/routes/component.js +32 -6
  373. package/dist/api/routes/datasource.js +39 -13
  374. package/dist/api/routes/deploy.js +34 -8
  375. package/dist/api/routes/dev.js +36 -10
  376. package/dist/api/routes/integration.js +10 -7
  377. package/dist/api/routes/layout.js +33 -7
  378. package/dist/api/routes/metadata.js +36 -10
  379. package/dist/api/routes/migrations.js +32 -6
  380. package/dist/api/routes/permission.js +38 -12
  381. package/dist/api/routes/plugin.js +5 -5
  382. package/dist/api/routes/query.js +42 -15
  383. package/dist/api/routes/role.js +36 -10
  384. package/dist/api/routes/routing.js +32 -6
  385. package/dist/api/routes/row.js +2 -1
  386. package/dist/api/routes/screen.js +35 -9
  387. package/dist/api/routes/script.js +32 -6
  388. package/dist/api/routes/static.js +9 -9
  389. package/dist/api/routes/table.js +40 -13
  390. package/dist/api/routes/templates.js +33 -7
  391. package/dist/api/routes/tests/utilities/TestFunctions.js +6 -8
  392. package/dist/api/routes/user.js +40 -13
  393. package/dist/api/routes/utils/validators.js +142 -126
  394. package/dist/api/routes/view.js +38 -12
  395. package/dist/api/routes/webhook.js +1 -2
  396. package/dist/app.js +3 -4
  397. package/dist/automations/triggers.js +5 -6
  398. package/dist/constants/index.js +3 -5
  399. package/dist/constants/screens.js +2 -2
  400. package/dist/db/inMemoryView.js +3 -3
  401. package/dist/db/linkedRows/LinkController.js +2 -2
  402. package/dist/db/linkedRows/index.js +2 -2
  403. package/dist/db/linkedRows/linkUtils.js +3 -3
  404. package/dist/db/views/staticViews.js +4 -4
  405. package/dist/integrations/index.js +15 -6
  406. package/dist/middleware/authorized.js +22 -21
  407. package/dist/migrations/functions/appUrls.js +2 -2
  408. package/dist/migrations/functions/usageQuotas/syncApps.js +3 -4
  409. package/dist/migrations/functions/usageQuotas/syncRows.js +3 -4
  410. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  411. package/dist/package.json +6 -6
  412. package/dist/sdk/app/backups/exports.js +1 -2
  413. package/dist/sdk/app/backups/imports.js +2 -3
  414. package/dist/startup.js +4 -4
  415. package/dist/tests/utilities/TestConfiguration.js +27 -35
  416. package/dist/tests/utilities/structures.js +3 -4
  417. package/dist/threads/automation.js +15 -16
  418. package/dist/threads/query.js +17 -19
  419. package/dist/threads/utils.js +11 -9
  420. package/dist/tsconfig.build.tsbuildinfo +1 -1
  421. package/dist/utilities/budibaseDir.js +4 -2
  422. package/dist/utilities/fileSystem/clientLibrary.js +12 -12
  423. package/dist/utilities/fileSystem/index.js +3 -3
  424. package/dist/utilities/index.js +102 -75
  425. package/dist/utilities/redis.js +100 -65
  426. package/dist/utilities/routing/index.js +27 -23
  427. package/dist/utilities/rowProcessor/index.js +124 -191
  428. package/dist/utilities/rowProcessor/map.js +96 -0
  429. package/dist/utilities/rowProcessor/utils.js +35 -26
  430. package/dist/utilities/security.js +39 -35
  431. package/dist/utilities/usageQuota/rows.js +56 -49
  432. package/dist/utilities/users.js +31 -28
  433. package/dist/utilities/workerRequests.js +115 -82
  434. package/dist/watch.js +1 -2
  435. package/package.json +7 -7
  436. package/scripts/exportAppTemplate.js +2 -2
  437. package/src/api/controllers/{apikeys.js → apikeys.ts} +10 -10
  438. package/src/api/controllers/auth.ts +2 -2
  439. package/src/api/controllers/{automation.js → automation.ts} +48 -48
  440. package/src/api/controllers/{cloud.js → cloud.ts} +24 -24
  441. package/src/api/controllers/component.ts +2 -1
  442. package/src/api/controllers/{datasource.js → datasource.ts} +55 -48
  443. package/src/api/controllers/deploy/{Deployment.js → Deployment.ts} +13 -10
  444. package/src/api/controllers/{layout.js → layout.ts} +8 -8
  445. package/src/api/controllers/{metadata.js → metadata.ts} +11 -10
  446. package/src/api/controllers/{permission.js → permission.ts} +49 -46
  447. package/src/api/controllers/plugin/index.ts +4 -5
  448. package/src/api/controllers/public/tables.ts +2 -2
  449. package/src/api/controllers/query/import/index.ts +2 -3
  450. package/src/api/controllers/query/{validation.js → validation.ts} +7 -7
  451. package/src/api/controllers/{role.js → role.ts} +21 -25
  452. package/src/api/controllers/{routing.js → routing.ts} +37 -34
  453. package/src/api/controllers/row/ExternalRequest.ts +4 -8
  454. package/src/api/controllers/row/external.js +3 -3
  455. package/src/api/controllers/row/internal.js +11 -12
  456. package/src/api/controllers/row/{internalSearch.js → internalSearch.ts} +92 -68
  457. package/src/api/controllers/row/{staticFormula.js → staticFormula.ts} +28 -23
  458. package/src/api/controllers/row/{utils.js → utils.ts} +25 -18
  459. package/src/api/controllers/screen.ts +10 -6
  460. package/src/api/controllers/script.ts +12 -0
  461. package/src/api/controllers/static/index.ts +9 -13
  462. package/src/api/controllers/table/{bulkFormula.js → bulkFormula.ts} +39 -25
  463. package/src/api/controllers/table/{external.js → external.ts} +86 -51
  464. package/src/api/controllers/table/{index.js → index.ts} +17 -17
  465. package/src/api/controllers/table/internal.ts +1 -2
  466. package/src/api/controllers/table/utils.ts +10 -10
  467. package/src/api/controllers/{templates.js → templates.ts} +10 -7
  468. package/src/api/controllers/{user.js → user.ts} +47 -49
  469. package/src/api/controllers/view/{exporters.js → exporters.ts} +5 -3
  470. package/src/api/controllers/view/{index.js → index.ts} +36 -27
  471. package/src/api/controllers/view/{utils.js → utils.ts} +26 -20
  472. package/src/api/{index.js → index.ts} +15 -22
  473. package/src/api/routes/analytics.ts +9 -0
  474. package/src/api/routes/apikeys.ts +12 -0
  475. package/src/api/routes/application.ts +17 -9
  476. package/src/api/routes/auth.ts +2 -2
  477. package/src/api/routes/automation.ts +87 -0
  478. package/src/api/routes/backup.ts +8 -4
  479. package/src/api/routes/cloud.ts +18 -0
  480. package/src/api/routes/component.ts +14 -0
  481. package/src/api/routes/datasource.ts +60 -0
  482. package/src/api/routes/deploy.ts +21 -0
  483. package/src/api/routes/dev.ts +38 -0
  484. package/src/api/routes/integration.ts +16 -0
  485. package/src/api/routes/layout.ts +16 -0
  486. package/src/api/routes/{metadata.js → metadata.ts} +13 -13
  487. package/src/api/routes/migrations.ts +14 -0
  488. package/src/api/routes/permission.ts +41 -0
  489. package/src/api/routes/plugin.ts +14 -6
  490. package/src/api/routes/{query.js → query.ts} +17 -20
  491. package/src/api/routes/role.ts +24 -0
  492. package/src/api/routes/routing.ts +14 -0
  493. package/src/api/routes/row.ts +3 -5
  494. package/src/api/routes/screen.ts +23 -0
  495. package/src/api/routes/script.ts +10 -0
  496. package/src/api/routes/static.ts +4 -7
  497. package/src/api/routes/{table.js → table.ts} +9 -12
  498. package/src/api/routes/templates.ts +16 -0
  499. package/src/api/routes/tests/backup.spec.js +9 -1
  500. package/src/api/routes/tests/permissions.spec.js +2 -1
  501. package/src/api/routes/tests/role.spec.js +3 -5
  502. package/src/api/routes/tests/routing.spec.js +2 -1
  503. package/src/api/routes/tests/row.spec.js +3 -4
  504. package/src/api/routes/tests/user.spec.js +2 -1
  505. package/src/api/routes/tests/utilities/TestFunctions.ts +6 -8
  506. package/src/api/routes/{user.js → user.ts} +7 -9
  507. package/src/api/routes/utils/{validators.js → validators.ts} +33 -37
  508. package/src/api/routes/view.ts +34 -0
  509. package/src/api/routes/webhook.ts +2 -2
  510. package/src/app.ts +3 -4
  511. package/src/automations/triggers.js +5 -6
  512. package/src/constants/index.js +3 -5
  513. package/src/constants/screens.js +2 -2
  514. package/src/db/inMemoryView.js +3 -3
  515. package/src/db/linkedRows/LinkController.js +2 -2
  516. package/src/db/linkedRows/index.js +2 -2
  517. package/src/db/linkedRows/linkUtils.js +3 -3
  518. package/src/db/utils.ts +1 -1
  519. package/src/db/views/staticViews.js +4 -4
  520. package/src/integrations/base/sql.ts +1 -1
  521. package/src/integrations/base/sqlTable.ts +1 -1
  522. package/src/integrations/index.ts +45 -41
  523. package/src/middleware/authorized.ts +21 -28
  524. package/src/middleware/tests/authorized.spec.js +5 -6
  525. package/src/migrations/functions/appUrls.ts +2 -2
  526. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  527. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +14 -9
  528. package/src/migrations/functions/usageQuotas/syncApps.ts +3 -4
  529. package/src/migrations/functions/usageQuotas/syncRows.ts +3 -4
  530. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  531. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  532. package/src/sdk/app/backups/exports.ts +5 -3
  533. package/src/sdk/app/backups/imports.ts +3 -7
  534. package/src/startup.ts +2 -2
  535. package/src/tests/utilities/TestConfiguration.js +39 -35
  536. package/src/tests/utilities/structures.js +3 -4
  537. package/src/threads/automation.ts +14 -15
  538. package/src/threads/query.ts +11 -16
  539. package/src/threads/utils.ts +4 -5
  540. package/src/utilities/budibaseDir.ts +3 -0
  541. package/src/utilities/fileSystem/clientLibrary.js +12 -12
  542. package/src/utilities/fileSystem/index.js +8 -8
  543. package/src/utilities/{index.js → index.ts} +40 -32
  544. package/src/utilities/{redis.js → redis.ts} +21 -20
  545. package/src/utilities/routing/index.ts +32 -0
  546. package/src/utilities/rowProcessor/{index.js → index.ts} +65 -142
  547. package/src/utilities/rowProcessor/map.js +95 -0
  548. package/src/utilities/rowProcessor/{utils.js → utils.ts} +19 -15
  549. package/src/utilities/security.ts +65 -0
  550. package/src/utilities/usageQuota/{rows.js → rows.ts} +14 -18
  551. package/src/utilities/{users.js → users.ts} +11 -13
  552. package/src/utilities/{workerRequests.js → workerRequests.ts} +43 -38
  553. package/src/watch.ts +2 -3
  554. package/coverage/lcov-report/src/api/routes/cloud.js.html +0 -127
  555. package/coverage/lcov-report/src/api/routes/integration.js.html +0 -121
  556. package/coverage/lcov-report/src/api/routes/role.js.html +0 -130
  557. package/coverage/lcov-report/src/module.d.ts.html +0 -127
  558. package/coverage/lcov-report/src/utilities/fileSystem/utilities.js.html +0 -193
  559. package/dist/utilities/fileSystem/utilities.js +0 -22
  560. package/src/api/controllers/script.js +0 -11
  561. package/src/api/routes/analytics.js +0 -9
  562. package/src/api/routes/apikeys.js +0 -12
  563. package/src/api/routes/automation.js +0 -85
  564. package/src/api/routes/cloud.js +0 -14
  565. package/src/api/routes/component.js +0 -14
  566. package/src/api/routes/datasource.js +0 -51
  567. package/src/api/routes/deploy.js +0 -17
  568. package/src/api/routes/dev.js +0 -26
  569. package/src/api/routes/integration.js +0 -12
  570. package/src/api/routes/layout.js +0 -16
  571. package/src/api/routes/migrations.js +0 -14
  572. package/src/api/routes/permission.js +0 -33
  573. package/src/api/routes/role.js +0 -15
  574. package/src/api/routes/routing.js +0 -14
  575. package/src/api/routes/screen.js +0 -18
  576. package/src/api/routes/script.js +0 -10
  577. package/src/api/routes/templates.js +0 -16
  578. package/src/api/routes/view.js +0 -31
  579. package/src/module.d.ts +0 -14
  580. package/src/utilities/budibaseDir.js +0 -3
  581. package/src/utilities/fileSystem/utilities.js +0 -36
  582. package/src/utilities/routing/index.js +0 -25
  583. package/src/utilities/security.js +0 -71
@@ -8,38 +8,38 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- const { getBuiltinPermissions } = require("@budibase/backend-core/permissions");
12
- const { isBuiltin, getDBRoleID, getExternalRoleID, getBuiltinRoles, checkForRoleResourceArray, } = require("@budibase/backend-core/roles");
13
- const { getRoleParams } = require("../../db/utils");
14
- const { CURRENTLY_SUPPORTED_LEVELS, getBasePermissions, } = require("../../utilities/security");
15
- const { removeFromArray } = require("../../utilities");
16
- const { getAppDB } = require("@budibase/backend-core/context");
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.removePermission = exports.addPermission = exports.getResourcePerms = exports.fetch = exports.fetchLevels = exports.fetchBuiltin = void 0;
13
+ const backend_core_1 = require("@budibase/backend-core");
14
+ const utils_1 = require("../../db/utils");
15
+ const security_1 = require("../../utilities/security");
16
+ const utilities_1 = require("../../utilities");
17
17
  const PermissionUpdateType = {
18
18
  REMOVE: "remove",
19
19
  ADD: "add",
20
20
  };
21
- const SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS;
21
+ const SUPPORTED_LEVELS = security_1.CURRENTLY_SUPPORTED_LEVELS;
22
22
  // utility function to stop this repetition - permissions always stored under roles
23
23
  function getAllDBRoles(db) {
24
24
  return __awaiter(this, void 0, void 0, function* () {
25
- const body = yield db.allDocs(getRoleParams(null, {
25
+ const body = yield db.allDocs((0, utils_1.getRoleParams)(null, {
26
26
  include_docs: true,
27
27
  }));
28
28
  return body.rows.map(row => row.doc);
29
29
  });
30
30
  }
31
- function updatePermissionOnRole(appId, { roleId, resourceId, level }, updateType) {
31
+ function updatePermissionOnRole(appId, { roleId, resourceId, level, }, updateType) {
32
32
  return __awaiter(this, void 0, void 0, function* () {
33
- const db = getAppDB();
33
+ const db = backend_core_1.context.getAppDB();
34
34
  const remove = updateType === PermissionUpdateType.REMOVE;
35
- const isABuiltin = isBuiltin(roleId);
36
- const dbRoleId = getDBRoleID(roleId);
35
+ const isABuiltin = backend_core_1.roles.isBuiltin(roleId);
36
+ const dbRoleId = backend_core_1.roles.getDBRoleID(roleId);
37
37
  const dbRoles = yield getAllDBRoles(db);
38
38
  const docUpdates = [];
39
39
  // the permission is for a built in, make sure it exists
40
40
  if (isABuiltin && !dbRoles.some(role => role._id === dbRoleId)) {
41
- const builtin = getBuiltinRoles()[roleId];
42
- builtin._id = getDBRoleID(builtin._id);
41
+ const builtin = backend_core_1.roles.getBuiltinRoles()[roleId];
42
+ builtin._id = backend_core_1.roles.getDBRoleID(builtin._id);
43
43
  dbRoles.push(builtin);
44
44
  }
45
45
  // now try to find any roles which need updated, e.g. removing the
@@ -61,7 +61,7 @@ function updatePermissionOnRole(appId, { roleId, resourceId, level }, updateType
61
61
  // the general UI for this, rather than needing to show everywhere it is used)
62
62
  if ((role._id !== dbRoleId || remove) &&
63
63
  rolePermissions[resourceId].indexOf(level) !== -1) {
64
- removeFromArray(rolePermissions[resourceId], level);
64
+ (0, utilities_1.removeFromArray)(rolePermissions[resourceId], level);
65
65
  updated = true;
66
66
  }
67
67
  // handle the adding, we're on the correct role, at it to this
@@ -77,33 +77,38 @@ function updatePermissionOnRole(appId, { roleId, resourceId, level }, updateType
77
77
  }
78
78
  }
79
79
  const response = yield db.bulkDocs(docUpdates);
80
- return response.map(resp => {
81
- resp._id = getExternalRoleID(resp.id);
80
+ return response.map((resp) => {
81
+ resp._id = backend_core_1.roles.getExternalRoleID(resp.id);
82
82
  delete resp.id;
83
83
  return resp;
84
84
  });
85
85
  });
86
86
  }
87
- exports.fetchBuiltin = function (ctx) {
88
- ctx.body = Object.values(getBuiltinPermissions());
89
- };
90
- exports.fetchLevels = function (ctx) {
87
+ function fetchBuiltin(ctx) {
88
+ ctx.body = Object.values(backend_core_1.permissions.getBuiltinPermissions());
89
+ }
90
+ exports.fetchBuiltin = fetchBuiltin;
91
+ function fetchLevels(ctx) {
91
92
  // for now only provide the read/write perms externally
92
93
  ctx.body = SUPPORTED_LEVELS;
93
- };
94
- exports.fetch = function (ctx) {
94
+ }
95
+ exports.fetchLevels = fetchLevels;
96
+ function fetch(ctx) {
95
97
  return __awaiter(this, void 0, void 0, function* () {
96
- const db = getAppDB();
97
- const roles = yield getAllDBRoles(db);
98
+ const db = backend_core_1.context.getAppDB();
99
+ const dbRoles = yield getAllDBRoles(db);
98
100
  let permissions = {};
99
101
  // create an object with structure role ID -> resource ID -> level
100
- for (let role of roles) {
102
+ for (let role of dbRoles) {
101
103
  if (!role.permissions) {
102
104
  continue;
103
105
  }
104
- const roleId = getExternalRoleID(role._id);
106
+ const roleId = backend_core_1.roles.getExternalRoleID(role._id);
107
+ if (!roleId) {
108
+ ctx.throw(400, "Unable to retrieve role");
109
+ }
105
110
  for (let [resource, levelArr] of Object.entries(role.permissions)) {
106
- const levels = Array.isArray(levelArr) ? [levelArr] : levelArr;
111
+ const levels = Array.isArray(levelArr) ? levelArr : [levelArr];
107
112
  const perms = {};
108
113
  levels.forEach(level => (perms[level] = roleId));
109
114
  permissions[resource] = perms;
@@ -112,42 +117,46 @@ exports.fetch = function (ctx) {
112
117
  // apply the base permissions
113
118
  const finalPermissions = {};
114
119
  for (let [resource, permission] of Object.entries(permissions)) {
115
- const basePerms = getBasePermissions(resource);
120
+ const basePerms = (0, security_1.getBasePermissions)(resource);
116
121
  finalPermissions[resource] = Object.assign(basePerms, permission);
117
122
  }
118
123
  ctx.body = finalPermissions;
119
124
  });
120
- };
121
- exports.getResourcePerms = function (ctx) {
125
+ }
126
+ exports.fetch = fetch;
127
+ function getResourcePerms(ctx) {
122
128
  return __awaiter(this, void 0, void 0, function* () {
123
129
  const resourceId = ctx.params.resourceId;
124
- const db = getAppDB();
125
- const body = yield db.allDocs(getRoleParams(null, {
130
+ const db = backend_core_1.context.getAppDB();
131
+ const body = yield db.allDocs((0, utils_1.getRoleParams)(null, {
126
132
  include_docs: true,
127
133
  }));
128
- const roles = body.rows.map(row => row.doc);
134
+ const rolesList = body.rows.map(row => row.doc);
129
135
  let permissions = {};
130
136
  for (let level of SUPPORTED_LEVELS) {
131
137
  // update the various roleIds in the resource permissions
132
- for (let role of roles) {
133
- const rolePerms = checkForRoleResourceArray(role.permissions, resourceId);
138
+ for (let role of rolesList) {
139
+ const rolePerms = backend_core_1.roles.checkForRoleResourceArray(role.permissions, resourceId);
134
140
  if (rolePerms &&
135
141
  rolePerms[resourceId] &&
136
142
  rolePerms[resourceId].indexOf(level) !== -1) {
137
- permissions[level] = getExternalRoleID(role._id);
143
+ permissions[level] = backend_core_1.roles.getExternalRoleID(role._id);
138
144
  }
139
145
  }
140
146
  }
141
- ctx.body = Object.assign(getBasePermissions(resourceId), permissions);
147
+ ctx.body = Object.assign((0, security_1.getBasePermissions)(resourceId), permissions);
142
148
  });
143
- };
144
- exports.addPermission = function (ctx) {
149
+ }
150
+ exports.getResourcePerms = getResourcePerms;
151
+ function addPermission(ctx) {
145
152
  return __awaiter(this, void 0, void 0, function* () {
146
153
  ctx.body = yield updatePermissionOnRole(ctx.appId, ctx.params, PermissionUpdateType.ADD);
147
154
  });
148
- };
149
- exports.removePermission = function (ctx) {
155
+ }
156
+ exports.addPermission = addPermission;
157
+ function removePermission(ctx) {
150
158
  return __awaiter(this, void 0, void 0, function* () {
151
159
  ctx.body = yield updatePermissionOnRole(ctx.appId, ctx.params, PermissionUpdateType.REMOVE);
152
160
  });
153
- };
161
+ }
162
+ exports.removePermission = removePermission;
@@ -14,17 +14,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.processUploadedPlugin = exports.destroy = exports.fetch = exports.create = exports.upload = exports.getPlugins = void 0;
16
16
  const uploaders_1 = require("./uploaders");
17
- const tenancy_1 = require("@budibase/backend-core/tenancy");
18
- const plugins_1 = require("@budibase/backend-core/plugins");
17
+ const backend_core_1 = require("@budibase/backend-core");
19
18
  const types_1 = require("@budibase/types");
20
19
  const environment_1 = __importDefault(require("../../../environment"));
21
20
  const websocket_1 = require("../../../websocket");
22
- const backend_core_1 = require("@budibase/backend-core");
21
+ const backend_core_2 = require("@budibase/backend-core");
23
22
  const pro_1 = require("@budibase/pro");
24
23
  function getPlugins(type) {
25
24
  return __awaiter(this, void 0, void 0, function* () {
26
- const db = (0, tenancy_1.getGlobalDB)();
27
- const response = yield db.allDocs(backend_core_1.db.getPluginParams(null, {
25
+ const db = backend_core_1.tenancy.getGlobalDB();
26
+ const response = yield db.allDocs(backend_core_2.db.getPluginParams(null, {
28
27
  include_docs: true,
29
28
  }));
30
29
  const plugins = response.rows.map((row) => row.doc);
@@ -88,7 +87,7 @@ function create(ctx) {
88
87
  directory = directoryUrl;
89
88
  break;
90
89
  }
91
- (0, plugins_1.validate)(metadata === null || metadata === void 0 ? void 0 : metadata.schema);
90
+ backend_core_1.plugins.validate(metadata === null || metadata === void 0 ? void 0 : metadata.schema);
92
91
  // Only allow components in cloud
93
92
  if (!environment_1.default.SELF_HOSTED && ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.schema) === null || _a === void 0 ? void 0 : _a.type) !== types_1.PluginType.COMPONENT) {
94
93
  throw new Error("Only component plugins are supported outside of self-host");
@@ -131,7 +130,7 @@ function processUploadedPlugin(plugin, source) {
131
130
  var _a;
132
131
  return __awaiter(this, void 0, void 0, function* () {
133
132
  const { metadata, directory } = yield (0, uploaders_1.fileUpload)(plugin);
134
- (0, plugins_1.validate)(metadata === null || metadata === void 0 ? void 0 : metadata.schema);
133
+ backend_core_1.plugins.validate(metadata === null || metadata === void 0 ? void 0 : metadata.schema);
135
134
  // Only allow components in cloud
136
135
  if (!environment_1.default.SELF_HOSTED && ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.schema) === null || _a === void 0 ? void 0 : _a.type) !== types_1.PluginType.COMPONENT) {
137
136
  throw new Error("Only component plugins are supported outside of self-host");
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,13 +31,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
32
  });
10
33
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
34
  Object.defineProperty(exports, "__esModule", { value: true });
15
35
  exports.destroy = exports.update = exports.read = exports.create = exports.search = void 0;
16
36
  const utils_1 = require("./utils");
17
- const table_1 = __importDefault(require("../table"));
37
+ const controller = __importStar(require("../table"));
18
38
  function fixTable(table, params) {
19
39
  if (!params || !table) {
20
40
  return table;
@@ -30,7 +50,7 @@ function fixTable(table, params) {
30
50
  function search(ctx, next) {
31
51
  return __awaiter(this, void 0, void 0, function* () {
32
52
  const { name } = ctx.request.body;
33
- yield table_1.default.fetch(ctx);
53
+ yield controller.fetch(ctx);
34
54
  ctx.body = (0, utils_1.search)(ctx.body, name);
35
55
  yield next();
36
56
  });
@@ -38,14 +58,14 @@ function search(ctx, next) {
38
58
  exports.search = search;
39
59
  function create(ctx, next) {
40
60
  return __awaiter(this, void 0, void 0, function* () {
41
- yield table_1.default.save(ctx);
61
+ yield controller.save(ctx);
42
62
  yield next();
43
63
  });
44
64
  }
45
65
  exports.create = create;
46
66
  function read(ctx, next) {
47
67
  return __awaiter(this, void 0, void 0, function* () {
48
- yield table_1.default.find(ctx);
68
+ yield controller.find(ctx);
49
69
  yield next();
50
70
  });
51
71
  }
@@ -53,14 +73,14 @@ exports.read = read;
53
73
  function update(ctx, next) {
54
74
  return __awaiter(this, void 0, void 0, function* () {
55
75
  ctx.request.body = yield (0, utils_1.addRev)(fixTable(ctx.request.body, ctx.params), ctx.params.tableId);
56
- yield table_1.default.save(ctx);
76
+ yield controller.save(ctx);
57
77
  yield next();
58
78
  });
59
79
  }
60
80
  exports.update = update;
61
81
  function destroy(ctx, next) {
62
82
  return __awaiter(this, void 0, void 0, function* () {
63
- yield table_1.default.destroy(ctx);
83
+ yield controller.destroy(ctx);
64
84
  ctx.body = ctx.table;
65
85
  yield next();
66
86
  });
@@ -16,7 +16,6 @@ const openapi2_1 = require("./sources/openapi2");
16
16
  const openapi3_1 = require("./sources/openapi3");
17
17
  const curl_1 = require("./sources/curl");
18
18
  // @ts-ignore
19
- const context_1 = require("@budibase/backend-core/context");
20
19
  const backend_core_1 = require("@budibase/backend-core");
21
20
  class RestImporter {
22
21
  constructor(data) {
@@ -51,7 +50,7 @@ class RestImporter {
51
50
  return query;
52
51
  });
53
52
  // persist queries
54
- const db = (0, context_1.getAppDB)();
53
+ const db = backend_core_1.context.getAppDB();
55
54
  const response = yield db.bulkDocs(queries);
56
55
  // create index to seperate queries and errors
57
56
  const queryIndex = queries.reduce((acc, query) => {
@@ -1,45 +1,53 @@
1
1
  "use strict";
2
- const { joiValidator } = require("@budibase/backend-core/auth");
3
- const Joi = require("joi");
4
- const OPTIONAL_STRING = Joi.string().optional().allow(null).allow("");
5
- exports.queryValidation = () => {
6
- return Joi.object({
7
- _id: Joi.string(),
8
- _rev: Joi.string(),
9
- name: Joi.string().required(),
10
- fields: Joi.object().required(),
11
- datasourceId: Joi.string().required(),
12
- readable: Joi.boolean(),
13
- parameters: Joi.array().items(Joi.object({
14
- name: Joi.string(),
15
- default: Joi.string().allow(""),
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateQueryPreviewValidation = exports.generateQueryValidation = exports.queryValidation = void 0;
7
+ const backend_core_1 = require("@budibase/backend-core");
8
+ const joi_1 = __importDefault(require("joi"));
9
+ const OPTIONAL_STRING = joi_1.default.string().optional().allow(null).allow("");
10
+ function queryValidation() {
11
+ return joi_1.default.object({
12
+ _id: joi_1.default.string(),
13
+ _rev: joi_1.default.string(),
14
+ name: joi_1.default.string().required(),
15
+ fields: joi_1.default.object().required(),
16
+ datasourceId: joi_1.default.string().required(),
17
+ readable: joi_1.default.boolean(),
18
+ parameters: joi_1.default.array().items(joi_1.default.object({
19
+ name: joi_1.default.string(),
20
+ default: joi_1.default.string().allow(""),
16
21
  })),
17
- queryVerb: Joi.string().allow().required(),
18
- extra: Joi.object().optional(),
19
- schema: Joi.object({}).required().unknown(true),
22
+ queryVerb: joi_1.default.string().allow().required(),
23
+ extra: joi_1.default.object().optional(),
24
+ schema: joi_1.default.object({}).required().unknown(true),
20
25
  transformer: OPTIONAL_STRING,
21
- flags: Joi.object().optional(),
26
+ flags: joi_1.default.object().optional(),
22
27
  }).unknown(true);
23
- };
24
- exports.generateQueryValidation = () => {
28
+ }
29
+ exports.queryValidation = queryValidation;
30
+ function generateQueryValidation() {
25
31
  // prettier-ignore
26
- return joiValidator.body(exports.queryValidation());
27
- };
28
- exports.generateQueryPreviewValidation = () => {
32
+ return backend_core_1.auth.joiValidator.body(queryValidation());
33
+ }
34
+ exports.generateQueryValidation = generateQueryValidation;
35
+ function generateQueryPreviewValidation() {
29
36
  // prettier-ignore
30
- return joiValidator.body(Joi.object({
37
+ return backend_core_1.auth.joiValidator.body(joi_1.default.object({
31
38
  _id: OPTIONAL_STRING,
32
39
  _rev: OPTIONAL_STRING,
33
- readable: Joi.boolean().optional(),
34
- fields: Joi.object().required(),
35
- queryVerb: Joi.string().required(),
40
+ readable: joi_1.default.boolean().optional(),
41
+ fields: joi_1.default.object().required(),
42
+ queryVerb: joi_1.default.string().required(),
36
43
  name: OPTIONAL_STRING,
37
- flags: Joi.object().optional(),
38
- schema: Joi.object().optional(),
39
- extra: Joi.object().optional(),
40
- datasourceId: Joi.string().required(),
44
+ flags: joi_1.default.object().optional(),
45
+ schema: joi_1.default.object().optional(),
46
+ extra: joi_1.default.object().optional(),
47
+ datasourceId: joi_1.default.string().required(),
41
48
  transformer: OPTIONAL_STRING,
42
- parameters: Joi.object({}).required().unknown(true),
49
+ parameters: joi_1.default.object({}).required().unknown(true),
43
50
  queryId: OPTIONAL_STRING,
44
51
  }).unknown(true));
45
- };
52
+ }
53
+ exports.generateQueryPreviewValidation = generateQueryPreviewValidation;
@@ -8,17 +8,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- const { Role, getRole, isBuiltin, getAllRoles, } = require("@budibase/backend-core/roles");
12
- const { generateRoleID, getUserMetadataParams, InternalTables, } = require("../../db/utils");
13
- const { getAppDB } = require("@budibase/backend-core/context");
14
- const { events } = require("@budibase/backend-core");
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.destroy = exports.save = exports.find = exports.fetch = void 0;
13
+ const backend_core_1 = require("@budibase/backend-core");
14
+ const utils_1 = require("../../db/utils");
15
15
  const UpdateRolesOptions = {
16
16
  CREATED: "created",
17
17
  REMOVED: "removed",
18
18
  };
19
19
  function updateRolesOnUserTable(db, roleId, updateOption) {
20
20
  return __awaiter(this, void 0, void 0, function* () {
21
- const table = yield db.get(InternalTables.USER_METADATA);
21
+ const table = yield db.get(utils_1.InternalTables.USER_METADATA);
22
22
  const schema = table.schema;
23
23
  const remove = updateOption === UpdateRolesOptions.REMOVED;
24
24
  let updated = false;
@@ -41,57 +41,58 @@ function updateRolesOnUserTable(db, roleId, updateOption) {
41
41
  }
42
42
  });
43
43
  }
44
- exports.fetch = function (ctx) {
44
+ function fetch(ctx) {
45
45
  return __awaiter(this, void 0, void 0, function* () {
46
- ctx.body = yield getAllRoles();
46
+ ctx.body = yield backend_core_1.roles.getAllRoles();
47
47
  });
48
- };
49
- exports.find = function (ctx) {
48
+ }
49
+ exports.fetch = fetch;
50
+ function find(ctx) {
50
51
  return __awaiter(this, void 0, void 0, function* () {
51
- ctx.body = yield getRole(ctx.params.roleId);
52
+ ctx.body = yield backend_core_1.roles.getRole(ctx.params.roleId);
52
53
  });
53
- };
54
- exports.save = function (ctx) {
54
+ }
55
+ exports.find = find;
56
+ function save(ctx) {
55
57
  return __awaiter(this, void 0, void 0, function* () {
56
- const db = getAppDB();
58
+ const db = backend_core_1.context.getAppDB();
57
59
  let { _id, name, inherits, permissionId } = ctx.request.body;
58
60
  let isCreate = false;
59
61
  if (!_id) {
60
- _id = generateRoleID();
62
+ _id = (0, utils_1.generateRoleID)();
61
63
  isCreate = true;
62
64
  }
63
- else if (isBuiltin(_id)) {
65
+ else if (backend_core_1.roles.isBuiltin(_id)) {
64
66
  ctx.throw(400, "Cannot update builtin roles.");
65
67
  }
66
- const role = new Role(_id, name)
67
- .addPermission(permissionId)
68
- .addInheritance(inherits);
68
+ const role = new backend_core_1.roles.Role(_id, name, permissionId).addInheritance(inherits);
69
69
  if (ctx.request.body._rev) {
70
70
  role._rev = ctx.request.body._rev;
71
71
  }
72
72
  const result = yield db.put(role);
73
73
  if (isCreate) {
74
- yield events.role.created(role);
74
+ yield backend_core_1.events.role.created(role);
75
75
  }
76
76
  else {
77
- yield events.role.updated(role);
77
+ yield backend_core_1.events.role.updated(role);
78
78
  }
79
79
  yield updateRolesOnUserTable(db, _id, UpdateRolesOptions.CREATED);
80
80
  role._rev = result.rev;
81
81
  ctx.body = role;
82
82
  ctx.message = `Role '${role.name}' created successfully.`;
83
83
  });
84
- };
85
- exports.destroy = function (ctx) {
84
+ }
85
+ exports.save = save;
86
+ function destroy(ctx) {
86
87
  return __awaiter(this, void 0, void 0, function* () {
87
- const db = getAppDB();
88
+ const db = backend_core_1.context.getAppDB();
88
89
  const roleId = ctx.params.roleId;
89
90
  const role = yield db.get(roleId);
90
- if (isBuiltin(roleId)) {
91
+ if (backend_core_1.roles.isBuiltin(roleId)) {
91
92
  ctx.throw(400, "Cannot delete builtin role.");
92
93
  }
93
94
  // first check no users actively attached to role
94
- const users = (yield db.allDocs(getUserMetadataParams(null, {
95
+ const users = (yield db.allDocs((0, utils_1.getUserMetadataParams)(undefined, {
95
96
  include_docs: true,
96
97
  }))).rows.map(row => row.doc);
97
98
  const usersWithRole = users.filter(user => user.roleId === roleId);
@@ -99,9 +100,10 @@ exports.destroy = function (ctx) {
99
100
  ctx.throw(400, "Cannot delete role when it is in use.");
100
101
  }
101
102
  yield db.remove(roleId, ctx.params.rev);
102
- yield events.role.deleted(role);
103
+ yield backend_core_1.events.role.deleted(role);
103
104
  yield updateRolesOnUserTable(db, ctx.params.roleId, UpdateRolesOptions.REMOVED);
104
105
  ctx.message = `Role ${ctx.params.roleId} deleted successfully`;
105
106
  ctx.status = 200;
106
107
  });
107
- };
108
+ }
109
+ exports.destroy = destroy;