@budibase/server 2.1.38 → 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 (788) 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.28915bf9.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/mysql.js +3 -1
  471. package/dist/integrations/s3.js +157 -1
  472. package/dist/middleware/appInfo.js +14 -9
  473. package/dist/middleware/authorized.js +22 -21
  474. package/dist/middleware/builder.js +41 -40
  475. package/dist/middleware/currentapp.js +39 -37
  476. package/dist/middleware/joi-validator.js +17 -10
  477. package/dist/middleware/publicApi.js +5 -6
  478. package/dist/middleware/resourceId.js +16 -9
  479. package/dist/middleware/selfhost.js +5 -4
  480. package/dist/middleware/utils.js +5 -2
  481. package/dist/migrations/functions/appUrls.js +2 -2
  482. package/dist/migrations/functions/backfill/global.js +1 -1
  483. package/dist/migrations/functions/usageQuotas/syncApps.js +3 -4
  484. package/dist/migrations/functions/usageQuotas/syncRows.js +3 -4
  485. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  486. package/dist/package.json +10 -44
  487. package/dist/sdk/app/backups/exports.js +1 -2
  488. package/dist/sdk/app/backups/imports.js +2 -3
  489. package/dist/sdk/app/tables/index.js +5 -5
  490. package/dist/startup.js +10 -10
  491. package/dist/tests/utilities/TestConfiguration.js +111 -87
  492. package/dist/tests/utilities/controllers.js +38 -15
  493. package/dist/tests/utilities/structures.js +72 -53
  494. package/dist/threads/automation.js +49 -27
  495. package/dist/threads/query.js +17 -19
  496. package/dist/threads/utils.js +33 -8
  497. package/dist/tsconfig.build.tsbuildinfo +1 -1
  498. package/dist/utilities/budibaseDir.js +4 -2
  499. package/dist/utilities/centralPath.js +14 -7
  500. package/dist/utilities/csvParser.js +27 -21
  501. package/dist/utilities/fileSystem/clientLibrary.js +87 -73
  502. package/dist/utilities/fileSystem/index.js +202 -175
  503. package/dist/utilities/fileSystem/processor.js +8 -3
  504. package/dist/utilities/global.js +87 -66
  505. package/dist/utilities/index.js +102 -75
  506. package/dist/utilities/plugins.js +15 -9
  507. package/dist/utilities/redis.js +100 -65
  508. package/dist/utilities/routing/index.js +27 -23
  509. package/dist/utilities/rowProcessor/index.js +133 -191
  510. package/dist/utilities/rowProcessor/map.js +99 -0
  511. package/dist/utilities/rowProcessor/utils.js +35 -26
  512. package/dist/utilities/scriptRunner.js +8 -5
  513. package/dist/utilities/security.js +39 -35
  514. package/dist/utilities/usageQuota/rows.js +56 -49
  515. package/dist/utilities/users.js +31 -28
  516. package/dist/utilities/workerRequests.js +115 -82
  517. package/dist/watch.js +1 -2
  518. package/jest.config.ts +33 -0
  519. package/package.json +11 -45
  520. package/scripts/exportAppTemplate.js +2 -2
  521. package/scripts/localdomain.js +34 -6
  522. package/src/api/controllers/{apikeys.js → apikeys.ts} +10 -10
  523. package/src/api/controllers/application.ts +56 -42
  524. package/src/api/controllers/auth.ts +4 -3
  525. package/src/api/controllers/{automation.js → automation.ts} +48 -48
  526. package/src/api/controllers/{cloud.js → cloud.ts} +24 -24
  527. package/src/api/controllers/component.ts +2 -1
  528. package/src/api/controllers/{datasource.js → datasource.ts} +100 -47
  529. package/src/api/controllers/deploy/{Deployment.js → Deployment.ts} +13 -10
  530. package/src/api/controllers/deploy/index.ts +13 -25
  531. package/src/api/controllers/{dev.js → dev.ts} +31 -37
  532. package/src/api/controllers/integration.ts +13 -0
  533. package/src/api/controllers/{layout.js → layout.ts} +8 -8
  534. package/src/api/controllers/{metadata.js → metadata.ts} +11 -10
  535. package/src/api/controllers/migrations.ts +14 -0
  536. package/src/api/controllers/{permission.js → permission.ts} +49 -46
  537. package/src/api/controllers/plugin/index.ts +4 -5
  538. package/src/api/controllers/plugin/utils.ts +3 -5
  539. package/src/api/controllers/public/applications.ts +15 -9
  540. package/src/api/controllers/public/rows.ts +1 -1
  541. package/src/api/controllers/public/tables.ts +2 -2
  542. package/src/api/controllers/public/utils.ts +2 -2
  543. package/src/api/controllers/query/import/index.ts +2 -3
  544. package/src/api/controllers/query/index.ts +11 -14
  545. package/src/api/controllers/query/{validation.js → validation.ts} +7 -7
  546. package/src/api/controllers/{role.js → role.ts} +21 -25
  547. package/src/api/controllers/{routing.js → routing.ts} +37 -34
  548. package/src/api/controllers/row/ExternalRequest.ts +602 -624
  549. package/src/api/controllers/row/{external.js → external.ts} +79 -62
  550. package/src/api/controllers/row/index.ts +19 -11
  551. package/src/api/controllers/row/{internal.js → internal.ts} +87 -73
  552. package/src/api/controllers/row/{internalSearch.js → internalSearch.ts} +92 -68
  553. package/src/api/controllers/row/{staticFormula.js → staticFormula.ts} +30 -25
  554. package/src/api/controllers/row/{utils.js → utils.ts} +32 -22
  555. package/src/api/controllers/screen.ts +10 -6
  556. package/src/api/controllers/script.ts +12 -0
  557. package/src/api/controllers/static/index.ts +14 -16
  558. package/src/api/controllers/table/{bulkFormula.js → bulkFormula.ts} +39 -25
  559. package/src/api/controllers/table/{external.js → external.ts} +86 -55
  560. package/src/api/controllers/table/{index.js → index.ts} +21 -18
  561. package/src/api/controllers/table/internal.ts +5 -6
  562. package/src/api/controllers/table/utils.ts +26 -21
  563. package/src/api/controllers/{templates.js → templates.ts} +10 -7
  564. package/src/api/controllers/{user.js → user.ts} +47 -49
  565. package/src/api/controllers/view/{exporters.js → exporters.ts} +5 -3
  566. package/src/api/controllers/view/{index.js → index.ts} +36 -27
  567. package/src/api/controllers/view/{utils.js → utils.ts} +26 -20
  568. package/src/api/controllers/view/{viewBuilder.js → viewBuilder.ts} +25 -11
  569. package/src/api/controllers/webhook.ts +1 -1
  570. package/src/api/{index.js → index.ts} +15 -22
  571. package/src/api/routes/analytics.ts +9 -0
  572. package/src/api/routes/apikeys.ts +12 -0
  573. package/src/api/routes/application.ts +17 -9
  574. package/src/api/routes/auth.ts +2 -2
  575. package/src/api/routes/automation.ts +87 -0
  576. package/src/api/routes/backup.ts +8 -4
  577. package/src/api/routes/cloud.ts +18 -0
  578. package/src/api/routes/component.ts +14 -0
  579. package/src/api/routes/datasource.ts +60 -0
  580. package/src/api/routes/deploy.ts +21 -0
  581. package/src/api/routes/dev.ts +38 -0
  582. package/src/api/routes/integration.ts +16 -0
  583. package/src/api/routes/layout.ts +16 -0
  584. package/src/api/routes/{metadata.js → metadata.ts} +13 -13
  585. package/src/api/routes/migrations.ts +14 -0
  586. package/src/api/routes/permission.ts +41 -0
  587. package/src/api/routes/plugin.ts +14 -6
  588. package/src/api/routes/public/index.ts +11 -14
  589. package/src/api/routes/public/tests/compare.spec.js +1 -1
  590. package/src/api/routes/{query.js → query.ts} +19 -22
  591. package/src/api/routes/role.ts +24 -0
  592. package/src/api/routes/routing.ts +14 -0
  593. package/src/api/routes/row.ts +13 -15
  594. package/src/api/routes/screen.ts +23 -0
  595. package/src/api/routes/script.ts +10 -0
  596. package/src/api/routes/static.ts +7 -10
  597. package/src/api/routes/{table.js → table.ts} +10 -13
  598. package/src/api/routes/templates.ts +16 -0
  599. package/src/api/routes/tests/analytics.spec.js +1 -1
  600. package/src/api/routes/tests/backup.spec.js +9 -1
  601. package/src/api/routes/tests/deployment.spec.ts +1 -1
  602. package/src/api/routes/tests/permissions.spec.js +2 -1
  603. package/src/api/routes/tests/query.spec.js +15 -10
  604. package/src/api/routes/tests/role.spec.js +7 -9
  605. package/src/api/routes/tests/routing.spec.js +2 -1
  606. package/src/api/routes/tests/row.spec.js +3 -4
  607. package/src/api/routes/tests/static.spec.js +2 -2
  608. package/src/api/routes/tests/table.spec.js +40 -36
  609. package/src/api/routes/tests/user.spec.js +2 -1
  610. package/src/api/routes/tests/utilities/TestFunctions.ts +6 -8
  611. package/src/api/routes/tests/utilities/{index.js → index.ts} +12 -12
  612. package/src/api/routes/user.ts +51 -0
  613. package/src/api/routes/utils/{validators.js → validators.ts} +33 -37
  614. package/src/api/routes/view.ts +34 -0
  615. package/src/api/routes/webhook.ts +2 -2
  616. package/src/app.ts +15 -14
  617. package/src/automations/{actions.js → actions.ts} +26 -23
  618. package/src/automations/{automationUtils.js → automationUtils.ts} +13 -12
  619. package/src/automations/bullboard.ts +38 -0
  620. package/src/automations/index.ts +26 -0
  621. package/src/automations/steps/{bash.js → bash.ts} +13 -8
  622. package/src/automations/steps/createRow.ts +8 -3
  623. package/src/automations/steps/{delay.js → delay.ts} +9 -4
  624. package/src/automations/steps/deleteRow.ts +8 -3
  625. package/src/automations/steps/{discord.js → discord.ts} +10 -5
  626. package/src/automations/steps/{executeQuery.js → executeQuery.ts} +12 -7
  627. package/src/automations/steps/{executeScript.js → executeScript.ts} +17 -7
  628. package/src/automations/steps/{filter.js → filter.ts} +12 -9
  629. package/src/automations/steps/{integromat.js → integromat.ts} +10 -5
  630. package/src/automations/steps/{loop.js → loop.ts} +4 -2
  631. package/src/automations/steps/{outgoingWebhook.js → outgoingWebhook.ts} +18 -13
  632. package/src/automations/steps/{queryRows.js → queryRows.ts} +48 -36
  633. package/src/automations/steps/{sendSmtpEmail.js → sendSmtpEmail.ts} +10 -5
  634. package/src/automations/steps/{serverLog.js → serverLog.ts} +9 -3
  635. package/src/automations/steps/{slack.js → slack.ts} +10 -5
  636. package/src/automations/steps/{updateRow.js → updateRow.ts} +12 -7
  637. package/src/automations/steps/{utils.js → utils.ts} +10 -4
  638. package/src/automations/steps/{zapier.js → zapier.ts} +11 -5
  639. package/src/automations/tests/updateRow.spec.js +0 -1
  640. package/src/automations/tests/utilities/index.ts +60 -0
  641. package/src/automations/triggerInfo/{app.js → app.ts} +7 -2
  642. package/src/automations/triggerInfo/{cron.js → cron.ts} +7 -2
  643. package/src/automations/triggerInfo/index.ts +15 -0
  644. package/src/automations/triggerInfo/{rowDeleted.js → rowDeleted.ts} +7 -2
  645. package/src/automations/triggerInfo/{rowSaved.js → rowSaved.ts} +7 -2
  646. package/src/automations/triggerInfo/{rowUpdated.js → rowUpdated.ts} +7 -2
  647. package/src/automations/triggerInfo/{webhook.js → webhook.ts} +7 -2
  648. package/src/automations/{triggers.js → triggers.ts} +30 -26
  649. package/src/automations/utils.ts +9 -12
  650. package/src/constants/index.ts +204 -0
  651. package/src/constants/{layouts.js → layouts.ts} +3 -9
  652. package/src/constants/screens.ts +48 -0
  653. package/src/db/defaultData/datasource_bb_default.ts +649 -0
  654. package/src/db/defaultData/employeeImport.ts +152 -0
  655. package/src/db/defaultData/expensesImport.ts +114 -0
  656. package/src/db/defaultData/inventoryImport.ts +106 -0
  657. package/src/db/defaultData/jobsImport.ts +158 -0
  658. package/src/db/{dynamoClient.js → dynamoClient.ts} +39 -19
  659. package/src/db/{inMemoryView.js → inMemoryView.ts} +15 -9
  660. package/src/db/index.ts +16 -0
  661. package/src/db/linkedRows/{LinkController.js → LinkController.ts} +64 -85
  662. package/src/db/linkedRows/LinkDocument.ts +60 -0
  663. package/src/db/linkedRows/{index.js → index.ts} +43 -38
  664. package/src/db/linkedRows/{linkUtils.js → linkUtils.ts} +33 -24
  665. package/src/db/{newid.js → newid.ts} +1 -1
  666. package/src/db/tests/linkController.spec.js +73 -57
  667. package/src/db/tests/linkTests.spec.js +17 -14
  668. package/src/db/{utils.js → utils.ts} +77 -93
  669. package/src/db/views/{staticViews.js → staticViews.ts} +20 -13
  670. package/src/{environment.js → environment.ts} +11 -7
  671. package/src/events/{AutomationEmitter.js → AutomationEmitter.ts} +12 -7
  672. package/src/events/{index.js → BudibaseEmitter.ts} +7 -8
  673. package/src/events/index.ts +5 -0
  674. package/src/events/utils.ts +78 -0
  675. package/src/integrations/base/sql.ts +1 -1
  676. package/src/integrations/base/sqlTable.ts +1 -1
  677. package/src/integrations/elasticsearch.ts +32 -2
  678. package/src/integrations/googlesheets.ts +5 -7
  679. package/src/integrations/index.ts +45 -41
  680. package/src/integrations/mysql.ts +5 -1
  681. package/src/integrations/s3.ts +179 -3
  682. package/src/integrations/tests/mysql.spec.ts +57 -0
  683. package/src/integrations/tests/s3.spec.ts +85 -1
  684. package/src/integrations/utils.ts +6 -2
  685. package/src/middleware/appInfo.ts +20 -0
  686. package/src/middleware/authorized.ts +21 -28
  687. package/src/middleware/{builder.js → builder.ts} +17 -15
  688. package/src/middleware/{currentapp.js → currentapp.ts} +42 -39
  689. package/src/middleware/{joi-validator.js → joi-validator.ts} +9 -8
  690. package/src/middleware/publicApi.ts +21 -0
  691. package/src/middleware/{resourceId.js → resourceId.ts} +16 -11
  692. package/src/middleware/{selfhost.js → selfhost.ts} +4 -2
  693. package/src/middleware/tests/authorized.spec.js +5 -6
  694. package/src/middleware/tests/currentapp.spec.js +118 -63
  695. package/src/middleware/{utils.js → utils.ts} +3 -1
  696. package/src/migrations/functions/appUrls.ts +2 -2
  697. package/src/migrations/functions/backfill/app/tables.ts +2 -5
  698. package/src/migrations/functions/backfill/global.ts +1 -1
  699. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  700. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +14 -9
  701. package/src/migrations/functions/usageQuotas/syncApps.ts +3 -4
  702. package/src/migrations/functions/usageQuotas/syncRows.ts +4 -5
  703. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  704. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  705. package/src/migrations/tests/index.spec.ts +1 -1
  706. package/src/sdk/app/backups/exports.ts +5 -3
  707. package/src/sdk/app/backups/imports.ts +7 -14
  708. package/src/sdk/app/backups/statistics.ts +9 -18
  709. package/src/sdk/app/tables/index.ts +7 -8
  710. package/src/startup.ts +5 -5
  711. package/{scripts/jestSetup.js → src/tests/jestSetup.ts} +11 -2
  712. package/src/tests/utilities/{TestConfiguration.js → TestConfiguration.ts} +111 -78
  713. package/src/tests/utilities/controllers.ts +14 -0
  714. package/src/tests/utilities/{index.js → index.ts} +2 -2
  715. package/src/tests/utilities/{structures.js → structures.ts} +41 -36
  716. package/src/threads/automation.ts +18 -19
  717. package/src/threads/query.ts +11 -16
  718. package/src/threads/utils.ts +4 -5
  719. package/src/utilities/budibaseDir.ts +3 -0
  720. package/src/utilities/{centralPath.js → centralPath.ts} +3 -3
  721. package/src/utilities/{csvParser.js → csvParser.ts} +42 -26
  722. package/src/utilities/fileSystem/{clientLibrary.js → clientLibrary.ts} +20 -20
  723. package/src/utilities/fileSystem/{index.js → index.ts} +55 -63
  724. package/src/utilities/fileSystem/{processor.js → processor.ts} +3 -5
  725. package/src/utilities/global.ts +138 -0
  726. package/src/utilities/{index.js → index.ts} +40 -32
  727. package/src/utilities/{plugins.js → plugins.ts} +5 -4
  728. package/src/utilities/{redis.js → redis.ts} +21 -20
  729. package/src/utilities/routing/index.ts +32 -0
  730. package/src/utilities/rowProcessor/{index.js → index.ts} +67 -144
  731. package/src/utilities/rowProcessor/map.ts +96 -0
  732. package/src/utilities/rowProcessor/{utils.js → utils.ts} +19 -15
  733. package/src/utilities/{scriptRunner.js → scriptRunner.ts} +8 -4
  734. package/src/utilities/security.ts +65 -0
  735. package/src/utilities/{statusCodes.js → statusCodes.ts} +1 -1
  736. package/src/utilities/usageQuota/{rows.js → rows.ts} +14 -18
  737. package/src/utilities/usageQuota/{usageQuoteReset.js → usageQuoteReset.ts} +1 -1
  738. package/src/utilities/{users.js → users.ts} +11 -13
  739. package/src/utilities/{workerRequests.js → workerRequests.ts} +43 -38
  740. package/src/watch.ts +2 -3
  741. package/tsconfig.build.json +1 -2
  742. package/tsconfig.json +3 -1
  743. package/coverage/lcov-report/api/controllers/index.html +0 -326
  744. package/coverage/lcov-report/automations/steps/index.html +0 -341
  745. package/coverage/lcov-report/db/linkedRows/index.html +0 -146
  746. package/dist/integrations/tests/TestConfiguration.js +0 -1
  747. package/dist/utilities/fileSystem/utilities.js +0 -22
  748. package/dist/utilities/queue/inMemoryQueue.js +0 -126
  749. package/src/api/controllers/integration.js +0 -14
  750. package/src/api/controllers/migrations.js +0 -13
  751. package/src/api/controllers/script.js +0 -11
  752. package/src/api/routes/analytics.js +0 -9
  753. package/src/api/routes/apikeys.js +0 -12
  754. package/src/api/routes/automation.js +0 -85
  755. package/src/api/routes/cloud.js +0 -14
  756. package/src/api/routes/component.js +0 -14
  757. package/src/api/routes/datasource.js +0 -51
  758. package/src/api/routes/deploy.js +0 -17
  759. package/src/api/routes/dev.js +0 -26
  760. package/src/api/routes/integration.js +0 -12
  761. package/src/api/routes/layout.js +0 -16
  762. package/src/api/routes/migrations.js +0 -14
  763. package/src/api/routes/permission.js +0 -33
  764. package/src/api/routes/role.js +0 -15
  765. package/src/api/routes/routing.js +0 -14
  766. package/src/api/routes/screen.js +0 -18
  767. package/src/api/routes/script.js +0 -10
  768. package/src/api/routes/templates.js +0 -16
  769. package/src/api/routes/user.js +0 -53
  770. package/src/api/routes/view.js +0 -31
  771. package/src/automations/bullboard.js +0 -39
  772. package/src/automations/index.js +0 -29
  773. package/src/automations/tests/utilities/index.js +0 -51
  774. package/src/automations/triggerInfo/index.js +0 -15
  775. package/src/constants/index.js +0 -208
  776. package/src/constants/screens.js +0 -46
  777. package/src/db/index.js +0 -16
  778. package/src/events/utils.js +0 -38
  779. package/src/middleware/appInfo.js +0 -19
  780. package/src/middleware/publicApi.js +0 -21
  781. package/src/module.d.ts +0 -14
  782. package/src/tests/utilities/controllers.js +0 -16
  783. package/src/utilities/budibaseDir.js +0 -3
  784. package/src/utilities/fileSystem/utilities.js +0 -36
  785. package/src/utilities/global.js +0 -127
  786. package/src/utilities/queue/inMemoryQueue.js +0 -122
  787. package/src/utilities/routing/index.js +0 -25
  788. 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 automations/automationUtils.js</title>
