@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</title>
6
+ <title>Code coverage report for src/utilities</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> utilities</h1>
22
+ <h1><a href="../../index.html">All files</a> src/utilities</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">73.95% </span>
26
+ <span class="strong">67.74% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>284/384</span>
28
+ <span class='fraction'>292/431</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">59.14% </span>
33
+ <span class="strong">55.49% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>97/164</span>
35
+ <span class='fraction'>101/182</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">73.97% </span>
40
+ <span class="strong">64.28% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>54/73</span>
42
+ <span class='fraction'>54/84</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">73.74% </span>
47
+ <span class="strong">67.92% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>278/377</span>
49
+ <span class='fraction'>288/424</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,7 +79,7 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="budibaseDir.js"><a href="budibaseDir.js.html">budibaseDir.js</a></td>
82
+ <td class="file high" data-value="budibaseDir.ts"><a href="budibaseDir.ts.html">budibaseDir.ts</a></td>
83
83
  <td data-value="100" class="pic high">
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
@@ -94,7 +94,7 @@
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file high" data-value="centralPath.js"><a href="centralPath.js.html">centralPath.js</a></td>
97
+ <td class="file high" data-value="centralPath.ts"><a href="centralPath.ts.html">centralPath.ts</a></td>
98
98
  <td data-value="80" class="pic high">
99
99
  <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
100
100
  </td>
@@ -109,44 +109,44 @@
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file medium" data-value="csvParser.js"><a href="csvParser.js.html">csvParser.js</a></td>
113
- <td data-value="78.66" class="pic medium">
112
+ <td class="file medium" data-value="csvParser.ts"><a href="csvParser.ts.html">csvParser.ts</a></td>
113
+ <td data-value="78.48" class="pic medium">
114
114
  <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
115
115
  </td>
116
- <td data-value="78.66" class="pct medium">78.66%</td>
117
- <td data-value="75" class="abs medium">59/75</td>
118
- <td data-value="67.64" class="pct medium">67.64%</td>
119
- <td data-value="34" class="abs medium">23/34</td>
116
+ <td data-value="78.48" class="pct medium">78.48%</td>
117
+ <td data-value="79" class="abs medium">62/79</td>
118
+ <td data-value="62.85" class="pct medium">62.85%</td>
119
+ <td data-value="35" class="abs medium">22/35</td>
120
120
  <td data-value="75" class="pct medium">75%</td>
121
121
  <td data-value="16" class="abs medium">12/16</td>
122
- <td data-value="78.08" class="pct medium">78.08%</td>
123
- <td data-value="73" class="abs medium">57/73</td>
122
+ <td data-value="78.2" class="pct medium">78.2%</td>
123
+ <td data-value="78" class="abs medium">61/78</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
127
- <td class="file medium" data-value="global.js"><a href="global.js.html">global.js</a></td>
128
- <td data-value="77.77" class="pic medium">
129
- <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
127
+ <td class="file medium" data-value="global.ts"><a href="global.ts.html">global.ts</a></td>
128
+ <td data-value="75.36" class="pic medium">
129
+ <div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
130
130
  </td>
131
- <td data-value="77.77" class="pct medium">77.77%</td>
132
- <td data-value="72" class="abs medium">56/72</td>
133
- <td data-value="65.85" class="pct medium">65.85%</td>
134
- <td data-value="41" class="abs medium">27/41</td>
131
+ <td data-value="75.36" class="pct medium">75.36%</td>
132
+ <td data-value="69" class="abs medium">52/69</td>
133
+ <td data-value="63.23" class="pct medium">63.23%</td>
134
+ <td data-value="68" class="abs medium">43/68</td>
135
135
  <td data-value="68.75" class="pct medium">68.75%</td>
136
136
  <td data-value="16" class="abs medium">11/16</td>
