@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 api/routes/screen.js</title>
6
+ <title>Code coverage report for src/api/routes/screen.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">api/routes</a> screen.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/routes</a> screen.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -81,15 +81,20 @@
81
81
  <a name='L16'></a><a href='#L16'>16</a>
82
82
  <a name='L17'></a><a href='#L17'>17</a>
83
83
  <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
85
- <span class="cline-any cline-yes">44x</span>
86
- <span class="cline-any cline-yes">44x</span>
87
- <span class="cline-any cline-yes">44x</span>
88
- <span class="cline-any cline-yes">44x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
90
+ <span class="cline-any cline-yes">45x</span>
91
+ <span class="cline-any cline-yes">45x</span>
92
+ <span class="cline-any cline-yes">45x</span>
93
+ <span class="cline-any cline-yes">45x</span>
89
94
  <span class="cline-any cline-neutral">&nbsp;</span>
90
- <span class="cline-any cline-yes">44x</span>
95
+ <span class="cline-any cline-yes">45x</span>
91
96
  <span class="cline-any cline-neutral">&nbsp;</span>
92
- <span class="cline-any cline-yes">44x</span>
97
+ <span class="cline-any cline-yes">45x</span>
93
98
  <span class="cline-any cline-neutral">&nbsp;</span>
94
99
  <span class="cline-any cline-neutral">&nbsp;</span>
95
100
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -98,25 +103,35 @@
98
103
  <span class="cline-any cline-neutral">&nbsp;</span>
99
104
  <span class="cline-any cline-neutral">&nbsp;</span>
100
105
  <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-yes">44x</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
103
- const controller = require("../controllers/screen")
104
- const authorized = require("../../middleware/authorized")
105
- const { BUILDER } = require("@budibase/backend-core/permissions")
106
- const { screenValidator } = require("./utils/validators")
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-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-yes">45x</span>
112
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import Router from "@koa/router"
113
+ import * as controller from "../controllers/screen"
114
+ import authorized from "../../middleware/authorized"
115
+ import { permissions } from "@budibase/backend-core"
116
+ import { screenValidator } from "./utils/validators"
107
117
  &nbsp;
108
- const router = new Router()
118
+ const router: Router = new Router()
109
119
  &nbsp;
110
120
  router
111
- .get("/api/screens", authorized(BUILDER), controller.fetch)
112
- .post("/api/screens", authorized(BUILDER), screenValidator(), controller.save)
121
+ .get("/api/screens", authorized(permissions.BUILDER), controller.fetch)
122
+ .post(
123
+ "/api/screens",
124
+ authorized(permissions.BUILDER),
125
+ screenValidator(),
126
+ controller.save
127
+ )
113
128
  .delete(
114
129
  "/api/screens/:screenId/:screenRev",
115
- authorized(BUILDER),
130
+ authorized(permissions.BUILDER),
116
131
  controller.destroy
117
132
  )
118
133
  &nbsp;
119
- module.exports = router
134
+ export = router
120
135
  &nbsp;</pre></td></tr></table></pre>
121
136
 
122
137
  <div class='push'></div><!-- for sticky footer -->
@@ -124,16 +139,16 @@ module.exports = router
124
139
  <div class='footer quiet pad2 space-top1 center small'>
125
140
  Code coverage generated by
126
141
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
142
+ at Fri Dec 02 2022 11:07:31 GMT+0000 (Coordinated Universal Time)
128
143
  </div>
129
- <script src="../../prettify.js"></script>
144
+ <script src="../../../prettify.js"></script>
130
145
  <script>
131
146
  window.onload = function () {
132
147
  prettyPrint();
133
148
  };
134
149
  </script>
135
- <script src="../../sorter.js"></script>
136
- <script src="../../block-navigation.js"></script>
150
+ <script src="../../../sorter.js"></script>
151
+ <script src="../../../block-navigation.js"></script>
137
152
  </body>
138
153
  </html>
139
154
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/routes/script.js</title>
6
+ <title>Code coverage report for src/api/routes/script.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">api/routes</a> script.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/routes</a> script.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -83,16 +83,16 @@
83
83
  <span class="cline-any cline-no">&nbsp;</span>
84
84
  <span class="cline-any cline-neutral">&nbsp;</span>
85
85
  <span class="cline-any cline-no">&nbsp;</span>
