@budibase/server 2.1.41 → 2.1.43-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 (795) hide show
  1. package/__mocks__/aws-sdk.ts +14 -0
  2. package/__mocks__/node-fetch.ts +5 -1
  3. package/builder/assets/index.0c44dac3.css +6 -0
  4. package/builder/assets/index.17a2178b.js +1021 -0
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +10910 -3861
  7. package/coverage/coverage-final.json +267 -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} +30 -30
  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} +99 -99
  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} +58 -58
  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} +287 -107
  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} +69 -87
  22. package/coverage/lcov-report/src/api/controllers/index.html +431 -0
  23. package/coverage/lcov-report/src/api/controllers/integration.ts.html +124 -0
  24. package/coverage/lcov-report/{api/controllers/layout.js.html → src/api/controllers/layout.ts.html} +31 -31
  25. package/coverage/lcov-report/{api/controllers/metadata.js.html → src/api/controllers/metadata.ts.html} +33 -30
  26. package/coverage/lcov-report/{api/controllers/migrations.js.html → src/api/controllers/migrations.ts.html} +20 -17
  27. package/coverage/lcov-report/{api/controllers/permission.js.html → src/api/controllers/permission.ts.html} +88 -79
  28. package/coverage/lcov-report/{api/routes/role.js.html → src/api/controllers/plugin/file.ts.html} +40 -40
  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/{utilities/routing/index.js.html → src/api/controllers/public/mapping/tables.ts.html} +46 -43
  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} +25 -25
  62. package/coverage/lcov-report/{api/controllers/role.js.html → src/api/controllers/role.ts.html} +48 -60
  63. package/coverage/lcov-report/{api/controllers/routing.js.html → src/api/controllers/routing.ts.html} +67 -58
  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} +162 -111
  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} +163 -121
  69. package/coverage/lcov-report/{api/controllers/row/internalSearch.js.html → src/api/controllers/row/internalSearch.ts.html} +189 -117
  70. package/coverage/lcov-report/{api/controllers/row/staticFormula.js.html → src/api/controllers/row/staticFormula.ts.html} +73 -58
  71. package/coverage/lcov-report/{api/controllers/row/utils.js.html → src/api/controllers/row/utils.ts.html} +88 -58
  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} +19 -16
  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} +104 -62
  77. package/coverage/lcov-report/{api/controllers/table/external.js.html → src/api/controllers/table/external.ts.html} +204 -111
  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} +58 -49
  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} +38 -29
  83. package/coverage/lcov-report/{api/controllers/user.js.html → src/api/controllers/user.ts.html} +93 -99
  84. package/coverage/lcov-report/{api/controllers/view/exporters.js.html → src/api/controllers/view/exporters.ts.html} +22 -16
  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} +91 -64
  87. package/coverage/lcov-report/{api/controllers/view/utils.js.html → src/api/controllers/view/utils.ts.html} +72 -54
  88. package/coverage/lcov-report/{api/controllers/view/viewBuilder.js.html → src/api/controllers/view/viewBuilder.ts.html} +78 -36
  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} +55 -76
  92. package/coverage/lcov-report/src/api/routes/analytics.ts.html +112 -0
  93. package/coverage/lcov-report/{api/routes/integration.js.html → src/api/routes/apikeys.ts.html} +25 -25
  94. package/coverage/lcov-report/{constants/screens.js.html → src/api/routes/application.ts.html} +66 -66
  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} +53 -47
  97. package/coverage/lcov-report/{api/routes/cloud.js.html → src/api/routes/backup.ts.html} +28 -28
  98. package/coverage/lcov-report/{api/routes/deploy.js.html → src/api/routes/cloud.ts.html} +31 -28
  99. package/coverage/lcov-report/{api/routes/component.js.html → src/api/routes/component.ts.html} +24 -24
  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/{automations/triggerInfo/index.js.html → src/api/routes/layout.ts.html} +29 -26
  107. package/coverage/lcov-report/{api/routes/metadata.js.html → src/api/routes/metadata.ts.html} +31 -31
  108. package/coverage/lcov-report/src/api/routes/migrations.ts.html +127 -0
  109. package/coverage/lcov-report/src/api/routes/permission.ts.html +208 -0
  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} +41 -50
  123. package/coverage/lcov-report/src/api/routes/role.ts.html +157 -0
  124. package/coverage/lcov-report/{api/routes/routing.js.html → src/api/routes/routing.ts.html} +24 -24
  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} +43 -28
  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} +32 -41
  130. package/coverage/lcov-report/{api/routes/templates.js.html → src/api/routes/templates.ts.html} +25 -25
  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} +35 -41
  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} +86 -98
  137. package/coverage/lcov-report/{api/routes/view.js.html → src/api/routes/view.ts.html} +45 -36
  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} +69 -60
  141. package/coverage/lcov-report/{automations/automationUtils.js.html → src/automations/automationUtils.ts.html} +36 -33
  142. package/coverage/lcov-report/{automations/bullboard.js.html → src/automations/bullboard.ts.html} +39 -42
  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} +46 -46
  145. package/coverage/lcov-report/src/automations/logging/index.html +116 -0
  146. package/coverage/lcov-report/src/automations/logging/index.ts.html +199 -0
  147. package/coverage/lcov-report/{automations/steps/bash.js.html → src/automations/steps/bash.ts.html} +45 -30
  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} +34 -19
  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} +43 -28
  152. package/coverage/lcov-report/{automations/steps/executeQuery.js.html → src/automations/steps/executeQuery.ts.html} +45 -30
  153. package/coverage/lcov-report/{automations/steps/executeScript.js.html → src/automations/steps/executeScript.ts.html} +58 -28
  154. package/coverage/lcov-report/{automations/steps/filter.js.html → src/automations/steps/filter.ts.html} +39 -30
  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} +38 -23
  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} +54 -39
  159. package/coverage/lcov-report/{automations/steps/queryRows.js.html → src/automations/steps/queryRows.ts.html} +102 -66
  160. package/coverage/lcov-report/{automations/steps/sendSmtpEmail.js.html → src/automations/steps/sendSmtpEmail.ts.html} +40 -25
  161. package/coverage/lcov-report/{automations/steps/serverLog.js.html → src/automations/steps/serverLog.ts.html} +40 -22
  162. package/coverage/lcov-report/{automations/steps/slack.js.html → src/automations/steps/slack.ts.html} +38 -23
  163. package/coverage/lcov-report/{automations/steps/updateRow.js.html → src/automations/steps/updateRow.ts.html} +40 -25
  164. package/coverage/lcov-report/{automations/steps/utils.js.html → src/automations/steps/utils.ts.html} +45 -27
  165. package/coverage/lcov-report/{automations/steps/zapier.js.html → src/automations/steps/zapier.ts.html} +41 -23
  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/src/automations/triggerInfo/index.ts.html +130 -0
  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} +78 -66
  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/src/constants/index.ts.html +697 -0
  180. package/coverage/lcov-report/{constants/layouts.js.html → src/constants/layouts.ts.html} +18 -36
  181. package/coverage/lcov-report/src/constants/screens.ts.html +229 -0
  182. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +2059 -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} +47 -29
  190. package/coverage/lcov-report/{db → src/db}/index.html +48 -33
  191. package/coverage/lcov-report/{api/routes/layout.js.html → src/db/index.ts.html} +28 -28
  192. package/coverage/lcov-report/{db/linkedRows/LinkController.js.html → src/db/linkedRows/LinkController.ts.html} +97 -160
  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} +93 -78
  196. package/coverage/lcov-report/{db/linkedRows/linkUtils.js.html → src/db/linkedRows/linkUtils.ts.html} +83 -56
  197. package/coverage/lcov-report/{db/newid.js.html → src/db/newid.ts.html} +14 -14
  198. package/coverage/lcov-report/{db/utils.js.html → src/db/utils.ts.html} +163 -211
  199. package/coverage/lcov-report/{automations/triggerInfo/app.js.html → src/definitions/automations.ts.html} +42 -42
  200. package/coverage/lcov-report/{api/routes/datasource.js.html → src/definitions/datasource.ts.html} +61 -64
  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} +40 -25
  204. package/coverage/lcov-report/{events/index.js.html → src/events/BudibaseEmitter.ts.html} +26 -29
  205. package/coverage/lcov-report/{events → src/events}/index.html +48 -33
  206. package/coverage/lcov-report/{middleware/utils.js.html → src/events/index.ts.html} +18 -24
  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/src/index.ts.html +133 -0
  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/{api/routes/apikeys.js.html → src/integrations/base/utils.ts.html} +30 -30
  217. package/coverage/lcov-report/src/integrations/couchdb.ts.html +406 -0
  218. package/coverage/lcov-report/{constants/index.js.html → src/integrations/dynamodb.ts.html} +263 -227
  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} +33 -30
  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} +46 -40
  241. package/coverage/lcov-report/{middleware/currentapp.js.html → src/middleware/currentapp.ts.html} +81 -72
  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} +27 -27
  245. package/coverage/lcov-report/{middleware/resourceId.js.html → src/middleware/resourceId.ts.html} +60 -45
  246. package/coverage/lcov-report/{api/controllers/integration.js.html → src/middleware/selfhost.ts.html} +22 -28
  247. package/coverage/lcov-report/{api/routes/analytics.js.html → src/middleware/utils.ts.html} +19 -19
  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} +56 -56
  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 +161 -0
  267. package/coverage/lcov-report/{db/index.js.html → src/migrations/functions/syncQuotas.ts.html} +35 -38
  268. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +520 -0
  269. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +161 -0
  270. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +94 -0
  271. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +127 -0
  272. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +115 -0
  273. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +169 -0
  274. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +124 -0
  275. package/coverage/lcov-report/{utilities/queue → src/migrations}/index.html +23 -23
  276. package/coverage/lcov-report/src/migrations/index.ts.html +430 -0
  277. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +205 -0
  278. package/coverage/lcov-report/src/migrations/tests/index.html +131 -0
  279. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +283 -0
  280. package/coverage/lcov-report/src/sdk/app/automations/index.html +131 -0
  281. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +100 -0
  282. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +214 -0
  283. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +91 -0
  284. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +604 -0
  285. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +682 -0
  286. package/coverage/lcov-report/src/sdk/app/backups/index.html +176 -0
  287. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +112 -0
  288. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +292 -0
  289. package/coverage/lcov-report/src/sdk/app/tables/index.html +116 -0
  290. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +265 -0
  291. package/coverage/lcov-report/{utilities/routing → src/sdk}/index.html +10 -10
  292. package/coverage/lcov-report/{api/routes/migrations.js.html → src/sdk/index.ts.html} +24 -21
  293. package/coverage/lcov-report/src/startup.ts.html +499 -0
  294. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +1966 -0
  295. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +127 -0
  296. package/coverage/lcov-report/src/tests/utilities/index.html +161 -0
  297. package/coverage/lcov-report/{middleware/selfhost.js.html → src/tests/utilities/index.ts.html} +33 -30
  298. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +667 -0
  299. package/coverage/lcov-report/src/threads/automation.ts.html +1594 -0
  300. package/coverage/lcov-report/src/threads/index.html +161 -0
  301. package/coverage/lcov-report/src/threads/index.ts.html +418 -0
  302. package/coverage/lcov-report/src/threads/query.ts.html +961 -0
  303. package/coverage/lcov-report/src/threads/utils.ts.html +373 -0
  304. package/coverage/lcov-report/{utilities/budibaseDir.js.html → src/utilities/budibaseDir.ts.html} +14 -14
  305. package/coverage/lcov-report/{utilities/centralPath.js.html → src/utilities/centralPath.ts.html} +16 -16
  306. package/coverage/lcov-report/{utilities/csvParser.js.html → src/utilities/csvParser.ts.html} +107 -59
  307. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +547 -0
  308. package/coverage/lcov-report/{api/controllers/table → src/utilities/fileSystem}/index.html +44 -44
  309. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1129 -0
  310. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +142 -0
  311. package/coverage/lcov-report/{utilities/global.js.html → src/utilities/global.ts.html} +115 -82
  312. package/coverage/lcov-report/{utilities → src/utilities}/index.html +92 -77
  313. package/coverage/lcov-report/{utilities/index.js.html → src/utilities/index.ts.html} +98 -74
  314. package/coverage/lcov-report/{utilities/plugins.js.html → src/utilities/plugins.ts.html} +25 -22
  315. package/coverage/lcov-report/src/utilities/redis.ts.html +343 -0
  316. package/coverage/lcov-report/{api/controllers/query → src/utilities/routing}/index.html +8 -8
  317. package/coverage/lcov-report/src/utilities/routing/index.ts.html +181 -0
  318. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +146 -0
  319. package/coverage/lcov-report/{utilities/rowProcessor/index.js.html → src/utilities/rowProcessor/index.ts.html} +128 -359
  320. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +373 -0
  321. package/coverage/lcov-report/{utilities/rowProcessor/utils.js.html → src/utilities/rowProcessor/utils.ts.html} +54 -42
  322. package/coverage/lcov-report/{utilities/scriptRunner.js.html → src/utilities/scriptRunner.ts.html} +31 -19
  323. package/coverage/lcov-report/{utilities/security.js.html → src/utilities/security.ts.html} +60 -78
  324. package/coverage/lcov-report/{utilities/statusCodes.js.html → src/utilities/statusCodes.ts.html} +11 -11
  325. package/coverage/lcov-report/{utilities → src/utilities}/usageQuota/index.html +28 -28
  326. package/coverage/lcov-report/{utilities/usageQuota/rows.js.html → src/utilities/usageQuota/rows.ts.html} +36 -48
  327. package/coverage/lcov-report/{utilities/usageQuota/usageQuoteReset.js.html → src/utilities/usageQuota/usageQuoteReset.ts.html} +13 -13
  328. package/coverage/lcov-report/{utilities/users.js.html → src/utilities/users.ts.html} +34 -40
  329. package/coverage/lcov-report/{utilities/workerRequests.js.html → src/utilities/workerRequests.ts.html} +127 -112
  330. package/coverage/lcov-report/{events/utils.js.html → src/watch.ts.html} +67 -70
  331. package/coverage/lcov-report/src/websocket.ts.html +163 -0
  332. package/coverage/lcov.info +19754 -7082
  333. package/dist/api/controllers/apikeys.js +12 -9
  334. package/dist/api/controllers/application.js +48 -45
  335. package/dist/api/controllers/automation.js +122 -82
  336. package/dist/api/controllers/cloud.js +84 -71
  337. package/dist/api/controllers/component.js +4 -2
  338. package/dist/api/controllers/datasource.js +151 -94
  339. package/dist/api/controllers/deploy/Deployment.js +10 -6
  340. package/dist/api/controllers/deploy/index.js +13 -16
  341. package/dist/api/controllers/dev.js +96 -81
  342. package/dist/api/controllers/integration.js +11 -8
  343. package/dist/api/controllers/layout.js +18 -15
  344. package/dist/api/controllers/metadata.js +51 -37
  345. package/dist/api/controllers/migrations.js +19 -11
  346. package/dist/api/controllers/permission.js +52 -43
  347. package/dist/api/controllers/plugin/index.js +6 -7
  348. package/dist/api/controllers/plugin/utils.js +2 -1
  349. package/dist/api/controllers/public/applications.js +17 -9
  350. package/dist/api/controllers/public/tables.js +29 -9
  351. package/dist/api/controllers/public/utils.js +2 -2
  352. package/dist/api/controllers/query/import/index.js +1 -2
  353. package/dist/api/controllers/query/index.js +10 -13
  354. package/dist/api/controllers/query/validation.js +41 -33
  355. package/dist/api/controllers/role.js +29 -27
  356. package/dist/api/controllers/routing.js +71 -58
  357. package/dist/api/controllers/row/ExternalRequest.js +538 -542
  358. package/dist/api/controllers/row/external.js +258 -190
  359. package/dist/api/controllers/row/index.js +43 -14
  360. package/dist/api/controllers/row/internal.js +354 -295
  361. package/dist/api/controllers/row/internalSearch.js +95 -80
  362. package/dist/api/controllers/row/staticFormula.js +125 -112
  363. package/dist/api/controllers/row/utils.js +122 -84
  364. package/dist/api/controllers/screen.js +81 -66
  365. package/dist/api/controllers/script.js +13 -6
  366. package/dist/api/controllers/static/index.js +11 -14
  367. package/dist/api/controllers/table/bulkFormula.js +47 -35
  368. package/dist/api/controllers/table/external.js +89 -53
  369. package/dist/api/controllers/table/index.js +64 -31
  370. package/dist/api/controllers/table/internal.js +5 -6
  371. package/dist/api/controllers/table/utils.js +39 -35
  372. package/dist/api/controllers/templates.js +17 -10
  373. package/dist/api/controllers/user.js +82 -70
  374. package/dist/api/controllers/view/exporters.js +8 -4
  375. package/dist/api/controllers/view/index.js +201 -153
  376. package/dist/api/controllers/view/utils.js +151 -121
  377. package/dist/api/controllers/view/viewBuilder.js +4 -16
  378. package/dist/api/controllers/webhook.js +25 -2
  379. package/dist/api/index.js +38 -34
  380. package/dist/api/routes/analytics.js +29 -3
  381. package/dist/api/routes/apikeys.js +33 -7
  382. package/dist/api/routes/application.js +8 -9
  383. package/dist/api/routes/auth.js +1 -2
  384. package/dist/api/routes/automation.js +46 -20
  385. package/dist/api/routes/backup.js +3 -4
  386. package/dist/api/routes/cloud.js +32 -6
  387. package/dist/api/routes/component.js +32 -6
  388. package/dist/api/routes/datasource.js +39 -13
  389. package/dist/api/routes/deploy.js +34 -8
  390. package/dist/api/routes/dev.js +36 -10
  391. package/dist/api/routes/integration.js +33 -7
  392. package/dist/api/routes/layout.js +33 -7
  393. package/dist/api/routes/metadata.js +36 -10
  394. package/dist/api/routes/migrations.js +32 -6
  395. package/dist/api/routes/permission.js +38 -12
  396. package/dist/api/routes/plugin.js +5 -5
  397. package/dist/api/routes/public/index.js +11 -11
  398. package/dist/api/routes/query.js +42 -15
  399. package/dist/api/routes/role.js +36 -10
  400. package/dist/api/routes/routing.js +32 -6
  401. package/dist/api/routes/row.js +12 -11
  402. package/dist/api/routes/screen.js +35 -9
  403. package/dist/api/routes/script.js +32 -6
  404. package/dist/api/routes/static.js +9 -9
  405. package/dist/api/routes/table.js +40 -13
  406. package/dist/api/routes/templates.js +33 -7
  407. package/dist/api/routes/tests/utilities/TestFunctions.js +6 -8
  408. package/dist/api/routes/tests/utilities/index.js +69 -32
  409. package/dist/api/routes/user.js +40 -13
  410. package/dist/api/routes/utils/validators.js +142 -126
  411. package/dist/api/routes/view.js +38 -12
  412. package/dist/api/routes/webhook.js +1 -2
  413. package/dist/app.js +22 -22
  414. package/dist/automations/actions.js +53 -24
  415. package/dist/automations/automationUtils.js +31 -19
  416. package/dist/automations/bullboard.js +59 -29
  417. package/dist/automations/index.js +23 -18
  418. package/dist/automations/steps/bash.js +40 -10
  419. package/dist/automations/steps/createRow.js +2 -1
  420. package/dist/automations/steps/delay.js +9 -5
  421. package/dist/automations/steps/deleteRow.js +2 -1
  422. package/dist/automations/steps/discord.js +14 -7
  423. package/dist/automations/steps/executeQuery.js +34 -7
  424. package/dist/automations/steps/executeScript.js +34 -7
  425. package/dist/automations/steps/filter.js +20 -18
  426. package/dist/automations/steps/integromat.js +14 -7
  427. package/dist/automations/steps/loop.js +4 -1
  428. package/dist/automations/steps/outgoingWebhook.js +45 -14
  429. package/dist/automations/steps/queryRows.js +71 -38
  430. package/dist/automations/steps/sendSmtpEmail.js +33 -6
  431. package/dist/automations/steps/serverLog.js +12 -8
  432. package/dist/automations/steps/slack.js +14 -7
  433. package/dist/automations/steps/updateRow.js +34 -7
  434. package/dist/automations/steps/utils.js +22 -16
  435. package/dist/automations/steps/zapier.js +15 -7
  436. package/dist/automations/tests/utilities/index.js +62 -38
  437. package/dist/automations/triggerInfo/app.js +4 -1
  438. package/dist/automations/triggerInfo/cron.js +4 -1
  439. package/dist/automations/triggerInfo/index.js +31 -6
  440. package/dist/automations/triggerInfo/rowDeleted.js +4 -1
  441. package/dist/automations/triggerInfo/rowSaved.js +4 -1
  442. package/dist/automations/triggerInfo/rowUpdated.js +4 -1
  443. package/dist/automations/triggerInfo/webhook.js +4 -1
  444. package/dist/automations/triggers.js +90 -57
  445. package/dist/automations/utils.js +9 -8
  446. package/dist/constants/index.js +118 -104
  447. package/dist/constants/layouts.js +7 -10
  448. package/dist/constants/screens.js +49 -44
  449. package/dist/db/defaultData/datasource_bb_default.js +573 -0
  450. package/dist/db/defaultData/employeeImport.js +155 -0
  451. package/dist/db/defaultData/expensesImport.js +117 -0
  452. package/dist/db/defaultData/inventoryImport.js +109 -0
  453. package/dist/db/defaultData/jobsImport.js +152 -0
  454. package/dist/db/dynamoClient.js +20 -20
  455. package/dist/db/inMemoryView.js +47 -38
  456. package/dist/db/index.js +7 -4
  457. package/dist/db/linkedRows/LinkController.js +51 -70
  458. package/dist/db/linkedRows/LinkDocument.js +32 -0
  459. package/dist/db/linkedRows/index.js +93 -81
  460. package/dist/db/linkedRows/linkUtils.js +42 -32
  461. package/dist/db/utils.js +146 -119
  462. package/dist/db/views/staticViews.js +91 -74
  463. package/dist/environment.js +9 -6
  464. package/dist/events/AutomationEmitter.js +13 -10
  465. package/dist/events/BudibaseEmitter.js +24 -0
  466. package/dist/events/index.js +5 -23
  467. package/dist/events/utils.js +18 -10
  468. package/dist/integrations/elasticsearch.js +26 -2
  469. package/dist/integrations/googlesheets.js +5 -6
  470. package/dist/integrations/index.js +15 -6
  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/tableSettings.js +130 -0
  484. package/dist/migrations/functions/usageQuotas/syncApps.js +3 -4
  485. package/dist/migrations/functions/usageQuotas/syncRows.js +3 -4
  486. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  487. package/dist/migrations/index.js +5 -0
  488. package/dist/package.json +11 -45
  489. package/dist/sdk/app/backups/exports.js +1 -2
  490. package/dist/sdk/app/backups/imports.js +2 -3
  491. package/dist/sdk/app/tables/index.js +5 -5
  492. package/dist/startup.js +10 -10
  493. package/dist/tests/utilities/TestConfiguration.js +111 -87
  494. package/dist/tests/utilities/controllers.js +38 -15
  495. package/dist/tests/utilities/structures.js +72 -53
  496. package/dist/threads/automation.js +49 -27
  497. package/dist/threads/query.js +17 -19
  498. package/dist/threads/utils.js +33 -8
  499. package/dist/tsconfig.build.tsbuildinfo +1 -1
  500. package/dist/utilities/budibaseDir.js +4 -2
  501. package/dist/utilities/centralPath.js +14 -7
  502. package/dist/utilities/csvParser.js +27 -21
  503. package/dist/utilities/fileSystem/clientLibrary.js +87 -73
  504. package/dist/utilities/fileSystem/index.js +203 -175
  505. package/dist/utilities/fileSystem/processor.js +8 -3
  506. package/dist/utilities/global.js +87 -66
  507. package/dist/utilities/index.js +102 -75
  508. package/dist/utilities/plugins.js +15 -9
  509. package/dist/utilities/redis.js +100 -65
  510. package/dist/utilities/routing/index.js +27 -23
  511. package/dist/utilities/rowProcessor/index.js +133 -191
  512. package/dist/utilities/rowProcessor/map.js +99 -0
  513. package/dist/utilities/rowProcessor/utils.js +35 -26
  514. package/dist/utilities/scriptRunner.js +8 -5
  515. package/dist/utilities/security.js +39 -35
  516. package/dist/utilities/usageQuota/rows.js +56 -49
  517. package/dist/utilities/users.js +31 -28
  518. package/dist/utilities/workerRequests.js +115 -82
  519. package/dist/watch.js +1 -2
  520. package/jest.config.ts +33 -0
  521. package/package.json +12 -46
  522. package/scripts/exportAppTemplate.js +2 -2
  523. package/scripts/localdomain.js +34 -6
  524. package/src/api/controllers/{apikeys.js → apikeys.ts} +10 -10
  525. package/src/api/controllers/application.ts +56 -42
  526. package/src/api/controllers/auth.ts +4 -3
  527. package/src/api/controllers/{automation.js → automation.ts} +48 -48
  528. package/src/api/controllers/{cloud.js → cloud.ts} +24 -24
  529. package/src/api/controllers/component.ts +2 -1
  530. package/src/api/controllers/{datasource.js → datasource.ts} +109 -49
  531. package/src/api/controllers/deploy/{Deployment.js → Deployment.ts} +13 -10
  532. package/src/api/controllers/deploy/index.ts +13 -25
  533. package/src/api/controllers/{dev.js → dev.ts} +31 -37
  534. package/src/api/controllers/integration.ts +13 -0
  535. package/src/api/controllers/{layout.js → layout.ts} +8 -8
  536. package/src/api/controllers/{metadata.js → metadata.ts} +11 -10
  537. package/src/api/controllers/migrations.ts +14 -0
  538. package/src/api/controllers/{permission.js → permission.ts} +49 -46
  539. package/src/api/controllers/plugin/index.ts +4 -5
  540. package/src/api/controllers/plugin/utils.ts +3 -5
  541. package/src/api/controllers/public/applications.ts +15 -9
  542. package/src/api/controllers/public/rows.ts +1 -1
  543. package/src/api/controllers/public/tables.ts +2 -2
  544. package/src/api/controllers/public/utils.ts +2 -2
  545. package/src/api/controllers/query/import/index.ts +2 -3
  546. package/src/api/controllers/query/index.ts +11 -14
  547. package/src/api/controllers/query/{validation.js → validation.ts} +7 -7
  548. package/src/api/controllers/{role.js → role.ts} +21 -25
  549. package/src/api/controllers/{routing.js → routing.ts} +37 -34
  550. package/src/api/controllers/row/ExternalRequest.ts +602 -624
  551. package/src/api/controllers/row/{external.js → external.ts} +79 -62
  552. package/src/api/controllers/row/index.ts +19 -11
  553. package/src/api/controllers/row/{internal.js → internal.ts} +87 -73
  554. package/src/api/controllers/row/{internalSearch.js → internalSearch.ts} +92 -68
  555. package/src/api/controllers/row/{staticFormula.js → staticFormula.ts} +30 -25
  556. package/src/api/controllers/row/{utils.js → utils.ts} +32 -22
  557. package/src/api/controllers/screen.ts +10 -6
  558. package/src/api/controllers/script.ts +12 -0
  559. package/src/api/controllers/static/index.ts +14 -16
  560. package/src/api/controllers/table/{bulkFormula.js → bulkFormula.ts} +39 -25
  561. package/src/api/controllers/table/{external.js → external.ts} +86 -55
  562. package/src/api/controllers/table/{index.js → index.ts} +21 -18
  563. package/src/api/controllers/table/internal.ts +5 -6
  564. package/src/api/controllers/table/utils.ts +26 -21
  565. package/src/api/controllers/{templates.js → templates.ts} +10 -7
  566. package/src/api/controllers/{user.js → user.ts} +47 -49
  567. package/src/api/controllers/view/{exporters.js → exporters.ts} +5 -3
  568. package/src/api/controllers/view/{index.js → index.ts} +36 -27
  569. package/src/api/controllers/view/{utils.js → utils.ts} +26 -20
  570. package/src/api/controllers/view/{viewBuilder.js → viewBuilder.ts} +25 -11
  571. package/src/api/controllers/webhook.ts +1 -1
  572. package/src/api/{index.js → index.ts} +15 -22
  573. package/src/api/routes/analytics.ts +9 -0
  574. package/src/api/routes/apikeys.ts +12 -0
  575. package/src/api/routes/application.ts +17 -9
  576. package/src/api/routes/auth.ts +2 -2
  577. package/src/api/routes/automation.ts +87 -0
  578. package/src/api/routes/backup.ts +8 -4
  579. package/src/api/routes/cloud.ts +18 -0
  580. package/src/api/routes/component.ts +14 -0
  581. package/src/api/routes/datasource.ts +60 -0
  582. package/src/api/routes/deploy.ts +21 -0
  583. package/src/api/routes/dev.ts +38 -0
  584. package/src/api/routes/integration.ts +16 -0
  585. package/src/api/routes/layout.ts +16 -0
  586. package/src/api/routes/{metadata.js → metadata.ts} +13 -13
  587. package/src/api/routes/migrations.ts +14 -0
  588. package/src/api/routes/permission.ts +41 -0
  589. package/src/api/routes/plugin.ts +14 -6
  590. package/src/api/routes/public/index.ts +11 -14
  591. package/src/api/routes/public/tests/compare.spec.js +1 -1
  592. package/src/api/routes/{query.js → query.ts} +19 -22
  593. package/src/api/routes/role.ts +24 -0
  594. package/src/api/routes/routing.ts +14 -0
  595. package/src/api/routes/row.ts +13 -15
  596. package/src/api/routes/screen.ts +23 -0
  597. package/src/api/routes/script.ts +10 -0
  598. package/src/api/routes/static.ts +7 -10
  599. package/src/api/routes/{table.js → table.ts} +10 -13
  600. package/src/api/routes/templates.ts +16 -0
  601. package/src/api/routes/tests/analytics.spec.js +1 -1
  602. package/src/api/routes/tests/backup.spec.js +9 -1
  603. package/src/api/routes/tests/deployment.spec.ts +1 -1
  604. package/src/api/routes/tests/permissions.spec.js +2 -1
  605. package/src/api/routes/tests/query.spec.js +15 -10
  606. package/src/api/routes/tests/role.spec.js +7 -9
  607. package/src/api/routes/tests/routing.spec.js +2 -1
  608. package/src/api/routes/tests/row.spec.js +3 -4
  609. package/src/api/routes/tests/static.spec.js +2 -2
  610. package/src/api/routes/tests/table.spec.js +40 -36
  611. package/src/api/routes/tests/user.spec.js +2 -1
  612. package/src/api/routes/tests/utilities/TestFunctions.ts +6 -8
  613. package/src/api/routes/tests/utilities/{index.js → index.ts} +12 -12
  614. package/src/api/routes/tests/view.spec.js +3 -3
  615. package/src/api/routes/user.ts +51 -0
  616. package/src/api/routes/utils/{validators.js → validators.ts} +33 -37
  617. package/src/api/routes/view.ts +34 -0
  618. package/src/api/routes/webhook.ts +2 -2
  619. package/src/app.ts +15 -14
  620. package/src/automations/{actions.js → actions.ts} +26 -23
  621. package/src/automations/{automationUtils.js → automationUtils.ts} +13 -12
  622. package/src/automations/bullboard.ts +38 -0
  623. package/src/automations/index.ts +26 -0
  624. package/src/automations/steps/{bash.js → bash.ts} +13 -8
  625. package/src/automations/steps/createRow.ts +8 -3
  626. package/src/automations/steps/{delay.js → delay.ts} +9 -4
  627. package/src/automations/steps/deleteRow.ts +8 -3
  628. package/src/automations/steps/{discord.js → discord.ts} +10 -5
  629. package/src/automations/steps/{executeQuery.js → executeQuery.ts} +12 -7
  630. package/src/automations/steps/{executeScript.js → executeScript.ts} +17 -7
  631. package/src/automations/steps/{filter.js → filter.ts} +12 -9
  632. package/src/automations/steps/{integromat.js → integromat.ts} +10 -5
  633. package/src/automations/steps/{loop.js → loop.ts} +4 -2
  634. package/src/automations/steps/{outgoingWebhook.js → outgoingWebhook.ts} +18 -13
  635. package/src/automations/steps/{queryRows.js → queryRows.ts} +48 -36
  636. package/src/automations/steps/{sendSmtpEmail.js → sendSmtpEmail.ts} +10 -5
  637. package/src/automations/steps/{serverLog.js → serverLog.ts} +9 -3
  638. package/src/automations/steps/{slack.js → slack.ts} +10 -5
  639. package/src/automations/steps/{updateRow.js → updateRow.ts} +12 -7
  640. package/src/automations/steps/{utils.js → utils.ts} +10 -4
  641. package/src/automations/steps/{zapier.js → zapier.ts} +11 -5
  642. package/src/automations/tests/updateRow.spec.js +0 -1
  643. package/src/automations/tests/utilities/index.ts +60 -0
  644. package/src/automations/triggerInfo/{app.js → app.ts} +7 -2
  645. package/src/automations/triggerInfo/{cron.js → cron.ts} +7 -2
  646. package/src/automations/triggerInfo/index.ts +15 -0
  647. package/src/automations/triggerInfo/{rowDeleted.js → rowDeleted.ts} +7 -2
  648. package/src/automations/triggerInfo/{rowSaved.js → rowSaved.ts} +7 -2
  649. package/src/automations/triggerInfo/{rowUpdated.js → rowUpdated.ts} +7 -2
  650. package/src/automations/triggerInfo/{webhook.js → webhook.ts} +7 -2
  651. package/src/automations/{triggers.js → triggers.ts} +30 -26
  652. package/src/automations/utils.ts +9 -12
  653. package/src/constants/index.ts +204 -0
  654. package/src/constants/{layouts.js → layouts.ts} +3 -9
  655. package/src/constants/screens.ts +48 -0
  656. package/src/db/defaultData/datasource_bb_default.ts +658 -0
  657. package/src/db/defaultData/employeeImport.ts +152 -0
  658. package/src/db/defaultData/expensesImport.ts +114 -0
  659. package/src/db/defaultData/inventoryImport.ts +106 -0
  660. package/src/db/defaultData/jobsImport.ts +158 -0
  661. package/src/db/{dynamoClient.js → dynamoClient.ts} +39 -19
  662. package/src/db/{inMemoryView.js → inMemoryView.ts} +15 -9
  663. package/src/db/index.ts +16 -0
  664. package/src/db/linkedRows/{LinkController.js → LinkController.ts} +64 -85
  665. package/src/db/linkedRows/LinkDocument.ts +60 -0
  666. package/src/db/linkedRows/{index.js → index.ts} +43 -38
  667. package/src/db/linkedRows/{linkUtils.js → linkUtils.ts} +33 -24
  668. package/src/db/{newid.js → newid.ts} +1 -1
  669. package/src/db/tests/linkController.spec.js +73 -57
  670. package/src/db/tests/linkTests.spec.js +17 -14
  671. package/src/db/{utils.js → utils.ts} +77 -93
  672. package/src/db/views/{staticViews.js → staticViews.ts} +20 -13
  673. package/src/{environment.js → environment.ts} +11 -7
  674. package/src/events/{AutomationEmitter.js → AutomationEmitter.ts} +12 -7
  675. package/src/events/{index.js → BudibaseEmitter.ts} +7 -8
  676. package/src/events/index.ts +5 -0
  677. package/src/events/utils.ts +78 -0
  678. package/src/integrations/base/sql.ts +1 -1
  679. package/src/integrations/base/sqlTable.ts +1 -1
  680. package/src/integrations/elasticsearch.ts +32 -2
  681. package/src/integrations/googlesheets.ts +5 -7
  682. package/src/integrations/index.ts +45 -41
  683. package/src/integrations/s3.ts +179 -3
  684. package/src/integrations/tests/s3.spec.ts +85 -1
  685. package/src/integrations/utils.ts +6 -2
  686. package/src/middleware/appInfo.ts +20 -0
  687. package/src/middleware/authorized.ts +21 -28
  688. package/src/middleware/{builder.js → builder.ts} +17 -15
  689. package/src/middleware/{currentapp.js → currentapp.ts} +42 -39
  690. package/src/middleware/{joi-validator.js → joi-validator.ts} +9 -8
  691. package/src/middleware/publicApi.ts +21 -0
  692. package/src/middleware/{resourceId.js → resourceId.ts} +16 -11
  693. package/src/middleware/{selfhost.js → selfhost.ts} +4 -2
  694. package/src/middleware/tests/authorized.spec.js +5 -6
  695. package/src/middleware/tests/currentapp.spec.js +118 -63
  696. package/src/middleware/{utils.js → utils.ts} +3 -1
  697. package/src/migrations/functions/appUrls.ts +2 -2
  698. package/src/migrations/functions/backfill/app/tables.ts +2 -5
  699. package/src/migrations/functions/backfill/global.ts +1 -1
  700. package/src/migrations/functions/tableSettings.ts +145 -0
  701. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  702. package/src/migrations/functions/tests/tableSettings.spec.ts +144 -0
  703. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +14 -9
  704. package/src/migrations/functions/usageQuotas/syncApps.ts +3 -4
  705. package/src/migrations/functions/usageQuotas/syncRows.ts +4 -5
  706. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  707. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  708. package/src/migrations/index.ts +9 -0
  709. package/src/migrations/tests/index.spec.ts +1 -1
  710. package/src/sdk/app/backups/exports.ts +5 -3
  711. package/src/sdk/app/backups/imports.ts +7 -14
  712. package/src/sdk/app/backups/statistics.ts +9 -18
  713. package/src/sdk/app/tables/index.ts +7 -8
  714. package/src/startup.ts +5 -5
  715. package/{scripts/jestSetup.js → src/tests/jestSetup.ts} +11 -2
  716. package/src/tests/utilities/{TestConfiguration.js → TestConfiguration.ts} +111 -78
  717. package/src/tests/utilities/controllers.ts +14 -0
  718. package/src/tests/utilities/{index.js → index.ts} +2 -2
  719. package/src/tests/utilities/{structures.js → structures.ts} +41 -36
  720. package/src/threads/automation.ts +18 -19
  721. package/src/threads/query.ts +11 -16
  722. package/src/threads/utils.ts +4 -5
  723. package/src/utilities/budibaseDir.ts +3 -0
  724. package/src/utilities/{centralPath.js → centralPath.ts} +3 -3
  725. package/src/utilities/{csvParser.js → csvParser.ts} +42 -26
  726. package/src/utilities/fileSystem/{clientLibrary.js → clientLibrary.ts} +20 -20
  727. package/src/utilities/fileSystem/{index.js → index.ts} +61 -65
  728. package/src/utilities/fileSystem/{processor.js → processor.ts} +3 -5
  729. package/src/utilities/global.ts +138 -0
  730. package/src/utilities/{index.js → index.ts} +40 -32
  731. package/src/utilities/{plugins.js → plugins.ts} +5 -4
  732. package/src/utilities/{redis.js → redis.ts} +21 -20
  733. package/src/utilities/routing/index.ts +32 -0
  734. package/src/utilities/rowProcessor/{index.js → index.ts} +67 -144
  735. package/src/utilities/rowProcessor/map.ts +96 -0
  736. package/src/utilities/rowProcessor/{utils.js → utils.ts} +19 -15
  737. package/src/utilities/{scriptRunner.js → scriptRunner.ts} +8 -4
  738. package/src/utilities/security.ts +65 -0
  739. package/src/utilities/{statusCodes.js → statusCodes.ts} +1 -1
  740. package/src/utilities/usageQuota/{rows.js → rows.ts} +14 -18
  741. package/src/utilities/usageQuota/{usageQuoteReset.js → usageQuoteReset.ts} +1 -1
  742. package/src/utilities/{users.js → users.ts} +11 -13
  743. package/src/utilities/{workerRequests.js → workerRequests.ts} +43 -38
  744. package/src/watch.ts +2 -3
  745. package/tsconfig.build.json +1 -2
  746. package/tsconfig.json +3 -1
  747. package/builder/assets/index.2467ba90.js +0 -1021
  748. package/builder/assets/index.534f6c29.css +0 -6
  749. package/coverage/lcov-report/api/controllers/index.html +0 -326
  750. package/coverage/lcov-report/api/routes/permission.js.html +0 -184
  751. package/coverage/lcov-report/automations/steps/index.html +0 -341
  752. package/coverage/lcov-report/db/linkedRows/index.html +0 -146
  753. package/dist/integrations/tests/TestConfiguration.js +0 -1
  754. package/dist/utilities/fileSystem/utilities.js +0 -22
  755. package/dist/utilities/queue/inMemoryQueue.js +0 -126
  756. package/src/api/controllers/integration.js +0 -14
  757. package/src/api/controllers/migrations.js +0 -13
  758. package/src/api/controllers/script.js +0 -11
  759. package/src/api/routes/analytics.js +0 -9
  760. package/src/api/routes/apikeys.js +0 -12
  761. package/src/api/routes/automation.js +0 -85
  762. package/src/api/routes/cloud.js +0 -14
  763. package/src/api/routes/component.js +0 -14
  764. package/src/api/routes/datasource.js +0 -51
  765. package/src/api/routes/deploy.js +0 -17
  766. package/src/api/routes/dev.js +0 -26
  767. package/src/api/routes/integration.js +0 -12
  768. package/src/api/routes/layout.js +0 -16
  769. package/src/api/routes/migrations.js +0 -14
  770. package/src/api/routes/permission.js +0 -33
  771. package/src/api/routes/role.js +0 -15
  772. package/src/api/routes/routing.js +0 -14
  773. package/src/api/routes/screen.js +0 -18
  774. package/src/api/routes/script.js +0 -10
  775. package/src/api/routes/templates.js +0 -16
  776. package/src/api/routes/user.js +0 -53
  777. package/src/api/routes/view.js +0 -31
  778. package/src/automations/bullboard.js +0 -39
  779. package/src/automations/index.js +0 -29
  780. package/src/automations/tests/utilities/index.js +0 -51
  781. package/src/automations/triggerInfo/index.js +0 -15
  782. package/src/constants/index.js +0 -208
  783. package/src/constants/screens.js +0 -46
  784. package/src/db/index.js +0 -16
  785. package/src/events/utils.js +0 -38
  786. package/src/middleware/appInfo.js +0 -19
  787. package/src/middleware/publicApi.js +0 -21
  788. package/src/module.d.ts +0 -14
  789. package/src/tests/utilities/controllers.js +0 -16
  790. package/src/utilities/budibaseDir.js +0 -3
  791. package/src/utilities/fileSystem/utilities.js +0 -36
  792. package/src/utilities/global.js +0 -127
  793. package/src/utilities/queue/inMemoryQueue.js +0 -122
  794. package/src/utilities/routing/index.js +0 -25
  795. 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 middleware/resourceId.js</title>