137
- <td data-value="78.57" class="pct medium">78.57%</td>
138
- <td data-value="70" class="abs medium">55/70</td>
137
+ <td data-value="75" class="pct medium">75%</td>
138
+ <td data-value="68" class="abs medium">51/68</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
142
- <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
143
- <td data-value="81.48" class="pic high">
142
+ <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
143
+ <td data-value="81.25" class="pic high">
144
144
  <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
145
145
  </td>
146
- <td data-value="81.48" class="pct high">81.48%</td>
147
- <td data-value="81" class="abs high">66/81</td>
148
- <td data-value="53.12" class="pct medium">53.12%</td>
149
- <td data-value="32" class="abs medium">17/32</td>
146
+ <td data-value="81.25" class="pct high">81.25%</td>
147
+ <td data-value="80" class="abs high">65/80</td>
148
+ <td data-value="53.84" class="pct medium">53.84%</td>
149
+ <td data-value="26" class="abs medium">14/26</td>
150
150
  <td data-value="94.11" class="pct high">94.11%</td>
151
151
  <td data-value="17" class="abs high">16/17</td>
152
152
  <td data-value="81.01" class="pct high">81.01%</td>
@@ -154,14 +154,14 @@
154
154
  </tr>
155
155
 
156
156
  <tr>
157
- <td class="file low" data-value="plugins.js"><a href="plugins.js.html">plugins.js</a></td>
157
+ <td class="file low" data-value="plugins.ts"><a href="plugins.ts.html">plugins.ts</a></td>
158
158
  <td data-value="42.85" class="pic low">
159
159
  <div class="chart"><div class="cover-fill" style="width: 42%"></div><div class="cover-empty" style="width: 58%"></div></div>
160
160
  </td>
161
161
  <td data-value="42.85" class="pct low">42.85%</td>
162
162
  <td data-value="14" class="abs low">6/14</td>
163
- <td data-value="33.33" class="pct low">33.33%</td>
164
- <td data-value="6" class="abs low">2/6</td>
163
+ <td data-value="40" class="pct low">40%</td>
164
+ <td data-value="5" class="abs low">2/5</td>
165
165
  <td data-value="50" class="pct medium">50%</td>
166
166
  <td data-value="2" class="abs medium">1/2</td>
167
167
  <td data-value="42.85" class="pct low">42.85%</td>
@@ -169,7 +169,22 @@
169
169
  </tr>
170
170
 
171
171
  <tr>
172
- <td class="file low" data-value="scriptRunner.js"><a href="scriptRunner.js.html">scriptRunner.js</a></td>
172
+ <td class="file low" data-value="redis.ts"><a href="redis.ts.html">redis.ts</a></td>
173
+ <td data-value="49.01" class="pic low">
174
+ <div class="chart"><div class="cover-fill" style="width: 49%"></div><div class="cover-empty" style="width: 51%"></div></div>
175
+ </td>
176
+ <td data-value="49.01" class="pct low">49.01%</td>
177
+ <td data-value="51" class="abs low">25/51</td>
178
+ <td data-value="25" class="pct low">25%</td>
179
+ <td data-value="8" class="abs low">2/8</td>
180
+ <td data-value="36.36" class="pct low">36.36%</td>
181
+ <td data-value="11" class="abs low">4/11</td>
182
+ <td data-value="52.08" class="pct medium">52.08%</td>
183
+ <td data-value="48" class="abs medium">25/48</td>
184
+ </tr>
185
+
186
+ <tr>
187
+ <td class="file low" data-value="scriptRunner.ts"><a href="scriptRunner.ts.html">scriptRunner.ts</a></td>
173
188
  <td data-value="30.76" class="pic low">
174
189
  <div class="chart"><div class="cover-fill" style="width: 30%"></div><div class="cover-empty" style="width: 70%"></div></div>
175
190
  </td>
@@ -184,22 +199,22 @@
184
199
  </tr>
185
200
 
186
201
  <tr>