86
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = <span class="cstat-no" title="statement not covered" >require("@koa/router")</span>
87
- const controller = <span class="cstat-no" title="statement not covered" >require("../controllers/script")</span>
88
- const authorized = <span class="cstat-no" title="statement not covered" >require("../../middleware/authorized")</span>
89
- const { BUILDER } = <span class="cstat-no" title="statement not covered" >require("@budibase/backend-core/permissions")</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import Router from "@koa/router"</span>
87
+ <span class="cstat-no" title="statement not covered" >import * as controller from "../controllers/script"</span>
88
+ <span class="cstat-no" title="statement not covered" >import authorized from "../../middleware/authorized"</span>
89
+ <span class="cstat-no" title="statement not covered" >import { permissions } from "@budibase/backend-core"</span>
90
90
  &nbsp;
91
- const router = <span class="cstat-no" title="statement not covered" >new Router()</span>
91
+ const router: Router = <span class="cstat-no" title="statement not covered" >new Router()</span>
92
92
  &nbsp;
93
- <span class="cstat-no" title="statement not covered" >router.post("/api/script", authorized(BUILDER), controller.save)</span>
93
+ <span class="cstat-no" title="statement not covered" >router.post("/api/script", authorized(permissions.BUILDER), controller.save)</span>
94
94
  &nbsp;
95
- <span class="cstat-no" title="statement not covered" >module.exports = router</span>
95
+ <span class="cstat-no" title="statement not covered" >export = router</span>
96
96
  &nbsp;</pre></td></tr></table></pre>
97
97
 
98
98
  <div class='push'></div><!-- for sticky footer -->
