@budibase/server 2.1.39 → 2.1.40-alpha.0

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