187
- <td class="file high" data-value="security.js"><a href="security.js.html">security.js</a></td>
188
- <td data-value="82.75" class="pic high">
189
- <div class="chart"><div class="cover-fill" style="width: 82%"></div><div class="cover-empty" style="width: 18%"></div></div>
202
+ <td class="file medium" data-value="security.ts"><a href="security.ts.html">security.ts</a></td>
203
+ <td data-value="79.31" class="pic medium">
204
+ <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
190
205
  </td>
191
- <td data-value="82.75" class="pct high">82.75%</td>
192
- <td data-value="29" class="abs high">24/29</td>
193
- <td data-value="53.33" class="pct medium">53.33%</td>
194
- <td data-value="15" class="abs medium">8/15</td>
206
+ <td data-value="79.31" class="pct medium">79.31%</td>
207
+ <td data-value="29" class="abs medium">23/29</td>
208
+ <td data-value="46.15" class="pct low">46.15%</td>
209
+ <td data-value="13" class="abs low">6/13</td>
195
210
  <td data-value="100" class="pct high">100%</td>
196
211
  <td data-value="4" class="abs high">4/4</td>
197
- <td data-value="82.14" class="pct high">82.14%</td>
198
- <td data-value="28" class="abs high">23/28</td>
212
+ <td data-value="78.57" class="pct medium">78.57%</td>
213
+ <td data-value="28" class="abs medium">22/28</td>
199
214
  </tr>
200
215
 
201
216
  <tr>
202
- <td class="file low" data-value="statusCodes.js"><a href="statusCodes.js.html">statusCodes.js</a></td>
217
+ <td class="file low" data-value="statusCodes.ts"><a href="statusCodes.ts.html">statusCodes.ts</a></td>
203
218
  <td data-value="0" class="pic low">
204
219
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
205
220
  </td>
@@ -214,33 +229,33 @@
214
229
  </tr>
215
230
 
216
231
  <tr>
217
- <td class="file high" data-value="users.js"><a href="users.js.html">users.js</a></td>
218
- <td data-value="81.48" class="pic high">
219
- <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
232
+ <td class="file high" data-value="users.ts"><a href="users.ts.html">users.ts</a></td>
233
+ <td data-value="80" class="pic high">
234
+ <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
220
235
  </td>
221
- <td data-value="81.48" class="pct high">81.48%</td>
222
- <td data-value="27" class="abs high">22/27</td>
223
- <td data-value="70" class="pct medium">70%</td>
224
- <td data-value="10" class="abs medium">7/10</td>
236
+ <td data-value="80" class="pct high">80%</td>
237
+ <td data-value="25" class="abs high">20/25</td>
238
+ <td data-value="62.5" class="pct medium">62.5%</td>
239
+ <td data-value="8" class="abs medium">5/8</td>
225
240
  <td data-value="100" class="pct high">100%</td>
226
241
  <td data-value="2" class="abs high">2/2</td>
227
- <td data-value="81.48" class="pct high">81.48%</td>
228
- <td data-value="27" class="abs high">22/27</td>
242
+ <td data-value="80" class="pct high">80%</td>
243
+ <td data-value="25" class="abs high">20/25</td>
229
244
  </tr>
230
245
 
231
246
  <tr>
232
- <td class="file medium" data-value="workerRequests.js"><a href="workerRequests.js.html">workerRequests.js</a></td>
233
- <td data-value="63.07" class="pic medium">
234
- <div class="chart"><div class="cover-fill" style="width: 63%"></div><div class="cover-empty" style="width: 37%"></div></div>
247
+ <td class="file low" data-value="workerRequests.ts"><a href="workerRequests.ts.html">workerRequests.ts</a></td>
248
+ <td data-value="46.03" class="pic low">
249
+ <div class="chart"><div class="cover-fill" style="width: 46%"></div><div class="cover-empty" style="width: 54%"></div></div>
235
250
  </td>