6
+ <title>Code coverage report for src/middleware/resourceId.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">middleware</a> resourceId.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/middleware</a> resourceId.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -32,7 +32,7 @@
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>12/12</span>
35
+ <span class='fraction'>9/9</span>
36
36
  </div>
37
37
 
38
38
 
@@ -124,29 +124,41 @@
124
124
  <a name='L59'></a><a href='#L59'>59</a>
125
125
  <a name='L60'></a><a href='#L60'>60</a>
126
126
  <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-yes">46x</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
139
  <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-yes">1502x</span>
130
- <span class="cline-any cline-yes">1502x</span>
131
- <span class="cline-any cline-yes">1502x</span>
132
- <span class="cline-any cline-yes">1502x</span>
140
+ <span class="cline-any cline-yes">1536x</span>
141
+ <span class="cline-any cline-yes">1536x</span>
142
+ <span class="cline-any cline-yes">1536x</span>
143
+ <span class="cline-any cline-yes">1536x</span>
133
144
  <span class="cline-any cline-neutral">&nbsp;</span>
134
145
  <span class="cline-any cline-neutral">&nbsp;</span>
135
146
  <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-yes">1502x</span>
137
- <span class="cline-any cline-yes">1502x</span>
147
+ <span class="cline-any cline-yes">1536x</span>
148
+ <span class="cline-any cline-yes">1536x</span>
138
149
  <span class="cline-any cline-neutral">&nbsp;</span>