6
+ <title>Code coverage report for src/automations/automationUtils.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,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">automations</a> automationUtils.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/automations</a> automationUtils.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">70.73% </span>
33
+ <span class="strong">54.83% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>29/41</span>
35
+ <span class='fraction'>17/31</span>
36
36
  </div>
37
37
 
38
38
 
@@ -187,12 +187,14 @@
187
187
  <a name='L122'></a><a href='#L122'>122</a>
188
188
  <a name='L123'></a><a href='#L123'>123</a>
189
189
  <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">46x</span>
192
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
193
  <span class="cline-any cline-neutral">&nbsp;</span>
192
194
  <span class="cline-any cline-neutral">&nbsp;</span>
193
195
  <span class="cline-any cline-neutral">&nbsp;</span>
194
196
  <span class="cline-any cline-yes">46x</span>
195
- <span class="cline-any cline-yes">46x</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
196
198
  <span class="cline-any cline-neutral">&nbsp;</span>
197
199
  <span class="cline-any cline-neutral">&nbsp;</span>
198
200
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -311,12 +313,13 @@
311
313
  <span class="cline-any cline-neutral">&nbsp;</span>
312
314
  <span class="cline-any cline-no">&nbsp;</span>
313
315
  <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
316
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
315
317
  decodeJSBinding,