236
- <td data-value="63.07" class="pct medium">63.07%</td>
237
- <td data-value="65" class="abs medium">41/65</td>
238
- <td data-value="50" class="pct medium">50%</td>
239
- <td data-value="26" class="abs medium">13/26</td>
240
- <td data-value="58.33" class="pct medium">58.33%</td>
241
- <td data-value="12" class="abs medium">7/12</td>
242
- <td data-value="63.07" class="pct medium">63.07%</td>
243
- <td data-value="65" class="abs medium">41/65</td>
251
+ <td data-value="46.03" class="pct low">46.03%</td>
252
+ <td data-value="63" class="abs low">29/63</td>
253
+ <td data-value="36.84" class="pct low">36.84%</td>
254
+ <td data-value="19" class="abs low">7/19</td>
255
+ <td data-value="25" class="pct low">25%</td>
256
+ <td data-value="12" class="abs low">3/12</td>
257
+ <td data-value="46.03" class="pct low">46.03%</td>
258
+ <td data-value="63" class="abs low">29/63</td>
244
259
  </tr>
245
260
 
246
261
  </tbody>
@@ -251,16 +266,16 @@
251
266
  <div class='footer quiet pad2 space-top1 center small'>
252
267
  Code coverage generated by
253
268
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
254
- at Mon Nov 28 2022 14:12:33 GMT+0000 (Coordinated Universal Time)
269
+ at Tue Nov 29 2022 11:32:32 GMT+0000 (Coordinated Universal Time)
255
270
  </div>
256
- <script src="../prettify.js"></script>
271
+ <script src="../../prettify.js"></script>
257
272
  <script>
258
273
  window.onload = function () {
259
274
  prettyPrint();
260
275
  };
261
276
  </script>
262
- <script src="../sorter.js"></script>
263
- <script src="../block-navigation.js"></script>
277
+ <script src="../../sorter.js"></script>
278
+ <script src="../../block-navigation.js"></script>
264
279
  </body>
265
280
  </html>
266
281
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for utilities/index.js</title>
6
+ <title>Code coverage report for src/utilities/index.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,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">utilities</a> index.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/utilities</a> index.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.48% </span>
26
+ <span class="strong">81.25% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>66/81</span>
28
+ <span class='fraction'>65/80</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">53.12% </span>
33
+ <span class="strong">53.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>17/32</span>
35
+ <span class='fraction'>14/26</span>
36
36
  </div>
37
37
 
38
38
 
@@ -233,14 +233,25 @@
233
233
  <a name='L168'></a><a href='#L168'>168</a>
234
234
  <a name='L169'></a><a href='#L169'>169</a>
235
235
  <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">51x</span>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
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">51x</span>
237
245
  <span class="cline-any cline-yes">51x</span>
238
246
  <span class="cline-any cline-yes">51x</span>
239
247
  <span class="cline-any cline-yes">51x</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
240
249
  <span class="cline-any cline-yes">51x</span>
241
250
  <span class="cline-any cline-yes">51x</span>
242
251
  <span class="cline-any cline-neutral">&nbsp;</span>
243
252
  <span class="cline-any cline-yes">51x</span>
253
+ <span class="cline-any cline-yes">3x</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
255
  <span class="cline-any cline-neutral">&nbsp;</span>
245
256
  <span class="cline-any cline-yes">51x</span>
246
257
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -261,7 +272,7 @@
261
272
  <span class="cline-any cline-neutral">&nbsp;</span>
262
273
  <span class="cline-any cline-neutral">&nbsp;</span>
263
274
  <span class="cline-any cline-yes">51x</span>
264
- <span class="cline-any cline-yes">54x</span>
275
+ <span class="cline-any cline-yes">44x</span>
265
276
  <span class="cline-any cline-neutral">&nbsp;</span>
266
277
  <span class="cline-any cline-neutral">&nbsp;</span>
267
278
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -307,16 +318,17 @@
307
318
  <span class="cline-any cline-yes">2x</span>
308
319
  <span class="cline-any cline-neutral">&nbsp;</span>
