@budibase/server 2.1.32-alpha.4 → 2.1.32-alpha.6

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 (583) hide show
  1. package/builder/assets/{index.dfb2f13a.js → index.3ca79a83.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +3112 -3177
  4. package/coverage/coverage-final.json +105 -106
  5. package/coverage/lcov-report/index.html +145 -145
  6. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +1 -1
  7. package/coverage/lcov-report/src/api/controllers/{apikeys.js.html → apikeys.ts.html} +19 -19
  8. package/coverage/lcov-report/src/api/controllers/application.ts.html +1 -1
  9. package/coverage/lcov-report/src/api/controllers/auth.ts.html +3 -3
  10. package/coverage/lcov-report/src/api/controllers/{automation.js.html → automation.ts.html} +68 -68
  11. package/coverage/lcov-report/src/api/controllers/backup.ts.html +1 -1
  12. package/coverage/lcov-report/src/api/controllers/{cloud.js.html → cloud.ts.html} +40 -40
  13. package/coverage/lcov-report/src/api/controllers/component.ts.html +6 -3
  14. package/coverage/lcov-report/src/api/controllers/{datasource.js.html → datasource.ts.html} +100 -79
  15. package/coverage/lcov-report/src/api/controllers/deploy/{Deployment.js.html → Deployment.ts.html} +30 -21
  16. package/coverage/lcov-report/src/api/controllers/deploy/index.html +6 -6
  17. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +1 -1
  18. package/coverage/lcov-report/src/api/controllers/dev.ts.html +1 -1
  19. package/coverage/lcov-report/src/api/controllers/index.html +108 -108
  20. package/coverage/lcov-report/src/api/controllers/integration.js.html +1 -1
  21. package/coverage/lcov-report/src/api/controllers/{layout.js.html → layout.ts.html} +19 -19
  22. package/coverage/lcov-report/src/api/controllers/{metadata.js.html → metadata.ts.html} +19 -16
  23. package/coverage/lcov-report/src/api/controllers/migrations.js.html +1 -1
  24. package/coverage/lcov-report/src/api/controllers/{permission.js.html → permission.ts.html} +73 -64
  25. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +1 -1
  26. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +1 -1
  27. package/coverage/lcov-report/src/api/controllers/plugin/index.html +11 -11
  28. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +10 -13
  29. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +1 -1
  30. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +1 -1
  31. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +1 -1
  32. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +1 -1
  33. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +1 -1
  34. package/coverage/lcov-report/src/api/controllers/public/index.html +1 -1
  35. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +1 -1
  36. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +1 -1
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +1 -1
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +1 -1
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +1 -1
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +1 -1
  42. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +1 -1
  43. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +1 -1
  44. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +3 -3
  45. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +1 -1
  46. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +1 -1
  47. package/coverage/lcov-report/src/api/controllers/query/import/index.html +11 -11
  48. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +8 -11
  49. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
  50. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +1 -1
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +1 -1
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +1 -1
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +1 -1
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +1 -1
  56. package/coverage/lcov-report/src/api/controllers/query/index.html +2 -2
  57. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +1 -1
  58. package/coverage/lcov-report/src/api/controllers/query/{validation.js.html → validation.ts.html} +10 -10
  59. package/coverage/lcov-report/src/api/controllers/{role.js.html → role.ts.html} +37 -49
  60. package/coverage/lcov-report/src/api/controllers/{routing.js.html → routing.ts.html} +58 -49
  61. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +6 -18
  62. package/coverage/lcov-report/src/api/controllers/row/external.js.html +4 -4
  63. package/coverage/lcov-report/src/api/controllers/row/index.html +35 -35
  64. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +1 -1
  65. package/coverage/lcov-report/src/api/controllers/row/internal.js.html +17 -20
  66. package/coverage/lcov-report/src/api/controllers/row/{internalSearch.js.html → internalSearch.ts.html} +175 -103
  67. package/coverage/lcov-report/src/api/controllers/row/{staticFormula.js.html → staticFormula.ts.html} +62 -47
  68. package/coverage/lcov-report/src/api/controllers/row/{utils.js.html → utils.ts.html} +57 -36
  69. package/coverage/lcov-report/src/api/controllers/screen.ts.html +29 -17
  70. package/coverage/lcov-report/src/api/controllers/{script.js.html → script.ts.html} +10 -7
  71. package/coverage/lcov-report/src/api/controllers/static/index.html +10 -10
  72. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +15 -27
  73. package/coverage/lcov-report/src/api/controllers/table/{bulkFormula.js.html → bulkFormula.ts.html} +89 -47
  74. package/coverage/lcov-report/src/api/controllers/table/{external.js.html → external.ts.html} +192 -87
  75. package/coverage/lcov-report/src/api/controllers/table/index.html +39 -39
  76. package/coverage/lcov-report/src/api/controllers/table/{index.js.html → index.ts.html} +28 -28
  77. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +3 -6
  78. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +18 -18
  79. package/coverage/lcov-report/src/api/controllers/{templates.js.html → templates.ts.html} +27 -18
  80. package/coverage/lcov-report/src/api/controllers/{user.js.html → user.ts.html} +72 -78
  81. package/coverage/lcov-report/src/api/controllers/view/{exporters.js.html → exporters.ts.html} +13 -7
  82. package/coverage/lcov-report/src/api/controllers/view/index.html +21 -21
  83. package/coverage/lcov-report/src/api/controllers/view/{index.js.html → index.ts.html} +68 -41
  84. package/coverage/lcov-report/src/api/controllers/view/{utils.js.html → utils.ts.html} +54 -36
  85. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.js.html +1 -1
  86. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +1 -1
  87. package/coverage/lcov-report/src/api/index.html +14 -14
  88. package/coverage/lcov-report/src/api/{index.js.html → index.ts.html} +28 -49
  89. package/coverage/lcov-report/src/api/routes/{analytics.js.html → analytics.ts.html} +7 -7
  90. package/coverage/lcov-report/src/api/routes/{apikeys.js.html → apikeys.ts.html} +11 -11
  91. package/coverage/lcov-report/src/api/routes/application.ts.html +35 -11
  92. package/coverage/lcov-report/src/api/routes/auth.ts.html +3 -3
  93. package/coverage/lcov-report/src/api/routes/{automation.js.html → automation.ts.html} +41 -35
  94. package/coverage/lcov-report/src/api/routes/backup.ts.html +18 -6
  95. package/coverage/lcov-report/src/api/routes/{deploy.js.html → cloud.ts.html} +18 -15
  96. package/coverage/lcov-report/src/api/routes/{component.js.html → component.ts.html} +10 -10
  97. package/coverage/lcov-report/src/api/routes/{datasource.js.html → datasource.ts.html} +53 -26
  98. package/coverage/lcov-report/src/api/routes/deploy.ts.html +148 -0
  99. package/coverage/lcov-report/src/api/routes/{dev.js.html → dev.ts.html} +54 -18
  100. package/coverage/lcov-report/src/api/routes/index.html +41 -41
  101. package/coverage/lcov-report/src/api/routes/index.ts.html +3 -3
  102. package/coverage/lcov-report/src/api/routes/integration.ts.html +133 -0
  103. package/coverage/lcov-report/src/api/routes/{layout.js.html → layout.ts.html} +11 -11
  104. package/coverage/lcov-report/src/api/routes/{metadata.js.html → metadata.ts.html} +17 -17
  105. package/coverage/lcov-report/src/api/routes/{migrations.js.html → migrations.ts.html} +12 -12
  106. package/coverage/lcov-report/src/api/routes/{permission.js.html → permission.ts.html} +41 -17
  107. package/coverage/lcov-report/src/api/routes/plugin.ts.html +32 -8
  108. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +1 -1
  109. package/coverage/lcov-report/src/api/routes/public/index.html +1 -1
  110. package/coverage/lcov-report/src/api/routes/public/index.ts.html +1 -1
  111. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +1 -1
  112. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +1 -1
  113. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +1 -1
  114. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +1 -1
  115. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +1 -1
  116. package/coverage/lcov-report/src/api/routes/public/users.ts.html +1 -1
  117. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +1 -1
  118. package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
  119. package/coverage/lcov-report/src/api/routes/{query.js.html → query.ts.html} +24 -33
  120. package/coverage/lcov-report/src/{utilities/routing/index.js.html → api/routes/role.ts.html} +32 -35
  121. package/coverage/lcov-report/src/api/routes/{routing.js.html → routing.ts.html} +10 -10
  122. package/coverage/lcov-report/src/api/routes/row.ts.html +8 -14
  123. package/coverage/lcov-report/src/api/routes/{screen.js.html → screen.ts.html} +29 -14
  124. package/coverage/lcov-report/src/api/routes/{script.js.html → script.ts.html} +10 -10
  125. package/coverage/lcov-report/src/api/routes/static.ts.html +9 -18
  126. package/coverage/lcov-report/src/api/routes/{table.js.html → table.ts.html} +16 -25
  127. package/coverage/lcov-report/src/api/routes/{templates.js.html → templates.ts.html} +11 -11
  128. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +12 -18
  129. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +10 -10
  130. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +1 -1
  131. package/coverage/lcov-report/src/api/routes/{user.js.html → user.ts.html} +14 -20
  132. package/coverage/lcov-report/src/api/routes/utils/index.html +6 -6
  133. package/coverage/lcov-report/src/api/routes/utils/{validators.js.html → validators.ts.html} +39 -51
  134. package/coverage/lcov-report/src/api/routes/{view.js.html → view.ts.html} +33 -24
  135. package/coverage/lcov-report/src/api/routes/webhook.ts.html +3 -3
  136. package/coverage/lcov-report/src/app.ts.html +9 -12
  137. package/coverage/lcov-report/src/automations/actions.js.html +1 -1
  138. package/coverage/lcov-report/src/automations/automationUtils.js.html +1 -1
  139. package/coverage/lcov-report/src/automations/bullboard.js.html +1 -1
  140. package/coverage/lcov-report/src/automations/index.html +10 -10
  141. package/coverage/lcov-report/src/automations/index.js.html +1 -1
  142. package/coverage/lcov-report/src/automations/logging/index.html +1 -1
  143. package/coverage/lcov-report/src/automations/logging/index.ts.html +1 -1
  144. package/coverage/lcov-report/src/automations/steps/bash.js.html +1 -1
  145. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +1 -1
  146. package/coverage/lcov-report/src/automations/steps/delay.js.html +1 -1
  147. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +1 -1
  148. package/coverage/lcov-report/src/automations/steps/discord.js.html +1 -1
  149. package/coverage/lcov-report/src/automations/steps/executeQuery.js.html +1 -1
  150. package/coverage/lcov-report/src/automations/steps/executeScript.js.html +1 -1
  151. package/coverage/lcov-report/src/automations/steps/filter.js.html +1 -1
  152. package/coverage/lcov-report/src/automations/steps/index.html +1 -1
  153. package/coverage/lcov-report/src/automations/steps/integromat.js.html +1 -1
  154. package/coverage/lcov-report/src/automations/steps/loop.js.html +1 -1
  155. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.js.html +1 -1
  156. package/coverage/lcov-report/src/automations/steps/queryRows.js.html +1 -1
  157. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.js.html +1 -1
  158. package/coverage/lcov-report/src/automations/steps/serverLog.js.html +1 -1
  159. package/coverage/lcov-report/src/automations/steps/slack.js.html +1 -1
  160. package/coverage/lcov-report/src/automations/steps/updateRow.js.html +1 -1
  161. package/coverage/lcov-report/src/automations/steps/utils.js.html +1 -1
  162. package/coverage/lcov-report/src/automations/steps/zapier.js.html +1 -1
  163. package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
  164. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +1 -1
  165. package/coverage/lcov-report/src/automations/triggerInfo/app.js.html +1 -1
  166. package/coverage/lcov-report/src/automations/triggerInfo/cron.js.html +1 -1
  167. package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
  168. package/coverage/lcov-report/src/automations/triggerInfo/index.js.html +1 -1
  169. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.js.html +1 -1
  170. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.js.html +1 -1
  171. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.js.html +1 -1
  172. package/coverage/lcov-report/src/automations/triggerInfo/webhook.js.html +1 -1
  173. package/coverage/lcov-report/src/automations/triggers.js.html +11 -14
  174. package/coverage/lcov-report/src/automations/utils.ts.html +1 -1
  175. package/coverage/lcov-report/src/constants/index.html +5 -5
  176. package/coverage/lcov-report/src/constants/index.js.html +7 -13
  177. package/coverage/lcov-report/src/constants/layouts.js.html +1 -1
  178. package/coverage/lcov-report/src/constants/screens.js.html +3 -3
  179. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +1 -1
  180. package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +1 -1
  181. package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +1 -1
  182. package/coverage/lcov-report/src/db/defaultData/index.html +1 -1
  183. package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +1 -1
  184. package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +1 -1
  185. package/coverage/lcov-report/src/db/dynamoClient.js.html +1 -1
  186. package/coverage/lcov-report/src/db/inMemoryView.js.html +4 -4
  187. package/coverage/lcov-report/src/db/index.html +1 -1
  188. package/coverage/lcov-report/src/db/index.js.html +1 -1
  189. package/coverage/lcov-report/src/db/linkedRows/LinkController.js.html +3 -3
  190. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +1 -1
  191. package/coverage/lcov-report/src/db/linkedRows/index.html +1 -1
  192. package/coverage/lcov-report/src/db/linkedRows/index.js.html +3 -3
  193. package/coverage/lcov-report/src/db/linkedRows/linkUtils.js.html +4 -4
  194. package/coverage/lcov-report/src/db/newid.js.html +1 -1
  195. package/coverage/lcov-report/src/db/utils.ts.html +2 -2
  196. package/coverage/lcov-report/src/definitions/automations.ts.html +1 -1
  197. package/coverage/lcov-report/src/definitions/datasource.ts.html +1 -1
  198. package/coverage/lcov-report/src/definitions/index.html +1 -1
  199. package/coverage/lcov-report/src/environment.js.html +1 -1
  200. package/coverage/lcov-report/src/events/AutomationEmitter.js.html +1 -1
  201. package/coverage/lcov-report/src/events/index.html +1 -1
  202. package/coverage/lcov-report/src/events/index.js.html +1 -1
  203. package/coverage/lcov-report/src/events/utils.js.html +1 -1
  204. package/coverage/lcov-report/src/index.html +17 -32
  205. package/coverage/lcov-report/src/index.ts.html +1 -1
  206. package/coverage/lcov-report/src/integrations/airtable.ts.html +1 -1
  207. package/coverage/lcov-report/src/integrations/arangodb.ts.html +1 -1
  208. package/coverage/lcov-report/src/integrations/base/index.html +1 -1
  209. package/coverage/lcov-report/src/integrations/base/query.ts.html +1 -1
  210. package/coverage/lcov-report/src/integrations/base/sql.ts.html +2 -2
  211. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +2 -2
  212. package/coverage/lcov-report/src/integrations/base/utils.ts.html +1 -1
  213. package/coverage/lcov-report/src/integrations/couchdb.ts.html +1 -1
  214. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +1 -1
  215. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +1 -1
  216. package/coverage/lcov-report/src/integrations/firebase.ts.html +1 -1
  217. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +1 -1
  218. package/coverage/lcov-report/src/integrations/index.html +4 -4
  219. package/coverage/lcov-report/src/integrations/index.ts.html +58 -46
  220. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1 -1
  221. package/coverage/lcov-report/src/integrations/mongodb.ts.html +1 -1
  222. package/coverage/lcov-report/src/integrations/mysql.ts.html +1 -1
  223. package/coverage/lcov-report/src/integrations/oracle.ts.html +1 -1
  224. package/coverage/lcov-report/src/integrations/postgres.ts.html +1 -1
  225. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  226. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +1 -1
  227. package/coverage/lcov-report/src/integrations/redis.ts.html +1 -1
  228. package/coverage/lcov-report/src/integrations/rest.ts.html +1 -1
  229. package/coverage/lcov-report/src/integrations/s3.ts.html +1 -1
  230. package/coverage/lcov-report/src/integrations/snowflake.ts.html +1 -1
  231. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  232. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  233. package/coverage/lcov-report/src/integrations/utils.ts.html +1 -1
  234. package/coverage/lcov-report/src/middleware/appInfo.ts.html +1 -1
  235. package/coverage/lcov-report/src/middleware/authorized.ts.html +30 -51
  236. package/coverage/lcov-report/src/middleware/builder.ts.html +1 -1
  237. package/coverage/lcov-report/src/middleware/currentapp.ts.html +1 -1
  238. package/coverage/lcov-report/src/middleware/index.html +10 -10
  239. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
  240. package/coverage/lcov-report/src/middleware/publicApi.ts.html +1 -1
  241. package/coverage/lcov-report/src/middleware/resourceId.ts.html +1 -1
  242. package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
  243. package/coverage/lcov-report/src/middleware/utils.ts.html +1 -1
  244. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +3 -3
  245. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +1 -1
  246. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +1 -1
  247. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
  248. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +1 -1
  249. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +1 -1
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +1 -1
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +1 -1
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +1 -1
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +1 -1
  254. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +1 -1
  255. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  256. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +1 -1
  257. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +1 -1
  258. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +1 -1
  259. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  260. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +1 -1
  261. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +1 -1
  262. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  263. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +1 -1
  264. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +9 -9
  265. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +1 -1
  266. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +7 -10
  267. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +1 -1
  268. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -10
  269. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  270. package/coverage/lcov-report/src/migrations/index.html +1 -1
  271. package/coverage/lcov-report/src/migrations/index.ts.html +1 -1
  272. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  273. package/coverage/lcov-report/src/migrations/tests/index.html +1 -1
  274. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  275. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  276. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +1 -1
  277. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +1 -1
  278. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +1 -1
  279. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +16 -10
  280. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +9 -21
  281. package/coverage/lcov-report/src/sdk/app/backups/index.html +16 -16
  282. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +1 -1
  283. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +1 -1
  284. package/coverage/lcov-report/src/sdk/app/tables/index.html +1 -1
  285. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +1 -1
  286. package/coverage/lcov-report/src/sdk/index.html +1 -1
  287. package/coverage/lcov-report/src/sdk/index.ts.html +1 -1
  288. package/coverage/lcov-report/src/startup.ts.html +3 -3
  289. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +61 -49
  290. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +1 -1
  291. package/coverage/lcov-report/src/tests/utilities/index.html +15 -15
  292. package/coverage/lcov-report/src/tests/utilities/index.js.html +1 -1
  293. package/coverage/lcov-report/src/tests/utilities/structures.js.html +9 -12
  294. package/coverage/lcov-report/src/threads/automation.ts.html +20 -23
  295. package/coverage/lcov-report/src/threads/index.html +24 -24
  296. package/coverage/lcov-report/src/threads/index.ts.html +1 -1
  297. package/coverage/lcov-report/src/threads/query.ts.html +18 -33
  298. package/coverage/lcov-report/src/threads/utils.ts.html +10 -13
  299. package/coverage/lcov-report/src/utilities/{budibaseDir.js.html → budibaseDir.ts.html} +5 -5
  300. package/coverage/lcov-report/src/utilities/centralPath.js.html +1 -1
  301. package/coverage/lcov-report/src/utilities/csvParser.js.html +1 -1
  302. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +13 -13
  303. package/coverage/lcov-report/src/utilities/fileSystem/index.html +5 -20
  304. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +15 -15
  305. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +1 -1
  306. package/coverage/lcov-report/src/utilities/global.ts.html +1 -1
  307. package/coverage/lcov-report/src/utilities/index.html +44 -44
  308. package/coverage/lcov-report/src/utilities/{index.js.html → index.ts.html} +68 -44
  309. package/coverage/lcov-report/src/utilities/plugins.js.html +1 -1
  310. package/coverage/lcov-report/src/utilities/queue/inMemoryQueue.js.html +1 -1
  311. package/coverage/lcov-report/src/utilities/queue/index.html +1 -1
  312. package/coverage/lcov-report/src/utilities/{redis.js.html → redis.ts.html} +36 -33
  313. package/coverage/lcov-report/src/utilities/routing/index.html +6 -6
  314. package/coverage/lcov-report/src/utilities/routing/index.ts.html +181 -0
  315. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +38 -23
  316. package/coverage/lcov-report/src/utilities/rowProcessor/{index.js.html → index.ts.html} +106 -337
  317. package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +370 -0
  318. package/coverage/lcov-report/src/utilities/rowProcessor/{utils.js.html → utils.ts.html} +43 -31
  319. package/coverage/lcov-report/src/utilities/scriptRunner.js.html +1 -1
  320. package/coverage/lcov-report/src/utilities/{security.js.html → security.ts.html} +49 -67
  321. package/coverage/lcov-report/src/utilities/statusCodes.js.html +1 -1
  322. package/coverage/lcov-report/src/utilities/usageQuota/index.html +18 -18
  323. package/coverage/lcov-report/src/utilities/usageQuota/{rows.js.html → rows.ts.html} +27 -39
  324. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  325. package/coverage/lcov-report/src/utilities/{users.js.html → users.ts.html} +22 -28
  326. package/coverage/lcov-report/src/utilities/{workerRequests.js.html → workerRequests.ts.html} +69 -54
  327. package/coverage/lcov-report/src/watch.ts.html +8 -11
  328. package/coverage/lcov-report/src/websocket.ts.html +1 -1
  329. package/coverage/lcov.info +5516 -5765
  330. package/dist/api/controllers/apikeys.js +12 -9
  331. package/dist/api/controllers/automation.js +104 -84
  332. package/dist/api/controllers/cloud.js +84 -71
  333. package/dist/api/controllers/component.js +4 -2
  334. package/dist/api/controllers/datasource.js +125 -111
  335. package/dist/api/controllers/deploy/Deployment.js +10 -6
  336. package/dist/api/controllers/layout.js +18 -15
  337. package/dist/api/controllers/metadata.js +51 -37
  338. package/dist/api/controllers/permission.js +52 -43
  339. package/dist/api/controllers/plugin/index.js +6 -7
  340. package/dist/api/controllers/public/tables.js +29 -9
  341. package/dist/api/controllers/query/import/index.js +1 -2
  342. package/dist/api/controllers/query/validation.js +41 -33
  343. package/dist/api/controllers/role.js +29 -27
  344. package/dist/api/controllers/routing.js +71 -58
  345. package/dist/api/controllers/row/ExternalRequest.js +6 -7
  346. package/dist/api/controllers/row/external.js +3 -3
  347. package/dist/api/controllers/row/internal.js +11 -12
  348. package/dist/api/controllers/row/internalSearch.js +95 -80
  349. package/dist/api/controllers/row/staticFormula.js +85 -75
  350. package/dist/api/controllers/row/utils.js +118 -84
  351. package/dist/api/controllers/screen.js +81 -66
  352. package/dist/api/controllers/script.js +13 -6
  353. package/dist/api/controllers/static/index.js +9 -11
  354. package/dist/api/controllers/table/bulkFormula.js +47 -35
  355. package/dist/api/controllers/table/external.js +67 -54
  356. package/dist/api/controllers/table/index.js +66 -33
  357. package/dist/api/controllers/table/internal.js +1 -2
  358. package/dist/api/controllers/table/utils.js +8 -9
  359. package/dist/api/controllers/templates.js +17 -10
  360. package/dist/api/controllers/user.js +82 -70
  361. package/dist/api/controllers/view/exporters.js +8 -4
  362. package/dist/api/controllers/view/index.js +201 -153
  363. package/dist/api/controllers/view/utils.js +151 -121
  364. package/dist/api/index.js +38 -34
  365. package/dist/api/routes/analytics.js +29 -3
  366. package/dist/api/routes/apikeys.js +33 -7
  367. package/dist/api/routes/application.js +8 -9
  368. package/dist/api/routes/auth.js +1 -2
  369. package/dist/api/routes/automation.js +46 -20
  370. package/dist/api/routes/backup.js +3 -4
  371. package/dist/api/routes/cloud.js +32 -6
  372. package/dist/api/routes/component.js +32 -6
  373. package/dist/api/routes/datasource.js +39 -13
  374. package/dist/api/routes/deploy.js +34 -8
  375. package/dist/api/routes/dev.js +36 -10
  376. package/dist/api/routes/integration.js +10 -7
  377. package/dist/api/routes/layout.js +33 -7
  378. package/dist/api/routes/metadata.js +36 -10
  379. package/dist/api/routes/migrations.js +32 -6
  380. package/dist/api/routes/permission.js +38 -12
  381. package/dist/api/routes/plugin.js +5 -5
  382. package/dist/api/routes/query.js +42 -15
  383. package/dist/api/routes/role.js +36 -10
  384. package/dist/api/routes/routing.js +32 -6
  385. package/dist/api/routes/row.js +2 -1
  386. package/dist/api/routes/screen.js +35 -9
  387. package/dist/api/routes/script.js +32 -6
  388. package/dist/api/routes/static.js +9 -9
  389. package/dist/api/routes/table.js +40 -13
  390. package/dist/api/routes/templates.js +33 -7
  391. package/dist/api/routes/tests/utilities/TestFunctions.js +6 -8
  392. package/dist/api/routes/user.js +40 -13
  393. package/dist/api/routes/utils/validators.js +142 -126
  394. package/dist/api/routes/view.js +38 -12
  395. package/dist/api/routes/webhook.js +1 -2
  396. package/dist/app.js +3 -4
  397. package/dist/automations/triggers.js +5 -6
  398. package/dist/constants/index.js +3 -5
  399. package/dist/constants/screens.js +2 -2
  400. package/dist/db/inMemoryView.js +3 -3
  401. package/dist/db/linkedRows/LinkController.js +2 -2
  402. package/dist/db/linkedRows/index.js +2 -2
  403. package/dist/db/linkedRows/linkUtils.js +3 -3
  404. package/dist/db/views/staticViews.js +4 -4
  405. package/dist/integrations/index.js +15 -6
  406. package/dist/middleware/authorized.js +22 -21
  407. package/dist/migrations/functions/appUrls.js +2 -2
  408. package/dist/migrations/functions/usageQuotas/syncApps.js +3 -4
  409. package/dist/migrations/functions/usageQuotas/syncRows.js +3 -4
  410. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  411. package/dist/package.json +6 -6
  412. package/dist/sdk/app/backups/exports.js +1 -2
  413. package/dist/sdk/app/backups/imports.js +2 -3
  414. package/dist/startup.js +4 -4
  415. package/dist/tests/utilities/TestConfiguration.js +27 -35
  416. package/dist/tests/utilities/structures.js +3 -4
  417. package/dist/threads/automation.js +15 -16
  418. package/dist/threads/query.js +17 -19
  419. package/dist/threads/utils.js +11 -9
  420. package/dist/tsconfig.build.tsbuildinfo +1 -1
  421. package/dist/utilities/budibaseDir.js +4 -2
  422. package/dist/utilities/fileSystem/clientLibrary.js +12 -12
  423. package/dist/utilities/fileSystem/index.js +3 -3
  424. package/dist/utilities/index.js +102 -75
  425. package/dist/utilities/redis.js +100 -65
  426. package/dist/utilities/routing/index.js +27 -23
  427. package/dist/utilities/rowProcessor/index.js +124 -191
  428. package/dist/utilities/rowProcessor/map.js +96 -0
  429. package/dist/utilities/rowProcessor/utils.js +35 -26
  430. package/dist/utilities/security.js +39 -35
  431. package/dist/utilities/usageQuota/rows.js +56 -49
  432. package/dist/utilities/users.js +31 -28
  433. package/dist/utilities/workerRequests.js +115 -82
  434. package/dist/watch.js +1 -2
  435. package/package.json +7 -7
  436. package/scripts/exportAppTemplate.js +2 -2
  437. package/src/api/controllers/{apikeys.js → apikeys.ts} +10 -10
  438. package/src/api/controllers/auth.ts +2 -2
  439. package/src/api/controllers/{automation.js → automation.ts} +48 -48
  440. package/src/api/controllers/{cloud.js → cloud.ts} +24 -24
  441. package/src/api/controllers/component.ts +2 -1
  442. package/src/api/controllers/{datasource.js → datasource.ts} +55 -48
  443. package/src/api/controllers/deploy/{Deployment.js → Deployment.ts} +13 -10
  444. package/src/api/controllers/{layout.js → layout.ts} +8 -8
  445. package/src/api/controllers/{metadata.js → metadata.ts} +11 -10
  446. package/src/api/controllers/{permission.js → permission.ts} +49 -46
  447. package/src/api/controllers/plugin/index.ts +4 -5
  448. package/src/api/controllers/public/tables.ts +2 -2
  449. package/src/api/controllers/query/import/index.ts +2 -3
  450. package/src/api/controllers/query/{validation.js → validation.ts} +7 -7
  451. package/src/api/controllers/{role.js → role.ts} +21 -25
  452. package/src/api/controllers/{routing.js → routing.ts} +37 -34
  453. package/src/api/controllers/row/ExternalRequest.ts +4 -8
  454. package/src/api/controllers/row/external.js +3 -3
  455. package/src/api/controllers/row/internal.js +11 -12
  456. package/src/api/controllers/row/{internalSearch.js → internalSearch.ts} +92 -68
  457. package/src/api/controllers/row/{staticFormula.js → staticFormula.ts} +28 -23
  458. package/src/api/controllers/row/{utils.js → utils.ts} +25 -18
  459. package/src/api/controllers/screen.ts +10 -6
  460. package/src/api/controllers/script.ts +12 -0
  461. package/src/api/controllers/static/index.ts +9 -13
  462. package/src/api/controllers/table/{bulkFormula.js → bulkFormula.ts} +39 -25
  463. package/src/api/controllers/table/{external.js → external.ts} +86 -51
  464. package/src/api/controllers/table/{index.js → index.ts} +17 -17
  465. package/src/api/controllers/table/internal.ts +1 -2
  466. package/src/api/controllers/table/utils.ts +10 -10
  467. package/src/api/controllers/{templates.js → templates.ts} +10 -7
  468. package/src/api/controllers/{user.js → user.ts} +47 -49
  469. package/src/api/controllers/view/{exporters.js → exporters.ts} +5 -3
  470. package/src/api/controllers/view/{index.js → index.ts} +36 -27
  471. package/src/api/controllers/view/{utils.js → utils.ts} +26 -20
  472. package/src/api/{index.js → index.ts} +15 -22
  473. package/src/api/routes/analytics.ts +9 -0
  474. package/src/api/routes/apikeys.ts +12 -0
  475. package/src/api/routes/application.ts +17 -9
  476. package/src/api/routes/auth.ts +2 -2
  477. package/src/api/routes/automation.ts +87 -0
  478. package/src/api/routes/backup.ts +8 -4
  479. package/src/api/routes/cloud.ts +18 -0
  480. package/src/api/routes/component.ts +14 -0
  481. package/src/api/routes/datasource.ts +60 -0
  482. package/src/api/routes/deploy.ts +21 -0
  483. package/src/api/routes/dev.ts +38 -0
  484. package/src/api/routes/integration.ts +16 -0
  485. package/src/api/routes/layout.ts +16 -0
  486. package/src/api/routes/{metadata.js → metadata.ts} +13 -13
  487. package/src/api/routes/migrations.ts +14 -0
  488. package/src/api/routes/permission.ts +41 -0
  489. package/src/api/routes/plugin.ts +14 -6
  490. package/src/api/routes/{query.js → query.ts} +17 -20
  491. package/src/api/routes/role.ts +24 -0
  492. package/src/api/routes/routing.ts +14 -0
  493. package/src/api/routes/row.ts +3 -5
  494. package/src/api/routes/screen.ts +23 -0
  495. package/src/api/routes/script.ts +10 -0
  496. package/src/api/routes/static.ts +4 -7
  497. package/src/api/routes/{table.js → table.ts} +9 -12
  498. package/src/api/routes/templates.ts +16 -0
  499. package/src/api/routes/tests/backup.spec.js +9 -1
  500. package/src/api/routes/tests/permissions.spec.js +2 -1
  501. package/src/api/routes/tests/role.spec.js +3 -5
  502. package/src/api/routes/tests/routing.spec.js +2 -1
  503. package/src/api/routes/tests/row.spec.js +3 -4
  504. package/src/api/routes/tests/user.spec.js +2 -1
  505. package/src/api/routes/tests/utilities/TestFunctions.ts +6 -8
  506. package/src/api/routes/{user.js → user.ts} +7 -9
  507. package/src/api/routes/utils/{validators.js → validators.ts} +33 -37
  508. package/src/api/routes/view.ts +34 -0
  509. package/src/api/routes/webhook.ts +2 -2
  510. package/src/app.ts +3 -4
  511. package/src/automations/triggers.js +5 -6
  512. package/src/constants/index.js +3 -5
  513. package/src/constants/screens.js +2 -2
  514. package/src/db/inMemoryView.js +3 -3
  515. package/src/db/linkedRows/LinkController.js +2 -2
  516. package/src/db/linkedRows/index.js +2 -2
  517. package/src/db/linkedRows/linkUtils.js +3 -3
  518. package/src/db/utils.ts +1 -1
  519. package/src/db/views/staticViews.js +4 -4
  520. package/src/integrations/base/sql.ts +1 -1
  521. package/src/integrations/base/sqlTable.ts +1 -1
  522. package/src/integrations/index.ts +45 -41
  523. package/src/middleware/authorized.ts +21 -28
  524. package/src/middleware/tests/authorized.spec.js +5 -6
  525. package/src/migrations/functions/appUrls.ts +2 -2
  526. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  527. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +14 -9
  528. package/src/migrations/functions/usageQuotas/syncApps.ts +3 -4
  529. package/src/migrations/functions/usageQuotas/syncRows.ts +3 -4
  530. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  531. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  532. package/src/sdk/app/backups/exports.ts +5 -3
  533. package/src/sdk/app/backups/imports.ts +3 -7
  534. package/src/startup.ts +2 -2
  535. package/src/tests/utilities/TestConfiguration.js +39 -35
  536. package/src/tests/utilities/structures.js +3 -4
  537. package/src/threads/automation.ts +14 -15
  538. package/src/threads/query.ts +11 -16
  539. package/src/threads/utils.ts +4 -5
  540. package/src/utilities/budibaseDir.ts +3 -0
  541. package/src/utilities/fileSystem/clientLibrary.js +12 -12
  542. package/src/utilities/fileSystem/index.js +8 -8
  543. package/src/utilities/{index.js → index.ts} +40 -32
  544. package/src/utilities/{redis.js → redis.ts} +21 -20
  545. package/src/utilities/routing/index.ts +32 -0
  546. package/src/utilities/rowProcessor/{index.js → index.ts} +65 -142
  547. package/src/utilities/rowProcessor/map.js +95 -0
  548. package/src/utilities/rowProcessor/{utils.js → utils.ts} +19 -15
  549. package/src/utilities/security.ts +65 -0
  550. package/src/utilities/usageQuota/{rows.js → rows.ts} +14 -18
  551. package/src/utilities/{users.js → users.ts} +11 -13
  552. package/src/utilities/{workerRequests.js → workerRequests.ts} +43 -38
  553. package/src/watch.ts +2 -3
  554. package/coverage/lcov-report/src/api/routes/cloud.js.html +0 -127
  555. package/coverage/lcov-report/src/api/routes/integration.js.html +0 -121
  556. package/coverage/lcov-report/src/api/routes/role.js.html +0 -130
  557. package/coverage/lcov-report/src/module.d.ts.html +0 -127
  558. package/coverage/lcov-report/src/utilities/fileSystem/utilities.js.html +0 -193
  559. package/dist/utilities/fileSystem/utilities.js +0 -22
  560. package/src/api/controllers/script.js +0 -11
  561. package/src/api/routes/analytics.js +0 -9
  562. package/src/api/routes/apikeys.js +0 -12
  563. package/src/api/routes/automation.js +0 -85
  564. package/src/api/routes/cloud.js +0 -14
  565. package/src/api/routes/component.js +0 -14
  566. package/src/api/routes/datasource.js +0 -51
  567. package/src/api/routes/deploy.js +0 -17
  568. package/src/api/routes/dev.js +0 -26
  569. package/src/api/routes/integration.js +0 -12
  570. package/src/api/routes/layout.js +0 -16
  571. package/src/api/routes/migrations.js +0 -14
  572. package/src/api/routes/permission.js +0 -33
  573. package/src/api/routes/role.js +0 -15
  574. package/src/api/routes/routing.js +0 -14
  575. package/src/api/routes/screen.js +0 -18
  576. package/src/api/routes/script.js +0 -10
  577. package/src/api/routes/templates.js +0 -16
  578. package/src/api/routes/view.js +0 -31
  579. package/src/module.d.ts +0 -14
  580. package/src/utilities/budibaseDir.js +0 -3
  581. package/src/utilities/fileSystem/utilities.js +0 -36
  582. package/src/utilities/routing/index.js +0 -25
  583. package/src/utilities/security.js +0 -71
@@ -7,9 +7,9 @@ import {
7
7
  roles,
8
8
  } from "@budibase/backend-core"
9
9
  import { updateAppPackage } from "./application"
10
- import { Plugin, ScreenProps } from "@budibase/types"
10
+ import { Plugin, ScreenProps, BBContext } from "@budibase/types"
11
11
 
12
- exports.fetch = async (ctx: any) => {
12
+ export async function fetch(ctx: BBContext) {
13
13
  const db = context.getAppDB()
14
14
 
15
15
  const screens = (
@@ -20,13 +20,17 @@ exports.fetch = async (ctx: any) => {
20
20
  )
21
21
  ).rows.map((el: any) => el.doc)
22
22
 
23
+ const roleId = ctx.user?.role?._id as string
24
+ if (!roleId) {
25
+ ctx.throw("Unable to retrieve users role ID.")
26
+ }
23
27
  ctx.body = await new roles.AccessController().checkScreensAccess(
24
28
  screens,
25
- ctx.user.role._id
29
+ roleId
26
30
  )
27
31
  }
28
32
 
29
- exports.save = async (ctx: any) => {
33
+ export async function save(ctx: BBContext) {
30
34
  const db = context.getAppDB()
31
35
  let screen = ctx.request.body
32
36
 
@@ -92,7 +96,7 @@ exports.save = async (ctx: any) => {
92
96
  }
93
97
  }
94
98
 
95
- exports.destroy = async (ctx: any) => {
99
+ export async function destroy(ctx: BBContext) {
96
100
  const db = context.getAppDB()
97
101
  const id = ctx.params.screenId
98
102
  const screen = await db.get(id)
@@ -106,7 +110,7 @@ exports.destroy = async (ctx: any) => {
106
110
  ctx.status = 200
107
111
  }
108
112
 
109
- const findPlugins = (component: ScreenProps, foundPlugins: string[]) => {
113
+ function findPlugins(component: ScreenProps, foundPlugins: string[]) {
110
114
  if (!component) {
111
115
  return
112
116
  }
@@ -0,0 +1,12 @@
1
+ import ScriptRunner from "../../utilities/scriptRunner"
2
+ import { BBContext } from "@budibase/types"
3
+
4
+ export async function execute(ctx: BBContext) {
5
+ const { script, context } = ctx.request.body
6
+ const runner = new ScriptRunner(script, context)
7
+ ctx.body = runner.execute()
8
+ }
9
+
10
+ export async function save(ctx: BBContext) {
11
+ ctx.throw(501, "Not currently implemented")
12
+ }
@@ -17,13 +17,9 @@ const { clientLibraryPath } = require("../../../utilities")
17
17
  const { upload, deleteFiles } = require("../../../utilities/fileSystem")
18
18
  const { attachmentsRelativeURL } = require("../../../utilities")
19
19
  const { DocumentType } = require("../../../db/utils")
20
- const { getAppDB, getAppId } = require("@budibase/backend-core/context")
21
- const { setCookie, clearCookie } = require("@budibase/backend-core/utils")
20
+ const { context, objectStore, utils } = require("@budibase/backend-core")
22
21
  const AWS = require("aws-sdk")
23
22
  const fs = require("fs")
24
- const {
25
- downloadTarballDirect,
26
- } = require("../../../utilities/fileSystem/utilities")
27
23
 
28
24
  async function prepareUpload({ s3Key, bucket, metadata, file }: any) {
29
25
  const response = await upload({
@@ -48,7 +44,7 @@ export const toggleBetaUiFeature = async function (ctx: any) {
48
44
  const cookieName = `beta:${ctx.params.feature}`
49
45
 
50
46
  if (ctx.cookies.get(cookieName)) {
51
- clearCookie(ctx, cookieName)
47
+ utils.clearCookie(ctx, cookieName)
52
48
  ctx.body = {
53
49
  message: `${ctx.params.feature} disabled`,
54
50
  }
@@ -61,11 +57,11 @@ export const toggleBetaUiFeature = async function (ctx: any) {
61
57
  if (!fs.existsSync(builderPath)) {
62
58
  fs.mkdirSync(builderPath)
63
59
  }
64
- await downloadTarballDirect(
60
+ await objectStore.downloadTarballDirect(
65
61
  "https://cdn.budi.live/beta:design_ui/new_ui.tar.gz",
66
62
  builderPath
67
63
  )
68
- setCookie(ctx, {}, cookieName)
64
+ utils.setCookie(ctx, {}, cookieName)
69
65
 
70
66
  ctx.body = {
71
67
  message: `${ctx.params.feature} enabled`,
@@ -103,9 +99,9 @@ export const deleteObjects = async function (ctx: any) {
103
99
  }
104
100
 
105
101
  export const serveApp = async function (ctx: any) {
106
- const db = getAppDB({ skip_setup: true })
102
+ const db = context.getAppDB({ skip_setup: true })
107
103
  const appInfo = await db.get(DocumentType.APP_METADATA)
108
- let appId = getAppId()
104
+ let appId = context.getAppId()
109
105
 
110
106
  if (!env.isJest()) {
111
107
  const App = require("./templates/BudibaseApp.svelte").default
@@ -134,11 +130,11 @@ export const serveApp = async function (ctx: any) {
134
130
  }
135
131
 
136
132
  export const serveBuilderPreview = async function (ctx: any) {
137
- const db = getAppDB({ skip_setup: true })
133
+ const db = context.getAppDB({ skip_setup: true })
138
134
  const appInfo = await db.get(DocumentType.APP_METADATA)
139
135
 
140
136
  if (!env.isJest()) {
141
- let appId = getAppId()
137
+ let appId = context.getAppId()
142
138
  const previewHbs = loadHandlebarsFile(`${__dirname}/templates/preview.hbs`)
143
139
  ctx.body = await processString(previewHbs, {
144
140
  clientLibPath: clientLibraryPath(appId, appInfo.version, ctx),
@@ -156,7 +152,7 @@ export const serveClientLibrary = async function (ctx: any) {
156
152
  }
157
153
 
158
154
  export const getSignedUploadURL = async function (ctx: any) {
159
- const database = getAppDB()
155
+ const database = context.getAppDB()
160
156
 
161
157
  // Ensure datasource is valid
162
158
  let datasource
@@ -1,13 +1,14 @@
1
- const { FieldTypes, FormulaTypes } = require("../../../constants")
2
- const { clearColumns } = require("./utils")
3
- const { doesContainStrings } = require("@budibase/string-templates")
4
- const { cloneDeep } = require("lodash/fp")
5
- const { isEqual, uniq } = require("lodash")
6
- const { updateAllFormulasInTable } = require("../row/staticFormula")
7
- const { getAppDB } = require("@budibase/backend-core/context")
8
- const sdk = require("../../../sdk")
1
+ import { FieldTypes, FormulaTypes } from "../../../constants"
2
+ import { clearColumns } from "./utils"
3
+ import { doesContainStrings } from "@budibase/string-templates"
4
+ import { cloneDeep } from "lodash/fp"
5
+ import { isEqual, uniq } from "lodash"
6
+ import { updateAllFormulasInTable } from "../row/staticFormula"
7
+ import { context } from "@budibase/backend-core"
8
+ import { FieldSchema, Table } from "@budibase/types"
9
+ import sdk from "../../../sdk"
9
10
 
10
- function isStaticFormula(column) {
11
+ function isStaticFormula(column: FieldSchema) {
11
12
  return (
12
13
  column.type === FieldTypes.FORMULA &&
13
14
  column.formulaType === FormulaTypes.STATIC
@@ -18,8 +19,8 @@ function isStaticFormula(column) {
18
19
  * This retrieves the formula columns from a table schema that use a specified column name
19
20
  * in the formula.
20
21
  */
21
- function getFormulaThatUseColumn(table, columnNames) {
22
- let formula = []
22
+ function getFormulaThatUseColumn(table: Table, columnNames: string[] | string) {
23
+ let formula: string[] = []
23
24
  columnNames = Array.isArray(columnNames) ? columnNames : [columnNames]
24
25
  for (let column of Object.values(table.schema)) {
25
26
  // not a static formula, or doesn't contain a relationship
@@ -38,7 +39,10 @@ function getFormulaThatUseColumn(table, columnNames) {
38
39
  * This functions checks for when a related table, column or related column is deleted, if any
39
40
  * tables need to have the formula column removed.
40
41
  */
41
- async function checkIfFormulaNeedsCleared(table, { oldTable, deletion }) {
42
+ async function checkIfFormulaNeedsCleared(
43
+ table: Table,
44
+ { oldTable, deletion }: { oldTable?: Table; deletion?: boolean }
45
+ ) {
42
46
  // start by retrieving all tables, remove the current table from the list
43
47
  const tables = (await sdk.tables.getAllInternalTables()).filter(
44
48
  tbl => tbl._id !== table._id
@@ -49,11 +53,14 @@ async function checkIfFormulaNeedsCleared(table, { oldTable, deletion }) {
49
53
  )
50
54
  // remove any formula columns that used related columns
51
55
  for (let removed of removedColumns) {
52
- let tableToUse = table
56
+ let tableToUse: Table | undefined = table
53
57
  // if relationship, get the related table
54
58
  if (removed.type === FieldTypes.LINK) {
55
59
  tableToUse = tables.find(table => table._id === removed.tableId)
56
60
  }
61
+ if (!tableToUse) {
62
+ continue
63
+ }
57
64
  const columnsToDelete = getFormulaThatUseColumn(tableToUse, removed.name)
58
65
  if (columnsToDelete.length > 0) {
59
66
  await clearColumns(table, columnsToDelete)
@@ -71,11 +78,11 @@ async function checkIfFormulaNeedsCleared(table, { oldTable, deletion }) {
71
78
  // look to see if the column was used in a relationship formula,
72
79
  // relationships won't be used for this
73
80
  if (relatedTable && relatedColumns && removed.type !== FieldTypes.LINK) {
74
- let relatedFormulaToRemove = []
81
+ let relatedFormulaToRemove: string[] = []
75
82
  for (let column of relatedColumns) {
76
83
  relatedFormulaToRemove = relatedFormulaToRemove.concat(
77
84
  getFormulaThatUseColumn(relatedTable, [
78
- column.fieldName,
85
+ column.fieldName!,
79
86
  removed.name,
80
87
  ])
81
88
  )
@@ -95,13 +102,14 @@ async function checkIfFormulaNeedsCleared(table, { oldTable, deletion }) {
95
102
  * specifically only for static formula.
96
103
  */
97
104
  async function updateRelatedFormulaLinksOnTables(
98
- table,
99
- { deletion } = { deletion: false }
105
+ table: Table,
106
+ { deletion }: { deletion?: boolean } = {}
100
107
  ) {
101
- const db = getAppDB()
108
+ const tableId: string = table._id!
109
+ const db = context.getAppDB()
102
110
  // start by retrieving all tables, remove the current table from the list
103
111
  const tables = (await sdk.tables.getAllInternalTables()).filter(
104
- tbl => tbl._id !== table._id
112
+ tbl => tbl._id !== tableId
105
113
  )
106
114
  // clone the tables, so we can compare at end
107
115
  const initialTables = cloneDeep(tables)
@@ -114,7 +122,7 @@ async function updateRelatedFormulaLinksOnTables(
114
122
  if (!otherTable.relatedFormula) {
115
123
  continue
116
124
  }
117
- const index = otherTable.relatedFormula.indexOf(table._id)
125
+ const index = otherTable.relatedFormula.indexOf(tableId)
118
126
  if (index !== -1) {
119
127
  otherTable.relatedFormula.splice(index, 1)
120
128
  }
@@ -133,11 +141,11 @@ async function updateRelatedFormulaLinksOnTables(
133
141
  if (
134
142
  relatedTable &&
135
143
  (!relatedTable.relatedFormula ||
136
- !relatedTable.relatedFormula.includes(table._id))
144
+ !relatedTable.relatedFormula.includes(tableId))
137
145
  ) {
138
146
  relatedTable.relatedFormula = relatedTable.relatedFormula
139
- ? [...relatedTable.relatedFormula, table._id]
140
- : [table._id]
147
+ ? [...relatedTable.relatedFormula, tableId]
148
+ : [tableId]
141
149
  }
142
150
  }
143
151
  }
@@ -150,7 +158,10 @@ async function updateRelatedFormulaLinksOnTables(
150
158
  }
151
159
  }
152
160
 
153
- async function checkIfFormulaUpdated(table, { oldTable }) {
161
+ async function checkIfFormulaUpdated(
162
+ table: Table,
163
+ { oldTable }: { oldTable?: Table }
164
+ ) {
154
165
  // look to see if any formula values have changed
155
166
  const shouldUpdate = Object.values(table.schema).find(
156
167
  column =>
@@ -165,7 +176,10 @@ async function checkIfFormulaUpdated(table, { oldTable }) {
165
176
  }
166
177
  }
167
178
 
168
- exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) => {
179
+ export async function runStaticFormulaChecks(
180
+ table: Table,
181
+ { oldTable, deletion }: { oldTable?: Table; deletion?: boolean }
182
+ ) {
169
183
  await updateRelatedFormulaLinksOnTables(table, { deletion })
170
184
  await checkIfFormulaNeedsCleared(table, { oldTable, deletion })
171
185
  if (!deletion) {
@@ -1,38 +1,47 @@
1
- const {
1
+ import {
2
2
  buildExternalTableId,
3
3
  breakExternalTableId,
4
- } = require("../../../integrations/utils")
5
- const {
4
+ } from "../../../integrations/utils"
5
+ import {
6
6
  generateForeignKey,
7
7
  generateJunctionTableName,
8
8
  foreignKeyStructure,
9
9
  hasTypeChanged,
10
- } = require("./utils")
11
- const {
10
+ } from "./utils"
11
+ import {
12
12
  DataSourceOperation,
13
13
  FieldTypes,
14
14
  RelationshipTypes,
15
- } = require("../../../constants")
16
- const { makeExternalQuery } = require("../../../integrations/base/query")
15
+ } from "../../../constants"
16
+ import { makeExternalQuery } from "../../../integrations/base/query"
17
+ import csvParser from "../../../utilities/csvParser"
18
+ import { handleRequest } from "../row/external"
19
+ import { events, context } from "@budibase/backend-core"
20
+ import {
21
+ Datasource,
22
+ Table,
23
+ QueryJson,
24
+ Operation,
25
+ RenameColumn,
26
+ FieldSchema,
27
+ BBContext,
28
+ TableRequest,
29
+ } from "@budibase/types"
30
+ import sdk from "../../../sdk"
17
31
  const { cloneDeep } = require("lodash/fp")
18
- const csvParser = require("../../../utilities/csvParser")
19
- const { handleRequest } = require("../row/external")
20
- const { getAppDB } = require("@budibase/backend-core/context")
21
- const { events } = require("@budibase/backend-core")
22
- const sdk = require("../../../sdk")
23
32
 
24
33
  async function makeTableRequest(
25
- datasource,
26
- operation,
27
- table,
28
- tables,
29
- oldTable = null,
30
- renamed = null
34
+ datasource: Datasource,
35
+ operation: Operation,
36
+ table: Table,
37
+ tables: Record<string, Table>,
38
+ oldTable?: Table,
39
+ renamed?: RenameColumn
31
40
  ) {
32
- const json = {
41
+ const json: QueryJson = {
33
42
  endpoint: {
34
- datasourceId: datasource._id,
35
- entityId: table._id,
43
+ datasourceId: datasource._id!,
44
+ entityId: table._id!,
36
45
  operation,
37
46
  },
38
47
  meta: {
@@ -41,15 +50,19 @@ async function makeTableRequest(
41
50
  table,
42
51
  }
43
52
  if (oldTable) {
44
- json.meta.table = oldTable
53
+ json.meta!.table = oldTable
45
54
  }
46
55
  if (renamed) {
47
- json.meta.renamed = renamed
56
+ json.meta!.renamed = renamed
48
57
  }
49
58
  return makeExternalQuery(datasource, json)
50
59
  }
51
60
 
52
- function cleanupRelationships(table, tables, oldTable = null) {
61
+ function cleanupRelationships(
62
+ table: Table,
63
+ tables: Record<string, Table>,
64
+ oldTable?: Table
65
+ ) {
53
66
  const tableToIterate = oldTable ? oldTable : table
54
67
  // clean up relationships in couch table schemas
55
68
  for (let [key, schema] of Object.entries(tableToIterate.schema)) {
@@ -78,7 +91,7 @@ function cleanupRelationships(table, tables, oldTable = null) {
78
91
  }
79
92
  }
80
93
 
81
- function getDatasourceId(table) {
94
+ function getDatasourceId(table: Table) {
82
95
  if (!table) {
83
96
  throw "No table supplied"
84
97
  }
@@ -88,7 +101,7 @@ function getDatasourceId(table) {
88
101
  return breakExternalTableId(table._id).datasourceId
89
102
  }
90
103
 
91
- function otherRelationshipType(type) {
104
+ function otherRelationshipType(type?: string) {
92
105
  if (type === RelationshipTypes.MANY_TO_MANY) {
93
106
  return RelationshipTypes.MANY_TO_MANY
94
107
  }
@@ -97,13 +110,21 @@ function otherRelationshipType(type) {
97
110
  : RelationshipTypes.ONE_TO_MANY
98
111
  }
99
112
 
100
- function generateManyLinkSchema(datasource, column, table, relatedTable) {
113
+ function generateManyLinkSchema(
114
+ datasource: Datasource,
115
+ column: FieldSchema,
116
+ table: Table,
117
+ relatedTable: Table
118
+ ): Table {
119
+ if (!table.primary || !relatedTable.primary) {
120
+ throw new Error("Unable to generate many link schema, no primary keys")
121
+ }
101
122
  const primary = table.name + table.primary[0]
102
123
  const relatedPrimary = relatedTable.name + relatedTable.primary[0]
103
124
  const jcTblName = generateJunctionTableName(column, table, relatedTable)
104
125
  // first create the new table
105
126
  const junctionTable = {
106
- _id: buildExternalTableId(datasource._id, jcTblName),
127
+ _id: buildExternalTableId(datasource._id!, jcTblName),
107
128
  name: jcTblName,
108
129
  primary: [primary, relatedPrimary],
109
130
  constrained: [primary, relatedPrimary],
@@ -125,7 +146,15 @@ function generateManyLinkSchema(datasource, column, table, relatedTable) {
125
146
  return junctionTable
126
147
  }
127
148
 
128
- function generateLinkSchema(column, table, relatedTable, type) {
149
+ function generateLinkSchema(
150
+ column: FieldSchema,
151
+ table: Table,
152
+ relatedTable: Table,
153
+ type: string
154
+ ) {
155
+ if (!table.primary || !relatedTable.primary) {
156
+ throw new Error("Unable to generate link schema, no primary keys")
157
+ }
129
158
  const isOneSide = type === RelationshipTypes.ONE_TO_MANY
130
159
  const primary = isOneSide ? relatedTable.primary[0] : table.primary[0]
131
160
  // generate a foreign key
@@ -136,7 +165,12 @@ function generateLinkSchema(column, table, relatedTable, type) {
136
165
  return foreignKey
137
166
  }
138
167
 
139
- function generateRelatedSchema(linkColumn, table, relatedTable, columnName) {
168
+ function generateRelatedSchema(
169
+ linkColumn: FieldSchema,
170
+ table: Table,
171
+ relatedTable: Table,
172
+ columnName: string
173
+ ) {
140
174
  // generate column for other table
141
175
  const relatedSchema = cloneDeep(linkColumn)
142
176
  // swap them from the main link
@@ -159,21 +193,21 @@ function generateRelatedSchema(linkColumn, table, relatedTable, columnName) {
159
193
  table.schema[columnName] = relatedSchema
160
194
  }
161
195
 
162
- function isRelationshipSetup(column) {
196
+ function isRelationshipSetup(column: FieldSchema) {
163
197
  return column.foreignKey || column.through
164
198
  }
165
199
 
166
- exports.save = async function (ctx) {
167
- const table = ctx.request.body
168
- const { _rename: renamed } = table
200
+ export async function save(ctx: BBContext) {
201
+ const table: TableRequest = ctx.request.body
202
+ const renamed = table?._rename
169
203
  // can't do this right now
170
204
  delete table.dataImport
171
- const datasourceId = getDatasourceId(ctx.request.body)
205
+ const datasourceId = getDatasourceId(ctx.request.body)!
172
206
  // table doesn't exist already, note that it is created
173
207
  if (!table._id) {
174
208
  table.created = true
175
209
  }
176
- let tableToSave = {
210
+ let tableToSave: TableRequest = {
177
211
  type: "table",
178
212
  _id: buildExternalTableId(datasourceId, table.name),
179
213
  ...table,
@@ -188,10 +222,10 @@ exports.save = async function (ctx) {
188
222
  ctx.throw(400, "A column type has changed.")
189
223
  }
190
224
 
191
- const db = getAppDB()
225
+ const db = context.getAppDB()
192
226
  const datasource = await db.get(datasourceId)
193
227
  const oldTables = cloneDeep(datasource.entities)
194
- const tables = datasource.entities
228
+ const tables: Record<string, Table> = datasource.entities
195
229
 
196
230
  const extraTablesToUpdate = []
197
231
 
@@ -203,8 +237,11 @@ exports.save = async function (ctx) {
203
237
  const relatedTable = Object.values(tables).find(
204
238
  table => table._id === schema.tableId
205
239
  )
206
- const relatedColumnName = schema.fieldName
207
- const relationType = schema.relationshipType
240
+ if (!relatedTable) {
241
+ continue
242
+ }
243
+ const relatedColumnName = schema.fieldName!
244
+ const relationType = schema.relationshipType!
208
245
  if (relationType === RelationshipTypes.MANY_TO_MANY) {
209
246
  const junctionTable = generateManyLinkSchema(
210
247
  datasource,
@@ -244,9 +281,7 @@ exports.save = async function (ctx) {
244
281
 
245
282
  cleanupRelationships(tableToSave, tables, oldTable)
246
283
 
247
- const operation = oldTable
248
- ? DataSourceOperation.UPDATE_TABLE
249
- : DataSourceOperation.CREATE_TABLE
284
+ const operation = oldTable ? Operation.UPDATE_TABLE : Operation.CREATE_TABLE
250
285
  await makeTableRequest(
251
286
  datasource,
252
287
  operation,
@@ -258,9 +293,7 @@ exports.save = async function (ctx) {
258
293
  // update any extra tables (like foreign keys in other tables)
259
294
  for (let extraTable of extraTablesToUpdate) {
260
295
  const oldExtraTable = oldTables[extraTable.name]
261
- let op = oldExtraTable
262
- ? DataSourceOperation.UPDATE_TABLE
263
- : DataSourceOperation.CREATE_TABLE
296
+ let op = oldExtraTable ? Operation.UPDATE_TABLE : Operation.CREATE_TABLE
264
297
  await makeTableRequest(datasource, op, extraTable, tables, oldExtraTable)
265
298
  }
266
299
 
@@ -280,18 +313,20 @@ exports.save = async function (ctx) {
280
313
  return tableToSave
281
314
  }
282
315
 
283
- exports.destroy = async function (ctx) {
284
- const tableToDelete = await sdk.tables.getTable(ctx.params.tableId)
316
+ export async function destroy(ctx: BBContext) {
317
+ const tableToDelete: TableRequest = await sdk.tables.getTable(
318
+ ctx.params.tableId
319
+ )
285
320
  if (!tableToDelete || !tableToDelete.created) {
286
321
  ctx.throw(400, "Cannot delete tables which weren't created in Budibase.")
287
322
  }
288
323
  const datasourceId = getDatasourceId(tableToDelete)
289
324
 
290
- const db = getAppDB()
325
+ const db = context.getAppDB()
291
326
  const datasource = await db.get(datasourceId)
292
327
  const tables = datasource.entities
293
328
 
294
- const operation = DataSourceOperation.DELETE_TABLE
329
+ const operation = Operation.DELETE_TABLE
295
330
  await makeTableRequest(datasource, operation, tableToDelete, tables)
296
331
 
297
332
  cleanupRelationships(tableToDelete, tables)
@@ -302,7 +337,7 @@ exports.destroy = async function (ctx) {
302
337
  return tableToDelete
303
338
  }
304
339
 
305
- exports.bulkImport = async function (ctx) {
340
+ export async function bulkImport(ctx: BBContext) {
306
341
  const table = await sdk.tables.getTable(ctx.params.tableId)
307
342
  const { dataImport } = ctx.request.body
308
343
  if (!dataImport || !dataImport.schema || !dataImport.csvString) {
@@ -1,13 +1,13 @@
1
- const internal = require("./internal")
2
- const external = require("./external")
3
- const csvParser = require("../../../utilities/csvParser")
4
- const { isExternalTable, isSQL } = require("../../../integrations/utils")
5
- const { getDatasourceParams } = require("../../../db/utils")
6
- const { getAppDB } = require("@budibase/backend-core/context")
7
- const { events } = require("@budibase/backend-core")
8
- const sdk = require("../../../sdk")
1
+ import * as internal from "./internal"
2
+ import * as external from "./external"
3
+ import csvParser from "../../../utilities/csvParser"
4
+ import { isExternalTable, isSQL } from "../../../integrations/utils"
5
+ import { getDatasourceParams } from "../../../db/utils"
6
+ import { context, events } from "@budibase/backend-core"
7
+ import { Table, BBContext } from "@budibase/types"
8
+ import sdk from "../../../sdk"
9
9
 
10
- function pickApi({ tableId, table }) {
10
+ function pickApi({ tableId, table }: { tableId?: string; table?: Table }) {
11
11
  if (table && !tableId) {
12
12
  tableId = table._id
13
13
  }
@@ -20,8 +20,8 @@ function pickApi({ tableId, table }) {
20
20
  }
21
21
 
22
22
  // covers both internal and external
23
- exports.fetch = async function (ctx) {
24
- const db = getAppDB()
23
+ export async function fetch(ctx: BBContext) {
24
+ const db = context.getAppDB()
25
25
 
26
26
  const internal = await sdk.tables.getAllInternalTables()
27
27
 
@@ -34,7 +34,7 @@ exports.fetch = async function (ctx) {
34
34
  const external = externalTables.rows.flatMap(tableDoc => {
35
35
  let entities = tableDoc.doc.entities
36
36
  if (entities) {
37
- return Object.values(entities).map(entity => ({
37
+ return Object.values(entities).map((entity: any) => ({
38
38
  ...entity,
39
39
  type: "external",
40
40
  sourceId: tableDoc.doc._id,
@@ -48,12 +48,12 @@ exports.fetch = async function (ctx) {
48
48
  ctx.body = [...internal, ...external]
49
49
  }
50
50
 
51
- exports.find = async function (ctx) {
51
+ export async function find(ctx: BBContext) {
52
52
  const tableId = ctx.params.tableId
53
53
  ctx.body = await sdk.tables.getTable(tableId)
54
54
  }
55
55
 
56
- exports.save = async function (ctx) {
56
+ export async function save(ctx: BBContext) {
57
57
  const appId = ctx.appId
58
58
  const table = ctx.request.body
59
59
  const importFormat =
@@ -74,7 +74,7 @@ exports.save = async function (ctx) {
74
74
  ctx.body = savedTable
75
75
  }
76
76
 
77
- exports.destroy = async function (ctx) {
77
+ export async function destroy(ctx: BBContext) {
78
78
  const appId = ctx.appId
79
79
  const tableId = ctx.params.tableId
80
80
  const deletedTable = await pickApi({ tableId }).destroy(ctx)
@@ -86,7 +86,7 @@ exports.destroy = async function (ctx) {
86
86
  ctx.body = { message: `Table ${tableId} deleted.` }
87
87
  }
88
88
 
89
- exports.bulkImport = async function (ctx) {
89
+ export async function bulkImport(ctx: BBContext) {
90
90
  const tableId = ctx.params.tableId
91
91
  await pickApi({ tableId }).bulkImport(ctx)
92
92
  // right now we don't trigger anything for bulk import because it
@@ -96,7 +96,7 @@ exports.bulkImport = async function (ctx) {
96
96
  ctx.body = { message: `Bulk rows created.` }
97
97
  }
98
98
 
99
- exports.validateCSVSchema = async function (ctx) {
99
+ export async function validateCSVSchema(ctx: BBContext) {
100
100
  // tableId being specified means its an import to an existing table
101
101
  const { csvString, schema = {}, tableId } = ctx.request.body
102
102
  let existingTable
@@ -133,7 +133,7 @@ export async function save(ctx: any) {
133
133
  tableToSave._rev = result.rev
134
134
  }
135
135
  // has to run after, make sure it has _id
136
- await runStaticFormulaChecks(tableToSave, { oldTable, deletion: null })
136
+ await runStaticFormulaChecks(tableToSave, { oldTable, deletion: false })
137
137
  return tableToSave
138
138
  }
139
139
 
@@ -176,7 +176,6 @@ export async function destroy(ctx: any) {
176
176
 
177
177
  // has to run after, make sure it has _id
178
178
  await runStaticFormulaChecks(tableToDelete, {
179
- oldTable: null,
180
179
  deletion: true,
181
180
  })
182
181
  await cleanupAttachments(tableToDelete, {