139
150
  <span class="cline-any cline-neutral">&nbsp;</span>
140
151
  <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-yes">179x</span>
142
- <span class="cline-any cline-yes">179x</span>
152
+ <span class="cline-any cline-yes">183x</span>
153
+ <span class="cline-any cline-yes">183x</span>
143
154
  <span class="cline-any cline-neutral">&nbsp;</span>
144
155
  <span class="cline-any cline-neutral">&nbsp;</span>
145
156
  <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-yes">1502x</span>
147
- <span class="cline-any cline-yes">1502x</span>
148
- <span class="cline-any cline-yes">1502x</span>
149
- <span class="cline-any cline-yes">1502x</span>
157
+ <span class="cline-any cline-yes">1536x</span>
158
+ <span class="cline-any cline-yes">1536x</span>
159
+ <span class="cline-any cline-yes">1536x</span>
160
+ <span class="cline-any cline-yes">1536x</span>
161
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
162
  <span class="cline-any cline-yes">102x</span>
151
163
  <span class="cline-any cline-yes">102x</span>
152
164
  <span class="cline-any cline-yes">1x</span>
@@ -162,43 +174,47 @@
162
174
  <span class="cline-any cline-neutral">&nbsp;</span>
163
175
  <span class="cline-any cline-neutral">&nbsp;</span>