309
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-yes">51x</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
324
  <span class="cline-any cline-neutral">&nbsp;</span>
311
325
  <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-yes">51x</span>
313
326
  <span class="cline-any cline-yes">3x</span>
314
327
  <span class="cline-any cline-yes">3x</span>
315
328
  <span class="cline-any cline-neutral">&nbsp;</span>
316
329
  <span class="cline-any cline-neutral">&nbsp;</span>
317
330
  <span class="cline-any cline-yes">3x</span>
318
331
  <span class="cline-any cline-yes">3x</span>
319
- <span class="cline-any cline-yes">3x</span>
320
332
  <span class="cline-any cline-no">&nbsp;</span>
321
333
  <span class="cline-any cline-no">&nbsp;</span>
322
334
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -336,6 +348,10 @@
336
348
  <span class="cline-any cline-neutral">&nbsp;</span>
337
349
  <span class="cline-any cline-neutral">&nbsp;</span>
338
350
  <span class="cline-any cline-yes">51x</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
353
+ <span class="cline-any cline-neutral">&nbsp;</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
355
  <span class="cline-any cline-yes">1x</span>
340
356
  <span class="cline-any cline-yes">1x</span>
341
357
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -397,28 +413,31 @@
397
413
  <span class="cline-any cline-neutral">&nbsp;</span>
398
414
  <span class="cline-any cline-neutral">&nbsp;</span>
399
415
  <span class="cline-any cline-yes">51x</span>
400
- <span class="cline-any cline-yes">1x</span>
416
+ <span class="cline-any cline-yes">249x</span>
401
417
  <span class="cline-any cline-no">&nbsp;</span>
402
418
  <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-yes">1x</span>
419
+ <span class="cline-any cline-yes">249x</span>
404
420
  <span class="cline-any cline-neutral">&nbsp;</span>
405
421
  <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const env = require("../environment")
407
- const { OBJ_STORE_DIRECTORY } = require("../constants")
408
- const { sanitizeKey } = require("@budibase/backend-core/objectStore")
409
- const { generateMetadataID } = require("../db/utils")
410
- const Readable = require("stream").Readable
411
- const { getAppDB } = require("@budibase/backend-core/context")
422
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import env from "../environment"
423
+ import { OBJ_STORE_DIRECTORY } from "../constants"
424
+ import { objectStore, context } from "@budibase/backend-core"
425
+ import { generateMetadataID } from "../db/utils"
426
+ import { Document } from "@budibase/types"
427
+ import stream from "stream"
428
+ const Readable = stream.Readable
412
429
  &nbsp;
413
- exports.wait = ms =&gt; new Promise(resolve =&gt; setTimeout(resolve, ms))
430
+ export function wait(ms: number) {
431
+ return new Promise(resolve =&gt; setTimeout(resolve, ms))
432
+ }
414
433
  &nbsp;
415
- exports.isDev = env.isDev
434
+ export const isDev = env.isDev
416
435
  &nbsp;
417
- exports.NUMBER_REGEX = /^[+-]?([0-9]*[.])?[0-9]+$/g
436
+ export const NUMBER_REGEX = /^[+-]?([0-9]*[.])?[0-9]+$/g
418
437
  &nbsp;