316
318
  isJSBinding,
317
319
  encodeJSBinding,
318
- } = require("@budibase/string-templates")
319
- const sdk = require("../sdk")
320
+ } from "@budibase/string-templates"
321
+ import sdk from "../sdk"
322
+ import { Row } from "@budibase/types"
320
323
  &nbsp;
321
324
  /**
322
325
  * When values are input to the system generally they will be of type string as this is required for template strings.
@@ -334,7 +337,7 @@ const sdk = require("../sdk")
334
337
  * @returns {object} The inputs object which has had all the various types supported by this function converted to their
335
338
  * primitive types.
336
339
  */
337
- exports.cleanInputValues = (inputs, schema) =&gt; {
340
+ export function cleanInputValues(inputs: Record&lt;string, any&gt;, schema: any) {
338
341
  if (schema == null) {
339
342
  return inputs
340
343
  }
@@ -358,7 +361,7 @@ exports.cleanInputValues = (inputs, schema) =&gt; {
358
361
  }
359
362
  if (propSchema.type === "number") {
360
363
  let floatInput = parseFloat(input)
361
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!isNaN(floatInput)) {
364
+ if (!isNaN(floatInput)) {
362
365
  inputs[inputKey] = floatInput
363
366
  }
364
367
  }
@@ -375,12 +378,12 @@ exports.cleanInputValues = (inputs, schema) =&gt; {
375
378
  * @param {object} row The input row structure which requires clean-up after having been through template statements.
376
379
  * @returns {Promise&lt;Object&gt;} The cleaned up rows object, will should now have all the required primitive types.
377
380
  */
378
- exports.cleanUpRow = async (tableId, row) =&gt; {
381
+ export async function cleanUpRow(tableId: string, row: Row) {
379
382
  let table = await sdk.tables.getTable(tableId)
380
- return exports.cleanInputValues(row, { properties: table.schema })
383
+ return cleanInputValues(row, { properties: table.schema })
381
384
  }
382
385
  &nbsp;
383
- exports.getError = err =&gt; {
386
+ export function getError(err: any) {
384
387
  <span class="missing-if-branch" title="if path not taken" >I</span>if (err == null) {
385
388
  <span class="cstat-no" title="statement not covered" > return "No error provided."</span>
386
389
  }
@@ -393,13 +396,13 @@ exports.getError = err =&gt; {
393
396
  return typeof err !== "string" ? err.toString() : <span class="branch-1 cbranch-no" title="branch not covered" >err</span>
394
397
  }
395
398
  &nbsp;
396
- exports.substituteLoopStep = (hbsString, substitute) =&gt; {
399
+ export function substituteLoopStep(hbsString: string, substitute: string) {
397
400
  let checkForJS = isJSBinding(hbsString)
398
401
  let substitutedHbsString = ""
399
402
  let open = checkForJS ? <span class="branch-0 cbranch-no" title="branch not covered" >`$("` </span>: "{{"
400
403
  let closed = checkForJS ? <span class="branch-0 cbranch-no" title="branch not covered" >`")` </span>: "}}"
401
404
  <span class="missing-if-branch" title="if path not taken" >I</span>if (checkForJS) {
402
- <span class="cstat-no" title="statement not covered" > hbsString = decodeJSBinding(hbsString)</span>
405
+ <span class="cstat-no" title="statement not covered" > hbsString = decodeJSBinding(hbsString) as string</span>
403
406
  }
404
407
  let pointer = 0,
405
408
  openPointer = 0,
@@ -424,9 +427,9 @@ exports.substituteLoopStep = (hbsString, substitute) =&gt; {
424
427
  return substitutedHbsString
425
428
  }
426
429
  &nbsp;
427
- exports.stringSplit = <span class="fstat-no" title="function not covered" >va</span>lue =&gt; {
428
- <span class="cstat-no" title="statement not covered" > if (value == null) {</span>
429
- <span class="cstat-no" title="statement not covered" > return []</span>
430
+ export function <span class="fstat-no" title="function not covered" >stringSplit(</span>value: string | string[]) {
431
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (value == null || Array.isArray(value)) {</span>
432
+ <span class="cstat-no" title="statement not covered" > return value || []</span>
430
433
  }
431
434
  <span class="cstat-no" title="statement not covered" > if (value.split("\n").length &gt; 1) {</span>
432
435
  <span class="cstat-no" title="statement not covered" > value = value.split("\n")</span>
@@ -442,16 +445,16 @@ exports.stringSplit = <span class="fstat-no" title="function not covered" >va</s
442
445
  <div class='footer quiet pad2 space-top1 center small'>
443
446
  Code coverage generated by
444
447
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
445
- at Mon Nov 28 2022 09:35:14 GMT+0000 (Coordinated Universal Time)
448
+ at Tue Nov 29 2022 11:32:32 GMT+0000 (Coordinated Universal Time)
446
449
  </div>
447
- <script src="../prettify.js"></script>
450
+ <script src="../../prettify.js"></script>
448
451
  <script>
449
452
  window.onload = function () {
450
453
  prettyPrint();
451
454
  };
452
455
  </script>
453
- <script src="../sorter.js"></script>
454
- <script src="../block-navigation.js"></script>
456
+ <script src="../../sorter.js"></script>
457
+ <script src="../../block-navigation.js"></script>
455
458
  </body>
456
459
  </html>
457
460
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for automations/bullboard.js</title>
6
+ <title>Code coverage report for src/automations/bullboard.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">automations</a> bullboard.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/automations</a> bullboard.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">47.82% </span>
26
+ <span class="strong">45.45% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>11/23</span>
28
+ <span class='fraction'>10/22</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/2</span>
35
+ <span class='fraction'>0/1</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">47.82% </span>
47
+ <span class="strong">45.45% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/23</span>
49
+ <span class='fraction'>10/22</span>
50
50
  </div>
51
51
 
52
52
 
@@ -101,14 +101,14 @@
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
102
  <a name='L37'></a><a href='#L37'>37</a>
103
103
  <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
104
+ <a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
106
105
  <span class="cline-any cline-yes">45x</span>
107
106
  <span class="cline-any cline-yes">45x</span>
108
107
  <span class="cline-any cline-yes">45x</span>
109
108
  <span class="cline-any cline-yes">45x</span>
110
109
  <span class="cline-any cline-yes">45x</span>
111
110
  <span class="cline-any cline-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
112
  <span class="cline-any cline-yes">45x</span>
113
113
  <span class="cline-any cline-neutral">&nbsp;</span>
114
114
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -139,31 +139,30 @@
139
139
  <span class="cline-any cline-yes">45x</span>
140
140
  <span class="cline-any cline-no">&nbsp;</span>
141
141
  <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-yes">45x</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { createBullBoard } = require("@bull-board/api")
145
- const { BullAdapter } = require("@bull-board/api/bullAdapter")
146
- const { KoaAdapter } = require("@bull-board/koa")
147
- const { queue } = require("@budibase/backend-core")
148
- const automation = require("../threads/automation")
149
- const { backups } = require("@budibase/pro")
142
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { BullAdapter } from "@bull-board/api/bullAdapter"
143
+ import { KoaAdapter } from "@bull-board/koa"
144
+ import { queue } from "@budibase/backend-core"
145
+ import * as automation from "../threads/automation"
146
+ import { backups } from "@budibase/pro"
147
+ import { createBullBoard } from "@bull-board/api"
148
+ import BullQueue from "bull"
150
149
  &nbsp;
151
- let automationQueue = queue.createQueue(
150
+ export const automationQueue: BullQueue.Queue = queue.createQueue(
152
151
  queue.JobQueue.AUTOMATION,
153
- automation.removeStalled
152
+ { removeStalledCb: automation.removeStalled }
154
153
  )
155
154
  &nbsp;
156
155
  const PATH_PREFIX = "/bulladmin"
157
156
  &nbsp;
158
- exports.init = <span class="fstat-no" title="function not covered" >as</span>ync () =&gt; {
157
+ export async function <span class="fstat-no" title="function not covered" >init(</span>) {
159
158
  // Set up queues for bull board admin
160
159
  const backupQueue = <span class="cstat-no" title="statement not covered" >await backups.getBackupQueue()</span>
161
160
  const queues = <span class="cstat-no" title="statement not covered" >[automationQueue]</span>
162
- <span class="cstat-no" title="statement not covered" > if (backupQueue) {</span>
161
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (backupQueue) {</span>
163
162
  <span class="cstat-no" title="statement not covered" > queues.push(backupQueue)</span>
164
163
  }
165
164
  const adapters = <span class="cstat-no" title="statement not covered" >[]</span>
166
- const serverAdapter = <span class="cstat-no" title="statement not covered" >new KoaAdapter()</span>
165
+ const serverAdapter: any = <span class="cstat-no" title="statement not covered" >new KoaAdapter()</span>
167
166
  <span class="cstat-no" title="statement not covered" > for (let queue of queues) {</span>
168
167
  <span class="cstat-no" title="statement not covered" > adapters.push(new BullAdapter(queue))</span>
169
168
  }
@@ -175,11 +174,9 @@ exports.init = <span class="fstat-no" title="function not covered" >as</span>ync
175
174
  <span class="cstat-no" title="statement not covered" > return serverAdapter.registerPlugin()</span>
176
175
  }
177
176
  &nbsp;
178
- exports.shutdown = <span class="fstat-no" title="function not covered" >as</span>ync () =&gt; {
177
+ export async function <span class="fstat-no" title="function not covered" >shutdown(</span>) {
179
178
  <span class="cstat-no" title="statement not covered" > await queue.shutdown()</span>
180
179
  }
181
- &nbsp;
182
- exports.automationQueue = automationQueue
183
180
  &nbsp;</pre></td></tr></table></pre>
184
181
 
185
182
  <div class='push'></div><!-- for sticky footer -->
@@ -187,16 +184,16 @@ exports.automationQueue = automationQueue
187
184
  <div class='footer quiet pad2 space-top1 center small'>
188
185
  Code coverage generated by
189
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
190
- at Mon Nov 28 2022 09:35:14 GMT+0000 (Coordinated Universal Time)
187
+ at Tue Nov 29 2022 11:32:32 GMT+0000 (Coordinated Universal Time)
191
188
  </div>
192
- <script src="../prettify.js"></script>
189
+ <script src="../../prettify.js"></script>
193
190
  <script>
194
191
  window.onload = function () {
195
192
  prettyPrint();
196
193
  };
197
194
  </script>
198
- <script src="../sorter.js"></script>
199
- <script src="../block-navigation.js"></script>
195
+ <script src="../../sorter.js"></script>
196
+ <script src="../../block-navigation.js"></script>
200
197
  </body>
201
198
  </html>
202
199
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for automations</title>
6
+ <title>Code coverage report for src/automations</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> automations</h1>
22
+ <h1><a href="../../index.html">All files</a> src/automations</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">83.95% </span>
26
+ <span class="strong">76.62% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>157/187</span>
28
+ <span class='fraction'>236/308</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">70.88% </span>
33
+ <span class="strong">53.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>56/79</span>
35
+ <span class='fraction'>63/117</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">77.27% </span>
40
+ <span class="strong">76% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>17/22</span>
42
+ <span class='fraction'>38/50</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">83.87% </span>
47
+ <span class="strong">76.09% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>156/186</span>
49
+ <span class='fraction'>226/297</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 high'></div>
64
+ <div class='status-line medium'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -79,14 +79,14 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="actions.js"><a href="actions.js.html">actions.js</a></td>
82
+ <td class="file high" data-value="actions.ts"><a href="actions.ts.html">actions.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>
86
86
  <td data-value="100" class="pct high">100%</td>
87
87
  <td data-value="24" class="abs high">24/24</td>
88
- <td data-value="50" class="pct medium">50%</td>
89
- <td data-value="2" class="abs medium">1/2</td>
88
+ <td data-value="100" class="pct high">100%</td>
89
+ <td data-value="1" class="abs high">1/1</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="0" class="abs high">0/0</td>
92
92
  <td data-value="100" class="pct high">100%</td>
@@ -94,14 +94,14 @@
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file high" data-value="automationUtils.js"><a href="automationUtils.js.html">automationUtils.js</a></td>
97
+ <td class="file high" data-value="automationUtils.ts"><a href="automationUtils.ts.html">automationUtils.ts</a></td>
98
98
  <td data-value="83.87" class="pic high">
99
99
  <div class="chart"><div class="cover-fill" style="width: 83%"></div><div class="cover-empty" style="width: 17%"></div></div>
100
100
  </td>
101
101
  <td data-value="83.87" class="pct high">83.87%</td>
102
102
  <td data-value="62" class="abs high">52/62</td>
103
- <td data-value="70.73" class="pct medium">70.73%</td>
104
- <td data-value="41" class="abs medium">29/41</td>
103
+ <td data-value="54.83" class="pct medium">54.83%</td>
104
+ <td data-value="31" class="abs medium">17/31</td>
105
105
  <td data-value="80" class="pct high">80%</td>
106
106
  <td data-value="5" class="abs high">4/5</td>
107
107
  <td data-value="83.87" class="pct high">83.87%</td>
@@ -109,48 +109,63 @@
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file low" data-value="bullboard.js"><a href="bullboard.js.html">bullboard.js</a></td>
113
- <td data-value="47.82" class="pic low">
114
- <div class="chart"><div class="cover-fill" style="width: 47%"></div><div class="cover-empty" style="width: 53%"></div></div>
112
+ <td class="file low" data-value="bullboard.ts"><a href="bullboard.ts.html">bullboard.ts</a></td>
113
+ <td data-value="45.45" class="pic low">
114
+ <div class="chart"><div class="cover-fill" style="width: 45%"></div><div class="cover-empty" style="width: 55%"></div></div>
115
115
  </td>
116
- <td data-value="47.82" class="pct low">47.82%</td>
117
- <td data-value="23" class="abs low">11/23</td>
116
+ <td data-value="45.45" class="pct low">45.45%</td>
117
+ <td data-value="22" class="abs low">10/22</td>
118
118
  <td data-value="0" class="pct low">0%</td>
119
- <td data-value="2" class="abs low">0/2</td>
119
+ <td data-value="1" class="abs low">0/1</td>
120
120
  <td data-value="0" class="pct low">0%</td>
121
121
  <td data-value="2" class="abs low">0/2</td>
122
- <td data-value="47.82" class="pct low">47.82%</td>
123
- <td data-value="23" class="abs low">11/23</td>
122
+ <td data-value="45.45" class="pct low">45.45%</td>
123
+ <td data-value="22" class="abs low">10/22</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
127
- <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
128
- <td data-value="87.5" class="pic high">
129
- <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
127
+ <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
128
+ <td data-value="94.73" class="pic high">
129
+ <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
130
130
  </td>
131
- <td data-value="87.5" class="pct high">87.5%</td>
132
- <td data-value="16" class="abs high">14/16</td>
131
+ <td data-value="94.73" class="pct high">94.73%</td>
132
+ <td data-value="19" class="abs high">18/19</td>
133
133
  <td data-value="100" class="pct high">100%</td>
134
134
  <td data-value="0" class="abs high">0/0</td>
135
- <td data-value="50" class="pct medium">50%</td>
136
- <td data-value="4" class="abs medium">2/4</td>
137
- <td data-value="87.5" class="pct high">87.5%</td>
138
- <td data-value="16" class="abs high">14/16</td>
135
+ <td data-value="62.5" class="pct medium">62.5%</td>
136
+ <td data-value="8" class="abs medium">5/8</td>
137
+ <td data-value="92.85" class="pct high">92.85%</td>
138
+ <td data-value="14" class="abs high">13/14</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
142
- <td class="file high" data-value="triggers.js"><a href="triggers.js.html">triggers.js</a></td>
142
+ <td class="file high" data-value="triggers.ts"><a href="triggers.ts.html">triggers.ts</a></td>
143
143
  <td data-value="90.32" class="pic high">
144
144
  <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
145
145
  </td>
146
146
  <td data-value="90.32" class="pct high">90.32%</td>
147
147
  <td data-value="62" class="abs high">56/62</td>
148
- <td data-value="76.47" class="pct medium">76.47%</td>
149
- <td data-value="34" class="abs medium">26/34</td>
148
+ <td data-value="78.57" class="pct medium">78.57%</td>
149
+ <td data-value="28" class="abs medium">22/28</td>
150
150
  <td data-value="100" class="pct high">100%</td>
151
- <td data-value="11" class="abs high">11/11</td>
152
- <td data-value="90.16" class="pct high">90.16%</td>
153
- <td data-value="61" class="abs high">55/61</td>
151
+ <td data-value="13" class="abs high">13/13</td>
152
+ <td data-value="89.83" class="pct high">89.83%</td>
153
+ <td data-value="59" class="abs high">53/59</td>
154
+ </tr>
155
+
156
+ <tr>
157
+ <td class="file medium" data-value="utils.ts"><a href="utils.ts.html">utils.ts</a></td>
158
+ <td data-value="63.86" class="pic medium">
159
+ <div class="chart"><div class="cover-fill" style="width: 63%"></div><div class="cover-empty" style="width: 37%"></div></div>
160
+ </td>
161
+ <td data-value="63.86" class="pct medium">63.86%</td>
162
+ <td data-value="119" class="abs medium">76/119</td>
163
+ <td data-value="41.07" class="pct low">41.07%</td>
164
+ <td data-value="56" class="abs low">23/56</td>
165
+ <td data-value="72.72" class="pct medium">72.72%</td>
166
+ <td data-value="22" class="abs medium">16/22</td>
167
+ <td data-value="63.79" class="pct medium">63.79%</td>
168
+ <td data-value="116" class="abs medium">74/116</td>
154
169
  </tr>
155
170
 
156
171
  </tbody>
@@ -161,16 +176,16 @@
161
176
  <div class='footer quiet pad2 space-top1 center small'>
162
177
  Code coverage generated by
163
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at Mon Nov 28 2022 09:35:14 GMT+0000 (Coordinated Universal Time)
179
+ at Tue Nov 29 2022 11:32:32 GMT+0000 (Coordinated Universal Time)
165
180
  </div>
166
- <script src="../prettify.js"></script>
181
+ <script src="../../prettify.js"></script>
167
182
  <script>
168
183
  window.onload = function () {
169
184
  prettyPrint();
170
185
  };
171
186
  </script>
172
- <script src="../sorter.js"></script>
173
- <script src="../block-navigation.js"></script>
187
+ <script src="../../sorter.js"></script>
188
+ <script src="../../block-navigation.js"></script>
174
189
  </body>
175
190
  </html>
176
191