164
176
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">45x</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">45x</span>
168
- <span class="cline-any cline-yes">1190x</span>
177
+ <span class="cline-any cline-yes">46x</span>
178
+ <span class="cline-any cline-yes">1217x</span>
169
179
  <span class="cline-any cline-neutral">&nbsp;</span>
170
180
  <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-yes">45x</span>
172
- <span class="cline-any cline-yes">133x</span>
181
+ <span class="cline-any cline-yes">46x</span>
182
+ <span class="cline-any cline-yes">136x</span>
173
183
  <span class="cline-any cline-neutral">&nbsp;</span>
174
184
  <span class="cline-any cline-neutral">&nbsp;</span>
175
185
  <span class="cline-any cline-neutral">&nbsp;</span>
176
186
  <span class="cline-any cline-neutral">&nbsp;</span>
177
187
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">45x</span>
179
- <span class="cline-any cline-yes">133x</span>
188
+ <span class="cline-any cline-yes">46x</span>
189
+ <span class="cline-any cline-yes">136x</span>
180
190
  <span class="cline-any cline-neutral">&nbsp;</span>
181
191
  <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-yes">45x</span>
183
- <span class="cline-any cline-yes">45x</span>
192
+ <span class="cline-any cline-yes">46x</span>
193
+ <span class="cline-any cline-yes">46x</span>
184
194
  <span class="cline-any cline-neutral">&nbsp;</span>