@@ -100,16 +100,16 @@ const router = <span class="cstat-no" title="statement not covered" >new Router(
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
103
+ at Fri Dec 02 2022 11:07:31 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
- <script src="../../prettify.js"></script>
105
+ <script src="../../../prettify.js"></script>
106
106
  <script>
107
107
  window.onload = function () {
108
108
  prettyPrint();
109
109
  };
110
110
  </script>
111
- <script src="../../sorter.js"></script>
112
- <script src="../../block-navigation.js"></script>
111
+ <script src="../../../sorter.js"></script>
112
+ <script src="../../../block-navigation.js"></script>
113
113
  </body>
114
114
  </html>
115
115
 
@@ -0,0 +1,280 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/api/routes/static.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/api/routes</a> static.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>13/13</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'>0/0</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>13/13</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>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
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>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
132
+ <span class="cline-any cline-yes">45x</span>
133
+ <span class="cline-any cline-yes">45x</span>
134
+ <span class="cline-any cline-yes">45x</span>
135
+ <span class="cline-any cline-yes">45x</span>
136
+ <span class="cline-any cline-yes">45x</span>
137
+ <span class="cline-any cline-yes">45x</span>
138
+ <span class="cline-any cline-yes">45x</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-yes">45x</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-neutral">&nbsp;</span>
144
+ <span class="cline-any cline-neutral">&nbsp;</span>
145
+ <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-neutral">&nbsp;</span>
147
+ <span class="cline-any cline-neutral">&nbsp;</span>
148
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-neutral">&nbsp;</span>
152
+ <span class="cline-any cline-neutral">&nbsp;</span>
153
+ <span class="cline-any cline-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-neutral">&nbsp;</span>
155
+ <span class="cline-any cline-neutral">&nbsp;</span>
156
+ <span class="cline-any cline-neutral">&nbsp;</span>
157
+ <span class="cline-any cline-neutral">&nbsp;</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-neutral">&nbsp;</span>
160
+ <span class="cline-any cline-yes">45x</span>
161
+ <span class="cline-any cline-yes">45x</span>
162
+ <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-yes">45x</span>
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-neutral">&nbsp;</span>
170
+ <span class="cline-any cline-neutral">&nbsp;</span>
171
+ <span class="cline-any cline-neutral">&nbsp;</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
173
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
+ <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-neutral">&nbsp;</span>
176
+ <span class="cline-any cline-neutral">&nbsp;</span>
177
+ <span class="cline-any cline-neutral">&nbsp;</span>
178
+ <span class="cline-any cline-neutral">&nbsp;</span>
179
+ <span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-neutral">&nbsp;</span>
181
+ <span class="cline-any cline-neutral">&nbsp;</span>
182
+ <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
+ <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <span class="cline-any cline-neutral">&nbsp;</span>
189
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
+ <span class="cline-any cline-neutral">&nbsp;</span>
192
+ <span class="cline-any cline-neutral">&nbsp;</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-neutral">&nbsp;</span>
195
+ <span class="cline-any cline-yes">45x</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import Router from "@koa/router"
197
+ import * as controller from "../controllers/static"
198
+ import { budibaseTempDir } from "../../utilities/budibaseDir"
199
+ import authorized from "../../middleware/authorized"
200
+ import { permissions } from "@budibase/backend-core"
201
+ import * as env from "../../environment"
202
+ import { paramResource } from "../../middleware/resourceId"
203
+ const { BUILDER, PermissionType, PermissionLevel } = permissions
204
+ &nbsp;
205
+ const router: Router = new Router()
206
+ &nbsp;
207
+ /* istanbul ignore next */
208
+ router.param("file", async (file: any, ctx: any, next: any) =&gt; {
209
+ ctx.file = file &amp;&amp; file.includes(".") ? file : "index.html"
210
+ if (!ctx.file.startsWith("budibase-client")) {
211
+ return next()
212
+ }
213
+ // test serves from require
214
+ if (env.isTest()) {
215
+ ctx.devPath = require.resolve("@budibase/client").split(ctx.file)[0]
216
+ } else if (env.isDev()) {
217
+ // Serving the client library from your local dir in dev
218
+ ctx.devPath = budibaseTempDir()
219
+ }
220
+ return next()
221
+ })
222
+ &nbsp;
223
+ // only used in development for retrieving the client library,
224
+ // in production the client lib is always stored in the object store.
225
+ if (env.isDev()) {
226
+ router.get("/api/assets/client", controller.serveClientLibrary)
227
+ }
228
+ &nbsp;
229
+ router
230
+ // TODO: for now this builder endpoint is not authorized/secured, will need to be
231
+ .get("/builder/:file*", controller.serveBuilder)
232
+ .post("/api/attachments/process", authorized(BUILDER), controller.uploadFile)
233
+ .post(
234
+ "/api/attachments/delete",
235
+ authorized(BUILDER),
236
+ controller.deleteObjects
237
+ )
238
+ .post("/api/beta/:feature", controller.toggleBetaUiFeature)
239
+ .post(
240
+ "/api/attachments/:tableId/upload",
241
+ paramResource("tableId"),
242
+ authorized(PermissionType.TABLE, PermissionLevel.WRITE),
243
+ controller.uploadFile
244
+ )
245
+ .post(
246
+ "/api/attachments/:tableId/delete",
247
+ paramResource("tableId"),
248
+ authorized(PermissionType.TABLE, PermissionLevel.WRITE),
249
+ controller.deleteObjects
250
+ )
251
+ .get("/app/preview", authorized(BUILDER), controller.serveBuilderPreview)
252
+ .get("/:appId/:path*", controller.serveApp)
253
+ .get("/app/:appUrl/:path*", controller.serveApp)
254
+ .post(
255
+ "/api/attachments/:datasourceId/url",
256
+ authorized(PermissionType.TABLE, PermissionLevel.READ),
257
+ controller.getSignedUploadURL
258
+ )
259
+ &nbsp;
260
+ export = router
261
+ &nbsp;</pre></td></tr></table></pre>
262
+
263
+ <div class='push'></div><!-- for sticky footer -->
264
+ </div><!-- /wrapper -->
265
+ <div class='footer quiet pad2 space-top1 center small'>
266
+ Code coverage generated by
267
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
268
+ at Fri Dec 02 2022 11:07:31 GMT+0000 (Coordinated Universal Time)
269
+ </div>
270
+ <script src="../../../prettify.js"></script>
271
+ <script>
272
+ window.onload = function () {
273
+ prettyPrint();
274
+ };
275
+ </script>
276
+ <script src="../../../sorter.js"></script>
277
+ <script src="../../../block-navigation.js"></script>
278
+ </body>
279
+ </html>
280
+
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/routes/table.js</title>
6
+ <title>Code coverage report for src/api/routes/table.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,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> table.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/routes</a> table.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'>9/9</span>
28
+ <span class='fraction'>10/10</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
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'>9/9</span>
49
+ <span class='fraction'>10/10</span>
50
50
  </div>
51
51
 
52
52
 
@@ -256,23 +256,21 @@
256
256
  <a name='L191'></a><a href='#L191'>191</a>
257
257
  <a name='L192'></a><a href='#L192'>192</a>
258
258
  <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
263
- <span class="cline-any cline-yes">44x</span>
264
- <span class="cline-any cline-yes">44x</span>
265
- <span class="cline-any cline-yes">44x</span>
259
+ <a name='L194'></a><a href='#L194'>194</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
260
+ <span class="cline-any cline-yes">45x</span>
261
+ <span class="cline-any cline-yes">45x</span>
262
+ <span class="cline-any cline-yes">45x</span>
263
+ <span class="cline-any cline-yes">45x</span>
264
+ <span class="cline-any cline-yes">45x</span>
265
+ <span class="cline-any cline-yes">45x</span>
266
266
  <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-yes">45x</span>
267
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-yes">45x</span>
268
270
  <span class="cline-any cline-neutral">&nbsp;</span>
269
271
  <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">44x</span>
271
- <span class="cline-any cline-yes">44x</span>
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-yes">44x</span>
274
273
  <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-yes">44x</span>
276
274
  <span class="cline-any cline-neutral">&nbsp;</span>
277
275
  <span class="cline-any cline-neutral">&nbsp;</span>
278
276
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -450,23 +448,16 @@
450
448
  <span class="cline-any cline-neutral">&nbsp;</span>
451
449
  <span class="cline-any cline-neutral">&nbsp;</span>
452
450
  <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-yes">44x</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
459
- const tableController = require("../controllers/table")
460
- const authorized = require("../../middleware/authorized")
461
- const { paramResource, bodyResource } = require("../../middleware/resourceId")
462
- const {
463
- BUILDER,
464
- PermissionLevels,
465
- PermissionTypes,
466
- } = require("@budibase/backend-core/permissions")
467
- const { tableValidator } = require("./utils/validators")
451
+ <span class="cline-any cline-yes">45x</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import Router from "@koa/router"
453
+ import * as tableController from "../controllers/table"
454
+ import authorized from "../../middleware/authorized"
455
+ import { paramResource, bodyResource } from "../../middleware/resourceId"
456
+ import { permissions } from "@budibase/backend-core"
457
+ import { tableValidator } from "./utils/validators"
458
+ const { BUILDER, PermissionLevel, PermissionType } = permissions
468
459
  &nbsp;
469
- const router = new Router()
460
+ const router: Router = new Router()
470
461
  &nbsp;
471
462
  router
472
463
  /**
@@ -497,7 +488,7 @@ router
497
488
  .get(
498
489
  "/api/tables/:tableId",
499
490
  paramResource("tableId"),
500
- authorized(PermissionTypes.TABLE, PermissionLevels.READ, { schema: true }),
491
+ authorized(PermissionType.TABLE, PermissionLevel.READ, { schema: true }),
501
492
  tableController.find
502
493
  )
503
494
  /**
@@ -650,7 +641,7 @@ router
650
641
  tableController.bulkImport
651
642
  )
652
643
  &nbsp;
653
- module.exports = router
644
+ export = router
654
645
  &nbsp;</pre></td></tr></table></pre>
655
646
 
656
647
  <div class='push'></div><!-- for sticky footer -->
@@ -658,16 +649,16 @@ module.exports = router
658
649
  <div class='footer quiet pad2 space-top1 center small'>
659
650
  Code coverage generated by
660
651
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
661
- at Wed Nov 30 2022 09:49:44 GMT+0000 (Coordinated Universal Time)
652
+ at Fri Dec 02 2022 11:07:31 GMT+0000 (Coordinated Universal Time)
662
653
  </div>
663
- <script src="../../prettify.js"></script>
654
+ <script src="../../../prettify.js"></script>
664
655
  <script>
665
656
  window.onload = function () {
666
657
  prettyPrint();
667
658
  };
668
659
  </script>
669
- <script src="../../sorter.js"></script>
670
- <script src="../../block-navigation.js"></script>
660
+ <script src="../../../sorter.js"></script>
661
+ <script src="../../../block-navigation.js"></script>
671
662
  </body>
672
663
  </html>
673
664