419
- exports.removeFromArray = (array, element) =&gt; {
438
+ export function removeFromArray(array: any[], element: any) {
420
439
  const index = array.indexOf(element)
421
- <span class="missing-if-branch" title="else path not taken" >E</span>if (index !== -1) {
440
+ if (index !== -1) {
422
441
  array.splice(index, 1)
423
442
  }
424
443
  return array
@@ -430,7 +449,7 @@ exports.removeFromArray = (array, element) =&gt; {
430
449
  * @param {string} url The URL to test and remove any extra double slashes.
431
450
  * @return {string} The updated url.
432
451
  */
433
- exports.checkSlashesInUrl = url =&gt; {
452
+ export function checkSlashesInUrl(url: string) {
434
453
  return url.replace(/(https?:\/\/)|(\/)+/g, "$1$2")
435
454
  }
436
455
  &nbsp;
@@ -438,7 +457,7 @@ exports.checkSlashesInUrl = url =&gt; {
438
457
  * Gets the address of the object store, depending on whether self hosted or in cloud.
439
458
  * @return {string} The base URL of the object store (MinIO or S3).
440
459
  */
441
- exports.objectStoreUrl = () =&gt; {
460
+ export function objectStoreUrl() {
442
461
  if (env.SELF_HOSTED || <span class="branch-1 cbranch-no" title="branch not covered" >env.MINIO_URL)</span> {
443
462
  // can use a relative url for this as all goes through the proxy (this is hosted in minio)
444
463
  return OBJ_STORE_DIRECTORY
@@ -457,14 +476,14 @@ exports.objectStoreUrl = () =&gt; {
457
476
  * @return {string} The URL to be inserted into appPackage response or server rendered
458
477
  * app index file.
459
478
  */
460
- exports.clientLibraryPath = (appId, version) =&gt; {
479
+ export function clientLibraryPath(appId: string, version: string) {
461
480
  <span class="missing-if-branch" title="if path not taken" >I</span>if (env.isProd()) {
462
- let url = <span class="cstat-no" title="statement not covered" >`${exports.objectStoreUrl()}/${sanitizeKey(</span>
481
+ let url = <span class="cstat-no" title="statement not covered" >`${objectStoreUrl()}/${objectStore.sanitizeKey(</span>
463
482
  appId
464
483
  )}/budibase-client.js`
465
484
  &nbsp;
466
485
  // append app version to bust the cache
467
- <span class="cstat-no" title="statement not covered" > if (version) {</span>
486
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (version) {</span>
468
487
  <span class="cstat-no" title="statement not covered" > url += `?v=${version}`</span>
469
488
  }
470
489
  <span class="cstat-no" title="statement not covered" > return url</span>
@@ -473,18 +492,19 @@ exports.clientLibraryPath = (appId, version) =&gt; {
473
492
  }
474
493
  }
475
494
  &nbsp;
476
- exports.attachmentsRelativeURL = attachmentKey =&gt; {
477
- return exports.checkSlashesInUrl(
478
- `${exports.objectStoreUrl()}/${attachmentKey}`
479
- )
495
+ export function attachmentsRelativeURL(attachmentKey: string) {
496
+ return checkSlashesInUrl(`${objectStoreUrl()}/${attachmentKey}`)
480
497
  }
481
498
  &nbsp;
482
- exports.updateEntityMetadata = async (type, entityId, updateFn) =&gt; {
483
- const db = getAppDB()
499
+ export async function updateEntityMetadata(
500
+ type: string,
501
+ entityId: string,
502
+ updateFn: any
503
+ ) {
504
+ const db = context.getAppDB()
484
505
  const id = generateMetadataID(type, entityId)
485
506
  // read it to see if it exists, we'll overwrite it no matter what
486
- let rev,
487
- metadata = {}
507
+ let rev, metadata: Document
488
508
  try {
489
509
  const oldMetadata = await db.get(id)
490
510
  <span class="cstat-no" title="statement not covered" > rev = oldMetadata._rev</span>
@@ -505,19 +525,23 @@ exports.updateEntityMetadata = async (type, entityId, updateFn) =&gt; {
505
525
  }
506
526
  }
507
527
  &nbsp;
508
- exports.saveEntityMetadata = async (type, entityId, metadata) =&gt; {
509
- return exports.updateEntityMetadata(type, entityId, () =&gt; {
528
+ export async function saveEntityMetadata(
529
+ type: string,
530
+ entityId: string,
531
+ metadata: Document
532
+ ) {
533
+ return updateEntityMetadata(type, entityId, () =&gt; {
510
534
  return metadata
511
535
  })
512
536
  }
513
537
  &nbsp;
514
- exports.deleteEntityMetadata = async (type, entityId) =&gt; {
515
- const db = getAppDB()
538
+ export async function deleteEntityMetadata(type: string, entityId: string) {
539
+ const db = context.getAppDB()
516
540
  const id = generateMetadataID(type, entityId)
517
541
  let rev
518
542
  try {
519
543
  const metadata = await db.get(id)
520
- <span class="cstat-no" title="statement not covered" > if (metadata) {</span>
544
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (metadata) {</span>
521
545
  <span class="cstat-no" title="statement not covered" > rev = metadata._rev</span>
522
546
  }
523
547
  } catch (err) {
@@ -528,7 +552,7 @@ exports.deleteEntityMetadata = async (type, entityId) =&gt; {
528
552
  }
529
553
  }
530
554
  &nbsp;
531
- exports.escapeDangerousCharacters = <span class="fstat-no" title="function not covered" >st</span>ring =&gt; {
555
+ export function <span class="fstat-no" title="function not covered" >escapeDangerousCharacters(</span>string: string) {
532
556
  <span class="cstat-no" title="statement not covered" > return string</span>
533
557
  .replace(/[\\]/g, "\\\\")
534
558
  .replace(/[\b]/g, "\\b")
@@ -538,7 +562,7 @@ exports.escapeDangerousCharacters = <span class="fstat-no" title="function not c
538
562
  .replace(/[\t]/g, "\\t")
539
563
  }
540
564
  &nbsp;
541
- exports.stringToReadStream = string =&gt; {
565
+ export function stringToReadStream(string: string) {
542
566
  return new Readable({
543
567
  read() {
544
568
  this.push(string)
@@ -547,7 +571,7 @@ exports.stringToReadStream = string =&gt; {
547
571
  })
548
572
  }
549
573
  &nbsp;
550
- exports.formatBytes = bytes =&gt; {
574
+ export function formatBytes(bytes: string) {
551
575
  const units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]
552
576
  const byteIncrements = 1024
553
577
  let unit = 0
@@ -558,7 +582,7 @@ exports.formatBytes = bytes =&gt; {
558
582
  return `${size.toFixed(size &lt; 10 &amp;&amp; unit &gt; 0 ? <span class="branch-0 cbranch-no" title="branch not covered" >1 </span>: 0)}${units[unit]}`
559
583
  }
560
584
  &nbsp;
561
- exports.convertBookmark = bookmark =&gt; {
585
+ export function convertBookmark(bookmark: string) {
562
586
  const IS_NUMBER = /^\d+\.?\d*$/
563
587
  <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof bookmark === "string" &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >bookmark.match(IS_NUMBER))</span> {
564
588
  <span class="cstat-no" title="statement not covered" > return parseFloat(bookmark)</span>
@@ -566,7 +590,7 @@ exports.convertBookmark = bookmark =&gt; {
566
590
  return bookmark
567
591
  }
568
592
  &nbsp;
569
- exports.isQsTrue = param =&gt; {
593
+ export function isQsTrue(param: string) {
570
594
  <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof param === "string") {
571
595
  <span class="cstat-no" title="statement not covered" > return param.toLowerCase() === "true"</span>
572
596
  } else {
@@ -580,16 +604,16 @@ exports.isQsTrue = param =&gt; {
580
604
  <div class='footer quiet pad2 space-top1 center small'>
581
605
  Code coverage generated by
582
606
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
583
- 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)
584
608
  </div>
585
- <script src="../prettify.js"></script>
609
+ <script src="../../prettify.js"></script>
586
610
  <script>
587
611
  window.onload = function () {
588
612
  prettyPrint();
589
613
  };
590
614
  </script>
591
- <script src="../sorter.js"></script>
592
- <script src="../block-navigation.js"></script>
615
+ <script src="../../sorter.js"></script>
616
+ <script src="../../block-navigation.js"></script>
593
617
  </body>
594
618
  </html>
595
619