185
195
  <span class="cline-any cline-neutral">&nbsp;</span>
186
196
  <span class="cline-any cline-neutral">&nbsp;</span>
187
197
  <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">class ResourceIdGetter {
189
- constructor(ctxProperty) {
198
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { BBContext } from "@budibase/types"
199
+ &nbsp;
200
+ export class ResourceIdGetter {
201
+ parameter: string
202
+ main: string | null
203
+ sub: string | null
204
+ &nbsp;
205
+ constructor(ctxProperty: string) {
190
206
  this.parameter = ctxProperty
191
207
  this.main = null
192
208
  this.sub = null
193
209
  return this
194
210
  }
195
211
  &nbsp;
196
- mainResource(field) {
212
+ mainResource(field: string) {
197
213
  this.main = field
198
214
  return this
199
215
  }
200
216
  &nbsp;
201
- subResource(field) {
217
+ subResource(field: string) {
202
218
  this.sub = field
203
219
  return this
204
220
  }
@@ -207,7 +223,8 @@
207
223
  const parameter = this.parameter,
208
224
  main = this.main,
209
225
  sub = this.sub
210
- return (ctx, next) =&gt; {
226
+ return (ctx: BBContext, next: any) =&gt; {
227
+ // @ts-ignore
211
228
  const request = ctx.request[parameter] || ctx[parameter]
212
229
  if (request == null) {
213
230
  return next()
@@ -223,24 +240,22 @@
223
240
  }
224
241
  }
225
242
  &nbsp;
226
- module.exports.ResourceIdGetter = ResourceIdGetter
227
- &nbsp;
228
- module.exports.paramResource = main =&gt; {
243
+ export function paramResource(main: string) {
229
244
  return new ResourceIdGetter("params").mainResource(main).build()
230
245
  }
231
246
  &nbsp;
232
- module.exports.paramSubResource = (main, sub) =&gt; {
247
+ export function paramSubResource(main: string, sub: string) {
233
248
  return new ResourceIdGetter("params")
234
249
  .mainResource(main)
235
250
  .subResource(sub)
236
251
  .build()
237
252
  }
238
253
  &nbsp;
239
- module.exports.bodyResource = main =&gt; {
254
+ export function bodyResource(main: string) {
240
255
  return new ResourceIdGetter("body").mainResource(main).build()
241
256
  }
242
257
  &nbsp;
243
- module.exports.bodySubResource = (main, sub) =&gt; {
258
+ export function bodySubResource(main: string, sub: string) {
244
259
  return new ResourceIdGetter("body")
245
260
  .mainResource(main)
246
261
  .subResource(sub)
@@ -253,16 +268,16 @@ module.exports.bodySubResource = (main, sub) =&gt; {
253
268
  <div class='footer quiet pad2 space-top1 center small'>
254
269
  Code coverage generated by
255
270
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
256
- at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
271
+ at Fri Dec 02 2022 11:07:31 GMT+0000 (Coordinated Universal Time)
257
272
  </div>
258
- <script src="../prettify.js"></script>
273
+ <script src="../../prettify.js"></script>
259
274
  <script>
260
275
  window.onload = function () {
261
276
  prettyPrint();
262
277
  };
263
278
  </script>
264
- <script src="../sorter.js"></script>
265
- <script src="../block-navigation.js"></script>
279
+ <script src="../../sorter.js"></script>
280
+ <script src="../../block-navigation.js"></script>
266
281
  </body>
267
282
  </html>
268
283
 
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/controllers/integration.js</title>
6
+ <title>Code coverage report for src/middleware/selfhost.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -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">api/controllers</a> integration.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/middleware</a> selfhost.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
26
+ <span class="strong">85.71% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>9/9</span>
28
+ <span class='fraction'>6/7</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
35
+ <span class='fraction'>1/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">100% </span>
47
+ <span class="strong">83.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>9/9</span>
49
+ <span class='fraction'>5/6</span>
50
50
  </div>
51
51
 
52
52
 
@@ -75,35 +75,29 @@
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
76
  <a name='L11'></a><a href='#L11'>11</a>
77
77
  <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
78
+ <a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
81
79
  <span class="cline-any cline-neutral">&nbsp;</span>
82
- <span class="cline-any cline-yes">44x</span>
83
- <span class="cline-any cline-yes">1x</span>
84
- <span class="cline-any cline-yes">1x</span>
85
80
  <span class="cline-any cline-neutral">&nbsp;</span>
86
- <span class="cline-any cline-yes">1x</span>
87
81
  <span class="cline-any cline-neutral">&nbsp;</span>
88
82
  <span class="cline-any cline-neutral">&nbsp;</span>
89
- <span class="cline-any cline-yes">44x</span>
83
+ <span class="cline-any cline-yes">1x</span>
90
84
  <span class="cline-any cline-yes">1x</span>
91
85
  <span class="cline-any cline-yes">1x</span>
92
86
  <span class="cline-any cline-yes">1x</span>
93
87
  <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getDefinitions } = require("../../integrations")
95
- &nbsp;
96
- exports.fetch = async function (ctx) {
97
- ctx.status = 200
98
- const defs = await getDefinitions()
99
- &nbsp;
100
- ctx.body = defs
101
- }
88
+ <span class="cline-any cline-no">&nbsp;</span>
89
+ <span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import env from "../environment"
91
+ import { BBContext } from "@budibase/types"
102
92
  &nbsp;
103
- exports.find = async function (ctx) {
104
- const defs = await getDefinitions()
105
- ctx.status = 200
106
- ctx.body = defs[ctx.params.type]
93
+ // if added as a middleware will stop requests unless builder is in self host mode
94
+ // or cloud is in self host
95
+ export = async (ctx: BBContext, next: any) =&gt; {
96
+ if (env.SELF_HOSTED) {
97
+ await next()
98
+ return
99
+ }
100
+ <span class="cstat-no" title="statement not covered" > ctx.throw(400, "Endpoint unavailable in cloud hosting.")</span>
107
101
  }
108
102
  &nbsp;</pre></td></tr></table></pre>
109
103
 
@@ -112,7 +106,7 @@ exports.find = async function (ctx) {
112
106
  <div class='footer quiet pad2 space-top1 center small'>
113
107
  Code coverage generated by
114
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
- at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
109
+ at Fri Dec 02 2022 11:07:31 GMT+0000 (Coordinated Universal Time)
116
110
  </div>
117
111
  <script src="../../prettify.js"></script>
118
112
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/routes/analytics.js</title>
6
+ <title>Code coverage report for src/middleware/utils.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,13 +19,13 @@
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">api/routes</a> analytics.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/middleware</a> utils.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>6/6</span>
28
+ <span class='fraction'>3/3</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/0</span>
42
+ <span class='fraction'>1/1</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>6/6</span>
49
+ <span class='fraction'>3/3</span>
50
50
  </div>
51
51
 
52
52
 
@@ -72,24 +72,24 @@
72
72
  <a name='L7'></a><a href='#L7'>7</a>
73
73
  <a name='L8'></a><a href='#L8'>8</a>
74
74
  <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
76
- <span class="cline-any cline-yes">44x</span>
75
+ <a name='L10'></a><a href='#L10'>10</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
77
76
  <span class="cline-any cline-neutral">&nbsp;</span>
78
- <span class="cline-any cline-yes">44x</span>
77
+ <span class="cline-any cline-yes">51x</span>
79
78
  <span class="cline-any cline-neutral">&nbsp;</span>
80
- <span class="cline-any cline-yes">44x</span>
81
- <span class="cline-any cline-yes">44x</span>
82
79
  <span class="cline-any cline-neutral">&nbsp;</span>
83
- <span class="cline-any cline-yes">44x</span>
84
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
85
- const controller = require("../controllers/analytics")
86
- &nbsp;
87
- const router = new Router()
80
+ <span class="cline-any cline-neutral">&nbsp;</span>
81
+ <span class="cline-any cline-yes">51x</span>
82
+ <span class="cline-any cline-yes">228x</span>
83
+ <span class="cline-any cline-neutral">&nbsp;</span>
84
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { BBContext } from "@budibase/types"
88
85
  &nbsp;
89
- router.get("/api/bbtel", controller.isEnabled)
90
- router.post("/api/bbtel/ping", controller.ping)
86
+ const WEBHOOK_ENDPOINTS = new RegExp(
87
+ ["webhooks/trigger", "webhooks/schema"].join("|")
88
+ )
91
89
  &nbsp;
92
- module.exports = router
90
+ export function isWebhookEndpoint(ctx: BBContext) {
91
+ return WEBHOOK_ENDPOINTS.test(ctx.request.url)
92
+ }
93
93
  &nbsp;</pre></td></tr></table></pre>
94
94
 
95
95
  <div class='push'></div><!-- for sticky footer -->
@@ -97,7 +97,7 @@ module.exports = router
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
100
+ at Fri Dec 02 2022 11:07:31 GMT+0000 (Coordinated Universal Time)
101
101
  </div>
102
102
  <script src="../../prettify.js"></script>
103
103
  <script>
@@ -0,0 +1,187 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/migrations/functions/appUrls.ts</title>
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" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/migrations/functions</a> appUrls.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">85.71% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>12/14</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>1/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">83.33% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>10/12</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
101
+ <span class="cline-any cline-yes">45x</span>
102
+ <span class="cline-any cline-neutral">&nbsp;</span>
103
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
+ <span class="cline-any cline-yes">45x</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-yes">1x</span>
113
+ <span class="cline-any cline-yes">1x</span>
114
+ <span class="cline-any cline-neutral">&nbsp;</span>
115
+ <span class="cline-any cline-neutral">&nbsp;</span>
116
+ <span class="cline-any cline-neutral">&nbsp;</span>
117
+ <span class="cline-any cline-no">&nbsp;</span>
118
+ <span class="cline-any cline-no">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-yes">1x</span>
122
+ <span class="cline-any cline-yes">1x</span>
123
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <span class="cline-any cline-neutral">&nbsp;</span>
126
+ <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-yes">1x</span>
130
+ <span class="cline-any cline-yes">1x</span>
131
+ <span class="cline-any cline-yes">1x</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { db as dbCore } from "@budibase/backend-core"
135
+ import { getAppUrl } from "../../api/controllers/application"
136
+ &nbsp;
137
+ /**
138
+ * Date:
139
+ * January 2022
140
+ *
141
+ * Description:
142
+ * Add the url to the app metadata if it doesn't exist
143
+ */
144
+ export const run = async (appDb: any) =&gt; {
145
+ let metadata
146
+ try {
147
+ metadata = await appDb.get(dbCore.DocumentType.APP_METADATA)
148
+ } catch (e) {
149
+ // sometimes the metadata document doesn't exist
150
+ // exit early instead of failing the migration
151
+ <span class="cstat-no" title="statement not covered" > console.error("Error retrieving app metadata. Skipping", e)</span>
152
+ <span class="cstat-no" title="statement not covered" > return</span>
153
+ }
154
+ &nbsp;
155
+ if (!metadata.url) {
156
+ const context = {
157
+ request: {
158
+ body: {
159
+ name: metadata.name,
160
+ },
161
+ },
162
+ }
163
+ metadata.url = getAppUrl(context)
164
+ console.log(`Adding url to app: ${metadata.url}`)
165
+ await appDb.put(metadata)
166
+ }
167
+ }
168
+ &nbsp;</pre></td></tr></table></pre>
169
+
170
+ <div class='push'></div><!-- for sticky footer -->
171
+ </div><!-- /wrapper -->
172
+ <div class='footer quiet pad2 space-top1 center small'>
173
+ Code coverage generated by
174
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
175
+ at Fri Dec 02 2022 11:07:31 GMT+0000 (Coordinated Universal Time)
176
+ </div>
177
+ <script src="../../../prettify.js"></script>
178
+ <script>
179
+ window.onload = function () {
180
+ prettyPrint();
181
+ };
182
+ </script>
183
+ <script src="../../../sorter.js"></script>
184
+ <script src="../../../block-navigation.js"></script>
185
+ </body>
186
+ </html>
187
+