@budibase/server 2.1.32-alpha.1 → 2.1.32-alpha.11

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 (601) hide show
  1. package/builder/assets/{index.7176fd99.css → index.144dddb2.css} +1 -1
  2. package/builder/assets/{index.24cb0a61.js → index.49779794.js} +283 -283
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +3723 -3691
  5. package/coverage/coverage-final.json +113 -108
  6. package/coverage/lcov-report/index.html +170 -155
  7. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +1 -1
  8. package/coverage/lcov-report/src/api/controllers/{apikeys.js.html → apikeys.ts.html} +19 -19
  9. package/coverage/lcov-report/src/api/controllers/application.ts.html +70 -13
  10. package/coverage/lcov-report/src/api/controllers/auth.ts.html +3 -3
  11. package/coverage/lcov-report/src/api/controllers/{automation.js.html → automation.ts.html} +68 -68
  12. package/coverage/lcov-report/src/api/controllers/backup.ts.html +1 -1
  13. package/coverage/lcov-report/src/api/controllers/{cloud.js.html → cloud.ts.html} +40 -40
  14. package/coverage/lcov-report/src/api/controllers/component.ts.html +6 -3
  15. package/coverage/lcov-report/src/api/controllers/{datasource.js.html → datasource.ts.html} +239 -80
  16. package/coverage/lcov-report/src/api/controllers/deploy/{Deployment.js.html → Deployment.ts.html} +30 -21
  17. package/coverage/lcov-report/src/api/controllers/deploy/index.html +6 -6
  18. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +1 -1
  19. package/coverage/lcov-report/src/api/controllers/dev.ts.html +1 -1
  20. package/coverage/lcov-report/src/api/controllers/index.html +120 -120
  21. package/coverage/lcov-report/src/api/controllers/integration.js.html +1 -1
  22. package/coverage/lcov-report/src/api/controllers/{layout.js.html → layout.ts.html} +19 -19
  23. package/coverage/lcov-report/src/api/controllers/{metadata.js.html → metadata.ts.html} +19 -16
  24. package/coverage/lcov-report/src/api/controllers/migrations.js.html +1 -1
  25. package/coverage/lcov-report/src/api/controllers/{permission.js.html → permission.ts.html} +73 -64
  26. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +1 -1
  27. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +1 -1
  28. package/coverage/lcov-report/src/api/controllers/plugin/index.html +11 -11
  29. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +10 -13
  30. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +1 -1
  31. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +1 -1
  32. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +1 -1
  33. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +1 -1
  34. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +1 -1
  35. package/coverage/lcov-report/src/api/controllers/public/index.html +1 -1
  36. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +1 -1
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +1 -1
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +1 -1
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +1 -1
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +1 -1
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +1 -1
  43. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +1 -1
  44. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +1 -1
  45. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +3 -3
  46. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +1 -1
  47. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +1 -1
  48. package/coverage/lcov-report/src/api/controllers/query/import/index.html +11 -11
  49. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +8 -11
  50. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +1 -1
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +1 -1
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +1 -1
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +1 -1
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +1 -1
  57. package/coverage/lcov-report/src/api/controllers/query/index.html +2 -2
  58. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +1 -1
  59. package/coverage/lcov-report/src/api/controllers/query/{validation.js.html → validation.ts.html} +10 -10
  60. package/coverage/lcov-report/src/api/controllers/{role.js.html → role.ts.html} +37 -49
  61. package/coverage/lcov-report/src/api/controllers/{routing.js.html → routing.ts.html} +58 -49
  62. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +6 -18
  63. package/coverage/lcov-report/src/api/controllers/row/external.js.html +4 -4
  64. package/coverage/lcov-report/src/api/controllers/row/index.html +35 -35
  65. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +1 -1
  66. package/coverage/lcov-report/src/api/controllers/row/internal.js.html +17 -20
  67. package/coverage/lcov-report/src/api/controllers/row/{internalSearch.js.html → internalSearch.ts.html} +175 -103
  68. package/coverage/lcov-report/src/api/controllers/row/{staticFormula.js.html → staticFormula.ts.html} +62 -47
  69. package/coverage/lcov-report/src/api/controllers/row/{utils.js.html → utils.ts.html} +57 -36
  70. package/coverage/lcov-report/src/api/controllers/screen.ts.html +29 -17
  71. package/coverage/lcov-report/src/api/controllers/{script.js.html → script.ts.html} +10 -7
  72. package/coverage/lcov-report/src/api/controllers/static/index.html +10 -10
  73. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +15 -27
  74. package/coverage/lcov-report/src/api/controllers/table/{bulkFormula.js.html → bulkFormula.ts.html} +89 -47
  75. package/coverage/lcov-report/src/api/controllers/table/{external.js.html → external.ts.html} +192 -87
  76. package/coverage/lcov-report/src/api/controllers/table/index.html +41 -41
  77. package/coverage/lcov-report/src/api/controllers/table/{index.js.html → index.ts.html} +28 -28
  78. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +3 -6
  79. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +56 -41
  80. package/coverage/lcov-report/src/api/controllers/{templates.js.html → templates.ts.html} +27 -18
  81. package/coverage/lcov-report/src/api/controllers/{user.js.html → user.ts.html} +72 -78
  82. package/coverage/lcov-report/src/api/controllers/view/{exporters.js.html → exporters.ts.html} +13 -7
  83. package/coverage/lcov-report/src/api/controllers/view/index.html +21 -21
  84. package/coverage/lcov-report/src/api/controllers/view/{index.js.html → index.ts.html} +68 -41
  85. package/coverage/lcov-report/src/api/controllers/view/{utils.js.html → utils.ts.html} +54 -36
  86. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.js.html +1 -1
  87. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +1 -1
  88. package/coverage/lcov-report/src/api/index.html +14 -14
  89. package/coverage/lcov-report/src/api/{index.js.html → index.ts.html} +28 -49
  90. package/coverage/lcov-report/src/api/routes/{analytics.js.html → analytics.ts.html} +7 -7
  91. package/coverage/lcov-report/src/api/routes/{apikeys.js.html → apikeys.ts.html} +11 -11
  92. package/coverage/lcov-report/src/api/routes/application.ts.html +35 -11
  93. package/coverage/lcov-report/src/api/routes/auth.ts.html +3 -3
  94. package/coverage/lcov-report/src/api/routes/{automation.js.html → automation.ts.html} +41 -35
  95. package/coverage/lcov-report/src/api/routes/backup.ts.html +18 -6
  96. package/coverage/lcov-report/src/api/routes/{deploy.js.html → cloud.ts.html} +18 -15
  97. package/coverage/lcov-report/src/api/routes/{component.js.html → component.ts.html} +10 -10
  98. package/coverage/lcov-report/src/api/routes/{datasource.js.html → datasource.ts.html} +53 -26
  99. package/coverage/lcov-report/src/api/routes/deploy.ts.html +148 -0
  100. package/coverage/lcov-report/src/api/routes/{dev.js.html → dev.ts.html} +54 -18
  101. package/coverage/lcov-report/src/api/routes/index.html +41 -41
  102. package/coverage/lcov-report/src/api/routes/index.ts.html +3 -3
  103. package/coverage/lcov-report/src/api/routes/integration.ts.html +133 -0
  104. package/coverage/lcov-report/src/api/routes/{layout.js.html → layout.ts.html} +11 -11
  105. package/coverage/lcov-report/src/api/routes/{metadata.js.html → metadata.ts.html} +17 -17
  106. package/coverage/lcov-report/src/api/routes/{migrations.js.html → migrations.ts.html} +12 -12
  107. package/coverage/lcov-report/src/api/routes/{permission.js.html → permission.ts.html} +41 -17
  108. package/coverage/lcov-report/src/api/routes/plugin.ts.html +32 -8
  109. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +1 -1
  110. package/coverage/lcov-report/src/api/routes/public/index.html +1 -1
  111. package/coverage/lcov-report/src/api/routes/public/index.ts.html +1 -1
  112. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +1 -1
  113. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +1 -1
  114. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +1 -1
  115. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +1 -1
  116. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +1 -1
  117. package/coverage/lcov-report/src/api/routes/public/users.ts.html +1 -1
  118. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +1 -1
  119. package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
  120. package/coverage/lcov-report/src/api/routes/{query.js.html → query.ts.html} +24 -33
  121. package/coverage/lcov-report/src/{utilities/routing/index.js.html → api/routes/role.ts.html} +32 -35
  122. package/coverage/lcov-report/src/api/routes/{routing.js.html → routing.ts.html} +10 -10
  123. package/coverage/lcov-report/src/api/routes/row.ts.html +8 -14
  124. package/coverage/lcov-report/src/api/routes/{screen.js.html → screen.ts.html} +29 -14
  125. package/coverage/lcov-report/src/api/routes/{script.js.html → script.ts.html} +10 -10
  126. package/coverage/lcov-report/src/api/routes/static.ts.html +9 -18
  127. package/coverage/lcov-report/src/api/routes/{table.js.html → table.ts.html} +16 -25
  128. package/coverage/lcov-report/src/api/routes/{templates.js.html → templates.ts.html} +11 -11
  129. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +12 -18
  130. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +10 -10
  131. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +1 -1
  132. package/coverage/lcov-report/src/api/routes/{user.js.html → user.ts.html} +14 -20
  133. package/coverage/lcov-report/src/api/routes/utils/index.html +6 -6
  134. package/coverage/lcov-report/src/api/routes/utils/{validators.js.html → validators.ts.html} +39 -51
  135. package/coverage/lcov-report/src/api/routes/{view.js.html → view.ts.html} +33 -24
  136. package/coverage/lcov-report/src/api/routes/webhook.ts.html +3 -3
  137. package/coverage/lcov-report/src/app.ts.html +9 -12
  138. package/coverage/lcov-report/src/automations/actions.js.html +1 -1
  139. package/coverage/lcov-report/src/automations/automationUtils.js.html +1 -1
  140. package/coverage/lcov-report/src/automations/bullboard.js.html +1 -1
  141. package/coverage/lcov-report/src/automations/index.html +10 -10
  142. package/coverage/lcov-report/src/automations/index.js.html +1 -1
  143. package/coverage/lcov-report/src/automations/logging/index.html +1 -1
  144. package/coverage/lcov-report/src/automations/logging/index.ts.html +1 -1
  145. package/coverage/lcov-report/src/automations/steps/bash.js.html +1 -1
  146. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +1 -1
  147. package/coverage/lcov-report/src/automations/steps/delay.js.html +1 -1
  148. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +1 -1
  149. package/coverage/lcov-report/src/automations/steps/discord.js.html +1 -1
  150. package/coverage/lcov-report/src/automations/steps/executeQuery.js.html +1 -1
  151. package/coverage/lcov-report/src/automations/steps/executeScript.js.html +1 -1
  152. package/coverage/lcov-report/src/automations/steps/filter.js.html +1 -1
  153. package/coverage/lcov-report/src/automations/steps/index.html +1 -1
  154. package/coverage/lcov-report/src/automations/steps/integromat.js.html +1 -1
  155. package/coverage/lcov-report/src/automations/steps/loop.js.html +1 -1
  156. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.js.html +1 -1
  157. package/coverage/lcov-report/src/automations/steps/queryRows.js.html +1 -1
  158. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.js.html +1 -1
  159. package/coverage/lcov-report/src/automations/steps/serverLog.js.html +1 -1
  160. package/coverage/lcov-report/src/automations/steps/slack.js.html +1 -1
  161. package/coverage/lcov-report/src/automations/steps/updateRow.js.html +1 -1
  162. package/coverage/lcov-report/src/automations/steps/utils.js.html +1 -1
  163. package/coverage/lcov-report/src/automations/steps/zapier.js.html +1 -1
  164. package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
  165. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +1 -1
  166. package/coverage/lcov-report/src/automations/triggerInfo/app.js.html +1 -1
  167. package/coverage/lcov-report/src/automations/triggerInfo/cron.js.html +1 -1
  168. package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
  169. package/coverage/lcov-report/src/automations/triggerInfo/index.js.html +1 -1
  170. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.js.html +1 -1
  171. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.js.html +1 -1
  172. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.js.html +1 -1
  173. package/coverage/lcov-report/src/automations/triggerInfo/webhook.js.html +1 -1
  174. package/coverage/lcov-report/src/automations/triggers.js.html +11 -14
  175. package/coverage/lcov-report/src/automations/utils.ts.html +1 -1
  176. package/coverage/lcov-report/src/constants/index.html +5 -5
  177. package/coverage/lcov-report/src/constants/index.js.html +7 -13
  178. package/coverage/lcov-report/src/constants/layouts.js.html +1 -1
  179. package/coverage/lcov-report/src/constants/screens.js.html +3 -3
  180. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.js.html +2023 -0
  181. package/coverage/lcov-report/src/db/defaultData/employeeImport.js.html +541 -0
  182. package/coverage/lcov-report/src/db/defaultData/expensesImport.js.html +427 -0
  183. package/coverage/lcov-report/src/db/defaultData/index.html +176 -0
  184. package/coverage/lcov-report/src/db/defaultData/inventoryImport.js.html +403 -0
  185. package/coverage/lcov-report/src/db/defaultData/jobsImport.js.html +559 -0
  186. package/coverage/lcov-report/src/db/dynamoClient.js.html +1 -1
  187. package/coverage/lcov-report/src/db/inMemoryView.js.html +4 -4
  188. package/coverage/lcov-report/src/db/index.html +1 -1
  189. package/coverage/lcov-report/src/db/index.js.html +1 -1
  190. package/coverage/lcov-report/src/db/linkedRows/LinkController.js.html +13 -151
  191. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.js.html +226 -0
  192. package/coverage/lcov-report/src/db/linkedRows/index.html +28 -13
  193. package/coverage/lcov-report/src/db/linkedRows/index.js.html +3 -3
  194. package/coverage/lcov-report/src/db/linkedRows/linkUtils.js.html +4 -4
  195. package/coverage/lcov-report/src/db/newid.js.html +1 -1
  196. package/coverage/lcov-report/src/db/utils.ts.html +3 -3
  197. package/coverage/lcov-report/src/definitions/automations.ts.html +1 -1
  198. package/coverage/lcov-report/src/definitions/datasource.ts.html +1 -1
  199. package/coverage/lcov-report/src/definitions/index.html +1 -1
  200. package/coverage/lcov-report/src/environment.js.html +1 -1
  201. package/coverage/lcov-report/src/events/AutomationEmitter.js.html +1 -1
  202. package/coverage/lcov-report/src/events/index.html +1 -1
  203. package/coverage/lcov-report/src/events/index.js.html +1 -1
  204. package/coverage/lcov-report/src/events/utils.js.html +1 -1
  205. package/coverage/lcov-report/src/index.html +17 -32
  206. package/coverage/lcov-report/src/index.ts.html +1 -1
  207. package/coverage/lcov-report/src/integrations/airtable.ts.html +1 -1
  208. package/coverage/lcov-report/src/integrations/arangodb.ts.html +1 -1
  209. package/coverage/lcov-report/src/integrations/base/index.html +1 -1
  210. package/coverage/lcov-report/src/integrations/base/query.ts.html +1 -1
  211. package/coverage/lcov-report/src/integrations/base/sql.ts.html +2 -2
  212. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +2 -2
  213. package/coverage/lcov-report/src/integrations/base/utils.ts.html +1 -1
  214. package/coverage/lcov-report/src/integrations/couchdb.ts.html +1 -1
  215. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +1 -1
  216. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +1 -1
  217. package/coverage/lcov-report/src/integrations/firebase.ts.html +1 -1
  218. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +1 -1
  219. package/coverage/lcov-report/src/integrations/index.html +4 -4
  220. package/coverage/lcov-report/src/integrations/index.ts.html +58 -46
  221. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1 -1
  222. package/coverage/lcov-report/src/integrations/mongodb.ts.html +1 -1
  223. package/coverage/lcov-report/src/integrations/mysql.ts.html +1 -1
  224. package/coverage/lcov-report/src/integrations/oracle.ts.html +1 -1
  225. package/coverage/lcov-report/src/integrations/postgres.ts.html +1 -1
  226. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  227. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +1 -1
  228. package/coverage/lcov-report/src/integrations/redis.ts.html +1 -1
  229. package/coverage/lcov-report/src/integrations/rest.ts.html +1 -1
  230. package/coverage/lcov-report/src/integrations/s3.ts.html +1 -1
  231. package/coverage/lcov-report/src/integrations/snowflake.ts.html +1 -1
  232. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  233. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  234. package/coverage/lcov-report/src/integrations/utils.ts.html +1 -1
  235. package/coverage/lcov-report/src/middleware/appInfo.ts.html +1 -1
  236. package/coverage/lcov-report/src/middleware/authorized.ts.html +30 -51
  237. package/coverage/lcov-report/src/middleware/builder.ts.html +1 -1
  238. package/coverage/lcov-report/src/middleware/currentapp.ts.html +1 -1
  239. package/coverage/lcov-report/src/middleware/index.html +10 -10
  240. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
  241. package/coverage/lcov-report/src/middleware/publicApi.ts.html +1 -1
  242. package/coverage/lcov-report/src/middleware/resourceId.ts.html +1 -1
  243. package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
  244. package/coverage/lcov-report/src/middleware/utils.ts.html +1 -1
  245. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +3 -3
  246. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +1 -1
  247. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +1 -1
  248. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
  249. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +1 -1
  250. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +1 -1
  251. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +1 -1
  252. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +1 -1
  253. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +1 -1
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +1 -1
  255. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +1 -1
  256. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  257. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +1 -1
  258. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +1 -1
  259. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +1 -1
  260. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  261. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +1 -1
  262. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +1 -1
  263. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  264. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +1 -1
  265. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +9 -9
  266. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +1 -1
  267. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +7 -10
  268. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +1 -1
  269. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -10
  270. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  271. package/coverage/lcov-report/src/migrations/index.html +1 -1
  272. package/coverage/lcov-report/src/migrations/index.ts.html +1 -1
  273. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  274. package/coverage/lcov-report/src/migrations/tests/index.html +1 -1
  275. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  276. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  277. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +1 -1
  278. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +1 -1
  279. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +1 -1
  280. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +16 -10
  281. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +9 -21
  282. package/coverage/lcov-report/src/sdk/app/backups/index.html +16 -16
  283. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +1 -1
  284. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +1 -1
  285. package/coverage/lcov-report/src/sdk/app/tables/index.html +5 -5
  286. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +4 -4
  287. package/coverage/lcov-report/src/sdk/index.html +1 -1
  288. package/coverage/lcov-report/src/sdk/index.ts.html +1 -1
  289. package/coverage/lcov-report/src/startup.ts.html +3 -3
  290. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +61 -49
  291. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +1 -1
  292. package/coverage/lcov-report/src/tests/utilities/index.html +15 -15
  293. package/coverage/lcov-report/src/tests/utilities/index.js.html +1 -1
  294. package/coverage/lcov-report/src/tests/utilities/structures.js.html +9 -12
  295. package/coverage/lcov-report/src/threads/automation.ts.html +20 -23
  296. package/coverage/lcov-report/src/threads/index.html +24 -24
  297. package/coverage/lcov-report/src/threads/index.ts.html +1 -1
  298. package/coverage/lcov-report/src/threads/query.ts.html +18 -33
  299. package/coverage/lcov-report/src/threads/utils.ts.html +10 -13
  300. package/coverage/lcov-report/src/utilities/{budibaseDir.js.html → budibaseDir.ts.html} +5 -5
  301. package/coverage/lcov-report/src/utilities/centralPath.js.html +1 -1
  302. package/coverage/lcov-report/src/utilities/csvParser.js.html +1 -1
  303. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +13 -13
  304. package/coverage/lcov-report/src/utilities/fileSystem/index.html +5 -20
  305. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +15 -15
  306. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +1 -1
  307. package/coverage/lcov-report/src/utilities/global.ts.html +1 -1
  308. package/coverage/lcov-report/src/utilities/index.html +44 -44
  309. package/coverage/lcov-report/src/utilities/{index.js.html → index.ts.html} +70 -46
  310. package/coverage/lcov-report/src/utilities/plugins.js.html +1 -1
  311. package/coverage/lcov-report/src/utilities/queue/inMemoryQueue.js.html +1 -1
  312. package/coverage/lcov-report/src/utilities/queue/index.html +1 -1
  313. package/coverage/lcov-report/src/utilities/{redis.js.html → redis.ts.html} +36 -33
  314. package/coverage/lcov-report/src/utilities/routing/index.html +6 -6
  315. package/coverage/lcov-report/src/utilities/routing/index.ts.html +181 -0
  316. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +38 -23
  317. package/coverage/lcov-report/src/utilities/rowProcessor/{index.js.html → index.ts.html} +106 -337
  318. package/coverage/lcov-report/src/utilities/rowProcessor/map.js.html +370 -0
  319. package/coverage/lcov-report/src/utilities/rowProcessor/{utils.js.html → utils.ts.html} +43 -31
  320. package/coverage/lcov-report/src/utilities/scriptRunner.js.html +1 -1
  321. package/coverage/lcov-report/src/utilities/{security.js.html → security.ts.html} +49 -67
  322. package/coverage/lcov-report/src/utilities/statusCodes.js.html +1 -1
  323. package/coverage/lcov-report/src/utilities/usageQuota/index.html +18 -18
  324. package/coverage/lcov-report/src/utilities/usageQuota/{rows.js.html → rows.ts.html} +27 -39
  325. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  326. package/coverage/lcov-report/src/utilities/{users.js.html → users.ts.html} +22 -28
  327. package/coverage/lcov-report/src/utilities/{workerRequests.js.html → workerRequests.ts.html} +69 -54
  328. package/coverage/lcov-report/src/watch.ts.html +8 -11
  329. package/coverage/lcov-report/src/websocket.ts.html +1 -1
  330. package/coverage/lcov.info +6619 -6700
  331. package/dist/api/controllers/apikeys.js +12 -9
  332. package/dist/api/controllers/application.js +13 -2
  333. package/dist/api/controllers/automation.js +104 -84
  334. package/dist/api/controllers/cloud.js +84 -71
  335. package/dist/api/controllers/component.js +4 -2
  336. package/dist/api/controllers/datasource.js +144 -92
  337. package/dist/api/controllers/deploy/Deployment.js +10 -6
  338. package/dist/api/controllers/layout.js +18 -15
  339. package/dist/api/controllers/metadata.js +51 -37
  340. package/dist/api/controllers/permission.js +52 -43
  341. package/dist/api/controllers/plugin/index.js +6 -7
  342. package/dist/api/controllers/public/tables.js +29 -9
  343. package/dist/api/controllers/query/import/index.js +1 -2
  344. package/dist/api/controllers/query/validation.js +41 -33
  345. package/dist/api/controllers/role.js +29 -27
  346. package/dist/api/controllers/routing.js +71 -58
  347. package/dist/api/controllers/row/ExternalRequest.js +6 -7
  348. package/dist/api/controllers/row/external.js +3 -3
  349. package/dist/api/controllers/row/internal.js +11 -12
  350. package/dist/api/controllers/row/internalSearch.js +95 -80
  351. package/dist/api/controllers/row/staticFormula.js +85 -75
  352. package/dist/api/controllers/row/utils.js +118 -84
  353. package/dist/api/controllers/screen.js +81 -66
  354. package/dist/api/controllers/script.js +13 -6
  355. package/dist/api/controllers/static/index.js +9 -11
  356. package/dist/api/controllers/table/bulkFormula.js +47 -35
  357. package/dist/api/controllers/table/external.js +67 -54
  358. package/dist/api/controllers/table/index.js +66 -33
  359. package/dist/api/controllers/table/internal.js +1 -2
  360. package/dist/api/controllers/table/utils.js +39 -35
  361. package/dist/api/controllers/templates.js +17 -10
  362. package/dist/api/controllers/user.js +82 -70
  363. package/dist/api/controllers/view/exporters.js +8 -4
  364. package/dist/api/controllers/view/index.js +201 -153
  365. package/dist/api/controllers/view/utils.js +151 -121
  366. package/dist/api/index.js +38 -34
  367. package/dist/api/routes/analytics.js +29 -3
  368. package/dist/api/routes/apikeys.js +33 -7
  369. package/dist/api/routes/application.js +8 -9
  370. package/dist/api/routes/auth.js +1 -2
  371. package/dist/api/routes/automation.js +46 -20
  372. package/dist/api/routes/backup.js +3 -4
  373. package/dist/api/routes/cloud.js +32 -6
  374. package/dist/api/routes/component.js +32 -6
  375. package/dist/api/routes/datasource.js +39 -13
  376. package/dist/api/routes/deploy.js +34 -8
  377. package/dist/api/routes/dev.js +36 -10
  378. package/dist/api/routes/integration.js +10 -7
  379. package/dist/api/routes/layout.js +33 -7
  380. package/dist/api/routes/metadata.js +36 -10
  381. package/dist/api/routes/migrations.js +32 -6
  382. package/dist/api/routes/permission.js +38 -12
  383. package/dist/api/routes/plugin.js +5 -5
  384. package/dist/api/routes/query.js +42 -15
  385. package/dist/api/routes/role.js +36 -10
  386. package/dist/api/routes/routing.js +32 -6
  387. package/dist/api/routes/row.js +2 -1
  388. package/dist/api/routes/screen.js +35 -9
  389. package/dist/api/routes/script.js +32 -6
  390. package/dist/api/routes/static.js +9 -9
  391. package/dist/api/routes/table.js +40 -13
  392. package/dist/api/routes/templates.js +33 -7
  393. package/dist/api/routes/tests/utilities/TestFunctions.js +6 -8
  394. package/dist/api/routes/user.js +40 -13
  395. package/dist/api/routes/utils/validators.js +142 -126
  396. package/dist/api/routes/view.js +38 -12
  397. package/dist/api/routes/webhook.js +1 -2
  398. package/dist/app.js +3 -4
  399. package/dist/automations/triggers.js +5 -6
  400. package/dist/constants/index.js +3 -5
  401. package/dist/constants/screens.js +2 -2
  402. package/dist/db/defaultData/datasource_bb_default.js +565 -0
  403. package/dist/db/defaultData/employeeImport.js +153 -0
  404. package/dist/db/defaultData/expensesImport.js +115 -0
  405. package/dist/db/defaultData/inventoryImport.js +107 -0
  406. package/dist/db/defaultData/jobsImport.js +150 -0
  407. package/dist/db/inMemoryView.js +3 -3
  408. package/dist/db/linkedRows/LinkController.js +4 -31
  409. package/dist/db/linkedRows/LinkDocument.js +32 -0
  410. package/dist/db/linkedRows/index.js +2 -2
  411. package/dist/db/linkedRows/linkUtils.js +3 -3
  412. package/dist/db/utils.js +1 -1
  413. package/dist/db/views/staticViews.js +4 -4
  414. package/dist/integrations/index.js +15 -6
  415. package/dist/middleware/authorized.js +22 -21
  416. package/dist/migrations/functions/appUrls.js +2 -2
  417. package/dist/migrations/functions/usageQuotas/syncApps.js +3 -4
  418. package/dist/migrations/functions/usageQuotas/syncRows.js +3 -4
  419. package/dist/migrations/functions/userEmailViewCasing.js +3 -3
  420. package/dist/package.json +6 -6
  421. package/dist/sdk/app/backups/exports.js +1 -2
  422. package/dist/sdk/app/backups/imports.js +2 -3
  423. package/dist/sdk/app/tables/index.js +1 -1
  424. package/dist/startup.js +4 -4
  425. package/dist/tests/utilities/TestConfiguration.js +27 -35
  426. package/dist/tests/utilities/structures.js +3 -4
  427. package/dist/threads/automation.js +15 -16
  428. package/dist/threads/query.js +17 -19
  429. package/dist/threads/utils.js +11 -9
  430. package/dist/tsconfig.build.tsbuildinfo +1 -1
  431. package/dist/utilities/budibaseDir.js +4 -2
  432. package/dist/utilities/fileSystem/clientLibrary.js +12 -12
  433. package/dist/utilities/fileSystem/index.js +3 -3
  434. package/dist/utilities/index.js +102 -75
  435. package/dist/utilities/redis.js +100 -65
  436. package/dist/utilities/routing/index.js +27 -23
  437. package/dist/utilities/rowProcessor/index.js +124 -191
  438. package/dist/utilities/rowProcessor/map.js +96 -0
  439. package/dist/utilities/rowProcessor/utils.js +35 -26
  440. package/dist/utilities/security.js +39 -35
  441. package/dist/utilities/usageQuota/rows.js +56 -49
  442. package/dist/utilities/users.js +31 -28
  443. package/dist/utilities/workerRequests.js +115 -82
  444. package/dist/watch.js +1 -2
  445. package/package.json +7 -7
  446. package/scripts/exportAppTemplate.js +2 -2
  447. package/src/api/controllers/{apikeys.js → apikeys.ts} +10 -10
  448. package/src/api/controllers/application.ts +22 -3
  449. package/src/api/controllers/auth.ts +2 -2
  450. package/src/api/controllers/{automation.js → automation.ts} +48 -48
  451. package/src/api/controllers/{cloud.js → cloud.ts} +24 -24
  452. package/src/api/controllers/component.ts +2 -1
  453. package/src/api/controllers/{datasource.js → datasource.ts} +100 -47
  454. package/src/api/controllers/deploy/{Deployment.js → Deployment.ts} +13 -10
  455. package/src/api/controllers/{layout.js → layout.ts} +8 -8
  456. package/src/api/controllers/{metadata.js → metadata.ts} +11 -10
  457. package/src/api/controllers/{permission.js → permission.ts} +49 -46
  458. package/src/api/controllers/plugin/index.ts +4 -5
  459. package/src/api/controllers/public/tables.ts +2 -2
  460. package/src/api/controllers/query/import/index.ts +2 -3
  461. package/src/api/controllers/query/{validation.js → validation.ts} +7 -7
  462. package/src/api/controllers/{role.js → role.ts} +21 -25
  463. package/src/api/controllers/{routing.js → routing.ts} +37 -34
  464. package/src/api/controllers/row/ExternalRequest.ts +4 -8
  465. package/src/api/controllers/row/external.js +3 -3
  466. package/src/api/controllers/row/internal.js +11 -12
  467. package/src/api/controllers/row/{internalSearch.js → internalSearch.ts} +92 -68
  468. package/src/api/controllers/row/{staticFormula.js → staticFormula.ts} +28 -23
  469. package/src/api/controllers/row/{utils.js → utils.ts} +25 -18
  470. package/src/api/controllers/screen.ts +10 -6
  471. package/src/api/controllers/script.ts +12 -0
  472. package/src/api/controllers/static/index.ts +9 -13
  473. package/src/api/controllers/table/{bulkFormula.js → bulkFormula.ts} +39 -25
  474. package/src/api/controllers/table/{external.js → external.ts} +86 -51
  475. package/src/api/controllers/table/{index.js → index.ts} +17 -17
  476. package/src/api/controllers/table/internal.ts +1 -2
  477. package/src/api/controllers/table/utils.ts +26 -21
  478. package/src/api/controllers/{templates.js → templates.ts} +10 -7
  479. package/src/api/controllers/{user.js → user.ts} +47 -49
  480. package/src/api/controllers/view/{exporters.js → exporters.ts} +5 -3
  481. package/src/api/controllers/view/{index.js → index.ts} +36 -27
  482. package/src/api/controllers/view/{utils.js → utils.ts} +26 -20
  483. package/src/api/{index.js → index.ts} +15 -22
  484. package/src/api/routes/analytics.ts +9 -0
  485. package/src/api/routes/apikeys.ts +12 -0
  486. package/src/api/routes/application.ts +17 -9
  487. package/src/api/routes/auth.ts +2 -2
  488. package/src/api/routes/automation.ts +87 -0
  489. package/src/api/routes/backup.ts +8 -4
  490. package/src/api/routes/cloud.ts +18 -0
  491. package/src/api/routes/component.ts +14 -0
  492. package/src/api/routes/datasource.ts +60 -0
  493. package/src/api/routes/deploy.ts +21 -0
  494. package/src/api/routes/dev.ts +38 -0
  495. package/src/api/routes/integration.ts +16 -0
  496. package/src/api/routes/layout.ts +16 -0
  497. package/src/api/routes/{metadata.js → metadata.ts} +13 -13
  498. package/src/api/routes/migrations.ts +14 -0
  499. package/src/api/routes/permission.ts +41 -0
  500. package/src/api/routes/plugin.ts +14 -6
  501. package/src/api/routes/{query.js → query.ts} +17 -20
  502. package/src/api/routes/role.ts +24 -0
  503. package/src/api/routes/routing.ts +14 -0
  504. package/src/api/routes/row.ts +3 -5
  505. package/src/api/routes/screen.ts +23 -0
  506. package/src/api/routes/script.ts +10 -0
  507. package/src/api/routes/static.ts +4 -7
  508. package/src/api/routes/{table.js → table.ts} +9 -12
  509. package/src/api/routes/templates.ts +16 -0
  510. package/src/api/routes/tests/backup.spec.js +9 -1
  511. package/src/api/routes/tests/permissions.spec.js +2 -1
  512. package/src/api/routes/tests/role.spec.js +3 -5
  513. package/src/api/routes/tests/routing.spec.js +2 -1
  514. package/src/api/routes/tests/row.spec.js +3 -4
  515. package/src/api/routes/tests/user.spec.js +2 -1
  516. package/src/api/routes/tests/utilities/TestFunctions.ts +6 -8
  517. package/src/api/routes/{user.js → user.ts} +7 -9
  518. package/src/api/routes/utils/{validators.js → validators.ts} +33 -37
  519. package/src/api/routes/view.ts +34 -0
  520. package/src/api/routes/webhook.ts +2 -2
  521. package/src/app.ts +3 -4
  522. package/src/automations/triggers.js +5 -6
  523. package/src/constants/index.js +3 -5
  524. package/src/constants/screens.js +2 -2
  525. package/src/db/defaultData/datasource_bb_default.js +646 -0
  526. package/src/db/defaultData/employeeImport.js +152 -0
  527. package/src/db/defaultData/expensesImport.js +114 -0
  528. package/src/db/defaultData/inventoryImport.js +106 -0
  529. package/src/db/defaultData/jobsImport.js +158 -0
  530. package/src/db/inMemoryView.js +3 -3
  531. package/src/db/linkedRows/LinkController.js +4 -50
  532. package/src/db/linkedRows/LinkDocument.js +47 -0
  533. package/src/db/linkedRows/index.js +2 -2
  534. package/src/db/linkedRows/linkUtils.js +3 -3
  535. package/src/db/utils.ts +2 -2
  536. package/src/db/views/staticViews.js +4 -4
  537. package/src/integrations/base/sql.ts +1 -1
  538. package/src/integrations/base/sqlTable.ts +1 -1
  539. package/src/integrations/index.ts +45 -41
  540. package/src/middleware/authorized.ts +21 -28
  541. package/src/middleware/tests/authorized.spec.js +5 -6
  542. package/src/migrations/functions/appUrls.ts +2 -2
  543. package/src/migrations/functions/tests/appUrls.spec.js +4 -4
  544. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +14 -9
  545. package/src/migrations/functions/usageQuotas/syncApps.ts +3 -4
  546. package/src/migrations/functions/usageQuotas/syncRows.ts +3 -4
  547. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +7 -7
  548. package/src/migrations/functions/userEmailViewCasing.ts +3 -3
  549. package/src/sdk/app/backups/exports.ts +5 -3
  550. package/src/sdk/app/backups/imports.ts +3 -7
  551. package/src/sdk/app/tables/index.ts +1 -1
  552. package/src/startup.ts +2 -2
  553. package/src/tests/utilities/TestConfiguration.js +39 -35
  554. package/src/tests/utilities/structures.js +3 -4
  555. package/src/threads/automation.ts +14 -15
  556. package/src/threads/query.ts +11 -16
  557. package/src/threads/utils.ts +4 -5
  558. package/src/utilities/budibaseDir.ts +3 -0
  559. package/src/utilities/fileSystem/clientLibrary.js +12 -12
  560. package/src/utilities/fileSystem/index.js +8 -8
  561. package/src/utilities/{index.js → index.ts} +40 -32
  562. package/src/utilities/{redis.js → redis.ts} +21 -20
  563. package/src/utilities/routing/index.ts +32 -0
  564. package/src/utilities/rowProcessor/{index.js → index.ts} +65 -142
  565. package/src/utilities/rowProcessor/map.js +95 -0
  566. package/src/utilities/rowProcessor/{utils.js → utils.ts} +19 -15
  567. package/src/utilities/security.ts +65 -0
  568. package/src/utilities/usageQuota/{rows.js → rows.ts} +14 -18
  569. package/src/utilities/{users.js → users.ts} +11 -13
  570. package/src/utilities/{workerRequests.js → workerRequests.ts} +43 -38
  571. package/src/watch.ts +2 -3
  572. package/coverage/lcov-report/src/api/routes/cloud.js.html +0 -127
  573. package/coverage/lcov-report/src/api/routes/integration.js.html +0 -121
  574. package/coverage/lcov-report/src/api/routes/role.js.html +0 -130
  575. package/coverage/lcov-report/src/module.d.ts.html +0 -127
  576. package/coverage/lcov-report/src/utilities/fileSystem/utilities.js.html +0 -193
  577. package/dist/utilities/fileSystem/utilities.js +0 -22
  578. package/src/api/controllers/script.js +0 -11
  579. package/src/api/routes/analytics.js +0 -9
  580. package/src/api/routes/apikeys.js +0 -12
  581. package/src/api/routes/automation.js +0 -85
  582. package/src/api/routes/cloud.js +0 -14
  583. package/src/api/routes/component.js +0 -14
  584. package/src/api/routes/datasource.js +0 -51
  585. package/src/api/routes/deploy.js +0 -17
  586. package/src/api/routes/dev.js +0 -26
  587. package/src/api/routes/integration.js +0 -12
  588. package/src/api/routes/layout.js +0 -16
  589. package/src/api/routes/migrations.js +0 -14
  590. package/src/api/routes/permission.js +0 -33
  591. package/src/api/routes/role.js +0 -15
  592. package/src/api/routes/routing.js +0 -14
  593. package/src/api/routes/screen.js +0 -18
  594. package/src/api/routes/script.js +0 -10
  595. package/src/api/routes/templates.js +0 -16
  596. package/src/api/routes/view.js +0 -31
  597. package/src/module.d.ts +0 -14
  598. package/src/utilities/budibaseDir.js +0 -3
  599. package/src/utilities/fileSystem/utilities.js +0 -36
  600. package/src/utilities/routing/index.js +0 -25
  601. package/src/utilities/security.js +0 -71
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/api/controllers/script.js</title>
6
+ <title>Code coverage report for src/api/controllers/script.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../base.css" />
@@ -19,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">src/api/controllers</a> script.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> script.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -74,7 +74,9 @@
74
74
  <a name='L9'></a><a href='#L9'>9</a>
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
76
  <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
79
+ <span class="cline-any cline-neutral">&nbsp;</span>
78
80
  <span class="cline-any cline-neutral">&nbsp;</span>
79
81
  <span class="cline-any cline-yes">45x</span>
80
82
  <span class="cline-any cline-no">&nbsp;</span>
@@ -85,15 +87,16 @@
85
87
  <span class="cline-any cline-yes">45x</span>
86
88
  <span class="cline-any cline-no">&nbsp;</span>
87
89
  <span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const ScriptRunner = require("../../utilities/scriptRunner")
90
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import ScriptRunner from "../../utilities/scriptRunner"
91
+ import { BBContext } from "@budibase/types"
89
92
  &nbsp;
90
- exports.execute = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
93
+ export async function <span class="fstat-no" title="function not covered" >execute(</span>ctx: BBContext) {
91
94
  const { script, context } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
92
95
  const runner = <span class="cstat-no" title="statement not covered" >new ScriptRunner(script, context)</span>
93
96
  <span class="cstat-no" title="statement not covered" > ctx.body = runner.execute()</span>
94
97
  }
95
98
  &nbsp;
96
- exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
99
+ export async function <span class="fstat-no" title="function not covered" >save(</span>ctx: BBContext) {
97
100
  <span class="cstat-no" title="statement not covered" > ctx.throw(501, "Not currently implemented")</span>
98
101
  }
99
102
  &nbsp;</pre></td></tr></table></pre>
@@ -103,7 +106,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
103
106
  <div class='footer quiet pad2 space-top1 center small'>
104
107
  Code coverage generated by
105
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at Mon Nov 21 2022 15:55:22 GMT+0000 (Coordinated Universal Time)
109
+ at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
107
110
  </div>
108
111
  <script src="../../../prettify.js"></script>
109
112
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">64.94% </span>
26
+ <span class="strong">64.21% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>63/97</span>
28
+ <span class='fraction'>61/95</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">62.5% </span>
47
+ <span class="strong">61.62% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>55/88</span>
49
+ <span class='fraction'>53/86</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file medium" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
83
- <td data-value="64.94" class="pic medium">
83
+ <td data-value="64.21" class="pic medium">
84
84
  <div class="chart"><div class="cover-fill" style="width: 64%"></div><div class="cover-empty" style="width: 36%"></div></div>
85
85
  </td>
86
- <td data-value="64.94" class="pct medium">64.94%</td>
87
- <td data-value="97" class="abs medium">63/97</td>
86
+ <td data-value="64.21" class="pct medium">64.21%</td>
87
+ <td data-value="95" class="abs medium">61/95</td>
88
88
  <td data-value="66" class="pct medium">66%</td>
89
89
  <td data-value="50" class="abs medium">33/50</td>
90
90
  <td data-value="36.36" class="pct low">36.36%</td>
91
91
  <td data-value="11" class="abs low">4/11</td>
92
- <td data-value="62.5" class="pct medium">62.5%</td>
93
- <td data-value="88" class="abs medium">55/88</td>
92
+ <td data-value="61.62" class="pct medium">61.62%</td>
93
+ <td data-value="86" class="abs medium">53/86</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Mon Nov 21 2022 15:55:22 GMT+0000 (Coordinated Universal Time)
104
+ at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../../prettify.js"></script>
107
107
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">64.94% </span>
26
+ <span class="strong">64.21% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>63/97</span>
28
+ <span class='fraction'>61/95</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">62.5% </span>
47
+ <span class="strong">61.62% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>55/88</span>
49
+ <span class='fraction'>53/86</span>
50
50
  </div>
51
51
 
52
52
 
@@ -264,11 +264,7 @@
264
264
  <a name='L199'></a><a href='#L199'>199</a>
265
265
  <a name='L200'></a><a href='#L200'>200</a>
266
266
  <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
267
+ <a name='L202'></a><a href='#L202'>202</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
272
268
  <span class="cline-any cline-neutral">&nbsp;</span>
273
269
  <span class="cline-any cline-yes">44x</span>
274
270
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -290,10 +286,6 @@
290
286
  <span class="cline-any cline-yes">44x</span>
291
287
  <span class="cline-any cline-yes">44x</span>
292
288
  <span class="cline-any cline-yes">44x</span>
293
- <span class="cline-any cline-yes">44x</span>
294
- <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-yes">44x</span>
297
289
  <span class="cline-any cline-neutral">&nbsp;</span>
298
290
  <span class="cline-any cline-neutral">&nbsp;</span>
299
291
  <span class="cline-any cline-no">&nbsp;</span>
@@ -492,13 +484,9 @@ const { clientLibraryPath } = require("../../../utilities")
492
484
  const { upload, deleteFiles } = require("../../../utilities/fileSystem")
493
485
  const { attachmentsRelativeURL } = require("../../../utilities")
494
486
  const { DocumentType } = require("../../../db/utils")
495
- const { getAppDB, getAppId } = require("@budibase/backend-core/context")
496
- const { setCookie, clearCookie } = require("@budibase/backend-core/utils")
487
+ const { context, objectStore, utils } = require("@budibase/backend-core")
497
488
  const AWS = require("aws-sdk")
498
489
  const fs = require("fs")
499
- const {
500
- downloadTarballDirect,
501
- } = require("../../../utilities/fileSystem/utilities")
502
490
  &nbsp;
503
491
  async function <span class="fstat-no" title="function not covered" >prepareUpload(</span>{ s3Key, bucket, metadata, file }: any) {
504
492
  const response = <span class="cstat-no" title="statement not covered" >await upload({</span>
@@ -523,7 +511,7 @@ export const toggleBetaUiFeature = <span class="fstat-no" title="function not co
523
511
  const cookieName = <span class="cstat-no" title="statement not covered" >`beta:${ctx.params.feature}`</span>
524
512
  &nbsp;
525
513
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.cookies.get(cookieName)) {</span>
526
- <span class="cstat-no" title="statement not covered" > clearCookie(ctx, cookieName)</span>
514
+ <span class="cstat-no" title="statement not covered" > utils.clearCookie(ctx, cookieName)</span>
527
515
  <span class="cstat-no" title="statement not covered" > ctx.body = {</span>
528
516
  message: `${ctx.params.feature} disabled`,
529
517
  }
@@ -536,11 +524,11 @@ export const toggleBetaUiFeature = <span class="fstat-no" title="function not co
536
524
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!fs.existsSync(builderPath)) {</span>
537
525
  <span class="cstat-no" title="statement not covered" > fs.mkdirSync(builderPath)</span>
538
526
  }
539
- <span class="cstat-no" title="statement not covered" > await downloadTarballDirect(</span>
527
+ <span class="cstat-no" title="statement not covered" > await objectStore.downloadTarballDirect(</span>
540
528
  "https://cdn.budi.live/beta:design_ui/new_ui.tar.gz",
541
529
  builderPath
542
530
  )
543
- <span class="cstat-no" title="statement not covered" > setCookie(ctx, {}, cookieName)</span>
531
+ <span class="cstat-no" title="statement not covered" > utils.setCookie(ctx, {}, cookieName)</span>
544
532
  &nbsp;
545
533
  <span class="cstat-no" title="statement not covered" > ctx.body = {</span>
546
534
  message: `${ctx.params.feature} enabled`,
@@ -578,9 +566,9 @@ export const deleteObjects = <span class="fstat-no" title="function not covered"
578
566
  }
579
567
  &nbsp;
580
568
  export const serveApp = async function (ctx: any) {
581
- const db = getAppDB({ skip_setup: true })
569
+ const db = context.getAppDB({ skip_setup: true })
582
570
  const appInfo = await db.get(DocumentType.APP_METADATA)
583
- let appId = getAppId()
571
+ let appId = context.getAppId()
584
572
  &nbsp;
585
573
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!env.isJest()) {
586
574
  const App = <span class="cstat-no" title="statement not covered" >require("./templates/BudibaseApp.svelte").default</span>
@@ -609,11 +597,11 @@ export const serveApp = async function (ctx: any) {
609
597
  }
610
598
  &nbsp;
611
599
  export const serveBuilderPreview = async function (ctx: any) {
612
- const db = getAppDB({ skip_setup: true })
600
+ const db = context.getAppDB({ skip_setup: true })
613
601
  const appInfo = await db.get(DocumentType.APP_METADATA)
614
602
  &nbsp;
615
603
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!env.isJest()) {
616
- let appId = <span class="cstat-no" title="statement not covered" >getAppId()</span>
604
+ let appId = <span class="cstat-no" title="statement not covered" >context.getAppId()</span>
617
605
  const previewHbs = <span class="cstat-no" title="statement not covered" >loadHandlebarsFile(`${__dirname}/templates/preview.hbs`)</span>
618
606
  <span class="cstat-no" title="statement not covered" > ctx.body = await processString(previewHbs, {</span>
619
607
  clientLibPath: clientLibraryPath(appId, appInfo.version, ctx),
@@ -631,7 +619,7 @@ export const serveClientLibrary = <span class="fstat-no" title="function not cov
631
619
  }
632
620
  &nbsp;
633
621
  export const getSignedUploadURL = async function (ctx: any) {
634
- const database = getAppDB()
622
+ const database = context.getAppDB()
635
623
  &nbsp;
636
624
  // Ensure datasource is valid
637
625
  let datasource
@@ -685,7 +673,7 @@ export const getSignedUploadURL = async function (ctx: any) {
685
673
  <div class='footer quiet pad2 space-top1 center small'>
686
674
  Code coverage generated by
687
675
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
688
- at Mon Nov 21 2022 15:55:22 GMT+0000 (Coordinated Universal Time)
676
+ at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
689
677
  </div>
690
678
  <script src="../../../../prettify.js"></script>
691
679
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/api/controllers/table/bulkFormula.js</title>
6
+ <title>Code coverage report for src/api/controllers/table/bulkFormula.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../../base.css" />
@@ -19,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/table</a> bulkFormula.js</h1>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/api/controllers/table</a> bulkFormula.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">69.62% </span>
26
+ <span class="strong">69.51% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>55/79</span>
28
+ <span class='fraction'>57/82</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">42.1% </span>
33
+ <span class="strong">36.73% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>24/57</span>
35
+ <span class='fraction'>18/49</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">69.73% </span>
47
+ <span class="strong">69.62% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>53/76</span>
49
+ <span class='fraction'>55/79</span>
50
50
  </div>
51
51
 
52
52
 
@@ -237,13 +237,28 @@
237
237
  <a name='L172'></a><a href='#L172'>172</a>
238
238
  <a name='L173'></a><a href='#L173'>173</a>
239
239
  <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
241
255
  <span class="cline-any cline-yes">45x</span>
242
256
  <span class="cline-any cline-yes">45x</span>
243
257
  <span class="cline-any cline-yes">45x</span>
244
258
  <span class="cline-any cline-yes">45x</span>
245
259
  <span class="cline-any cline-yes">45x</span>
246
260
  <span class="cline-any cline-yes">45x</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
262
  <span class="cline-any cline-yes">45x</span>
248
263
  <span class="cline-any cline-neutral">&nbsp;</span>
249
264
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -279,6 +294,9 @@
279
294
  <span class="cline-any cline-neutral">&nbsp;</span>
280
295
  <span class="cline-any cline-neutral">&nbsp;</span>
281
296
  <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
300
  <span class="cline-any cline-yes">133x</span>
283
301
  <span class="cline-any cline-yes">308x</span>
284
302
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -294,6 +312,9 @@
294
312
  <span class="cline-any cline-yes">2x</span>
295
313
  <span class="cline-any cline-neutral">&nbsp;</span>
296
314
  <span class="cline-any cline-yes">287x</span>
315
+ <span class="cline-any cline-no">&nbsp;</span>
316
+ <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-yes">287x</span>
297
318
  <span class="cline-any cline-yes">287x</span>
298
319
  <span class="cline-any cline-no">&nbsp;</span>
299
320
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -338,6 +359,7 @@
338
359
  <span class="cline-any cline-neutral">&nbsp;</span>
339
360
  <span class="cline-any cline-neutral">&nbsp;</span>
340
361
  <span class="cline-any cline-yes">133x</span>
362
+ <span class="cline-any cline-yes">133x</span>
341
363
  <span class="cline-any cline-neutral">&nbsp;</span>
342
364
  <span class="cline-any cline-yes">133x</span>
343
365
  <span class="cline-any cline-yes">308x</span>
@@ -391,6 +413,9 @@
391
413
  <span class="cline-any cline-neutral">&nbsp;</span>
392
414
  <span class="cline-any cline-neutral">&nbsp;</span>
393
415
  <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
394
419
  <span class="cline-any cline-yes">130x</span>
395
420
  <span class="cline-any cline-neutral">&nbsp;</span>
396
421
  <span class="cline-any cline-yes">318x</span>
@@ -405,22 +430,26 @@
405
430
  <span class="cline-any cline-neutral">&nbsp;</span>
406
431
  <span class="cline-any cline-neutral">&nbsp;</span>
407
432
  <span class="cline-any cline-yes">45x</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
436
  <span class="cline-any cline-yes">133x</span>
409
437
  <span class="cline-any cline-yes">133x</span>
410
438
  <span class="cline-any cline-yes">133x</span>
411
439
  <span class="cline-any cline-yes">130x</span>
412
440
  <span class="cline-any cline-neutral">&nbsp;</span>
413
441
  <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { FieldTypes, FormulaTypes } = require("../../../constants")
415
- const { clearColumns } = require("./utils")
416
- const { doesContainStrings } = require("@budibase/string-templates")
417
- const { cloneDeep } = require("lodash/fp")
418
- const { isEqual, uniq } = require("lodash")
419
- const { updateAllFormulasInTable } = require("../row/staticFormula")
420
- const { getAppDB } = require("@budibase/backend-core/context")
421
- const sdk = require("../../../sdk")
442
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { FieldTypes, FormulaTypes } from "../../../constants"
443
+ import { clearColumns } from "./utils"
444
+ import { doesContainStrings } from "@budibase/string-templates"
445
+ import { cloneDeep } from "lodash/fp"
446
+ import { isEqual, uniq } from "lodash"
447
+ import { updateAllFormulasInTable } from "../row/staticFormula"
448
+ import { context } from "@budibase/backend-core"
449
+ import { FieldSchema, Table } from "@budibase/types"
450
+ import sdk from "../../../sdk"
422
451
  &nbsp;
423
- function isStaticFormula(column) {
452
+ function isStaticFormula(column: FieldSchema) {
424
453
  return (
425
454
  column.type === FieldTypes.FORMULA &amp;&amp;
426
455
  <span class="branch-1 cbranch-no" title="branch not covered" > column.formulaType === FormulaTypes.STATIC</span>
@@ -431,15 +460,15 @@ function isStaticFormula(column) {
431
460
  * This retrieves the formula columns from a table schema that use a specified column name
432
461
  * in the formula.
433
462
  */
434
- function getFormulaThatUseColumn(table, columnNames) {
435
- let formula = []
463
+ function getFormulaThatUseColumn(table: Table, columnNames: string[] | string) {
464
+ let formula: string[] = []
436
465
  columnNames = Array.isArray(columnNames) ? <span class="branch-0 cbranch-no" title="branch not covered" >columnNames </span>: [columnNames]
437
466
  for (let column of Object.values(table.schema)) {
438
467
  // not a static formula, or doesn't contain a relationship
439
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!isStaticFormula(column)) {
468
+ if (!isStaticFormula(column)) {
440
469
  continue
441
470
  }
442
- <span class="cstat-no" title="statement not covered" > if (!doesContainStrings(column?.formula ?? "", columnNames)) {</span>
471
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!doesContainStrings(column?.formula ?? "", columnNames)) {</span>
443
472
  <span class="cstat-no" title="statement not covered" > continue</span>
444
473
  }
445
474
  <span class="cstat-no" title="statement not covered" > formula.push(column.name)</span>
@@ -451,7 +480,10 @@ function getFormulaThatUseColumn(table, columnNames) {
451
480
  * This functions checks for when a related table, column or related column is deleted, if any
452
481
  * tables need to have the formula column removed.
453
482
  */
454
- async function checkIfFormulaNeedsCleared(table, { oldTable, deletion }) {
483
+ async function checkIfFormulaNeedsCleared(
484
+ table: Table,
485
+ { oldTable, deletion }: { oldTable?: Table; deletion?: boolean }
486
+ ) {
455
487
  // start by retrieving all tables, remove the current table from the list
456
488
  const tables = (await sdk.tables.getAllInternalTables()).filter(
457
489
  tbl =&gt; tbl._id !== table._id
@@ -462,38 +494,41 @@ async function checkIfFormulaNeedsCleared(table, { oldTable, deletion }) {
462
494
  )
463
495
  // remove any formula columns that used related columns
464
496
  for (let removed of removedColumns) {
465
- let tableToUse = table
497
+ let tableToUse: Table | undefined = table
466
498
  // if relationship, get the related table
467
499
  if (removed.type === FieldTypes.LINK) {
468
500
  tableToUse = tables.find(table =&gt; table._id === removed.tableId)
469
501
  }
502
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!tableToUse) {
503
+ <span class="cstat-no" title="statement not covered" > continue</span>
504
+ }
470
505
  const columnsToDelete = getFormulaThatUseColumn(tableToUse, removed.name)
471
506
  <span class="missing-if-branch" title="if path not taken" >I</span>if (columnsToDelete.length &gt; 0) {
472
507
  <span class="cstat-no" title="statement not covered" > await clearColumns(table, columnsToDelete)</span>
473
508
  }
474
509
  // need a special case, where a column has been removed from this table, but was used
475
510
  // in a different, related tables formula
476
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!table.relatedFormula) {
511
+ if (!table.relatedFormula) {
477
512
  continue
478
513
  }
479
514
  <span class="cstat-no" title="statement not covered" > for (let relatedTableId of table.relatedFormula) {</span>
480
515
  const relatedColumns = <span class="cstat-no" title="statement not covered" >Object.values(table.schema).filter(</span>
481
- <span class="fstat-no" title="function not covered" > co</span>lumn =&gt; <span class="cstat-no" title="statement not covered" >column.tableId === relatedTableId</span>
516
+ <span class="fstat-no" title="function not covered" > column </span>=&gt; <span class="cstat-no" title="statement not covered" >column.tableId === relatedTableId</span>
482
517
  )
483
- const relatedTable = <span class="cstat-no" title="statement not covered" >tables.find(<span class="fstat-no" title="function not covered" >ta</span>ble =&gt; <span class="cstat-no" title="statement not covered" >table._id === relatedTableId)</span></span>
518
+ const relatedTable = <span class="cstat-no" title="statement not covered" >tables.find(<span class="fstat-no" title="function not covered" >table </span>=&gt; <span class="cstat-no" title="statement not covered" >table._id === relatedTableId)</span></span>
484
519
  // look to see if the column was used in a relationship formula,
485
520
  // relationships won't be used for this
486
- <span class="cstat-no" title="statement not covered" > if (relatedTable &amp;&amp; relatedColumns &amp;&amp; removed.type !== FieldTypes.LINK) {</span>
487
- let relatedFormulaToRemove = <span class="cstat-no" title="statement not covered" >[]</span>
521
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (relatedTable &amp;&amp; relatedColumns &amp;&amp; removed.type !== FieldTypes.LINK) {</span>
522
+ let relatedFormulaToRemove: string[] = <span class="cstat-no" title="statement not covered" >[]</span>
488
523
  <span class="cstat-no" title="statement not covered" > for (let column of relatedColumns) {</span>
489
524
  <span class="cstat-no" title="statement not covered" > relatedFormulaToRemove = relatedFormulaToRemove.concat(</span>
490
525
  getFormulaThatUseColumn(relatedTable, [
491
- column.fieldName,
526
+ column.fieldName!,
492
527
  removed.name,
493
528
  ])
494
529
  )
495
530
  }
496
- <span class="cstat-no" title="statement not covered" > if (relatedFormulaToRemove.length &gt; 0) {</span>
531
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (relatedFormulaToRemove.length &gt; 0) {</span>
497
532
  <span class="cstat-no" title="statement not covered" > await clearColumns(relatedTable, uniq(relatedFormulaToRemove))</span>
498
533
  }
499
534
  }
@@ -508,13 +543,14 @@ async function checkIfFormulaNeedsCleared(table, { oldTable, deletion }) {
508
543
  * specifically only for static formula.
509
544
  */
510
545
  async function updateRelatedFormulaLinksOnTables(
511
- table,
512
- { deletion } = <span class="branch-0 cbranch-no" title="branch not covered" >{ deletion: false }</span>
546
+ table: Table,
547
+ { deletion }: { deletion?: boolean } = <span class="branch-0 cbranch-no" title="branch not covered" >{}</span>
513
548
  ) {
514
- const db = getAppDB()
549
+ const tableId: string = table._id!
550
+ const db = context.getAppDB()
515
551
  // start by retrieving all tables, remove the current table from the list
516
552
  const tables = (await sdk.tables.getAllInternalTables()).filter(
517
- tbl =&gt; tbl._id !== table._id
553
+ tbl =&gt; tbl._id !== tableId
518
554
  )
519
555
  // clone the tables, so we can compare at end
520
556
  const initialTables = cloneDeep(tables)
@@ -524,11 +560,11 @@ async function updateRelatedFormulaLinksOnTables(
524
560
  )
525
561
  // we start by removing the formula field from all tables
526
562
  for (let otherTable of tables) {
527
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!otherTable.relatedFormula) {
563
+ if (!otherTable.relatedFormula) {
528
564
  continue
529
565
  }
530
- const index = <span class="cstat-no" title="statement not covered" >otherTable.relatedFormula.indexOf(table._id)</span>
531
- <span class="cstat-no" title="statement not covered" > if (index !== -1) {</span>
566
+ const index = <span class="cstat-no" title="statement not covered" >otherTable.relatedFormula.indexOf(tableId)</span>
567
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (index !== -1) {</span>
532
568
  <span class="cstat-no" title="statement not covered" > otherTable.relatedFormula.splice(index, 1)</span>
533
569
  }
534
570
  }
@@ -536,21 +572,21 @@ async function updateRelatedFormulaLinksOnTables(
536
572
  if (!deletion) {
537
573
  for (let relatedCol of relatedColumns) {
538
574
  let columns = getFormulaThatUseColumn(table, relatedCol.name)
539
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!columns || columns.length === 0) {
575
+ if (!columns || columns.length === 0) {
540
576
  continue
541
577
  }
542
578
  const relatedTable = <span class="cstat-no" title="statement not covered" >tables.find(</span>
543
- <span class="fstat-no" title="function not covered" > re</span>lated =&gt; <span class="cstat-no" title="statement not covered" >related._id === relatedCol.tableId</span>
579
+ <span class="fstat-no" title="function not covered" > related </span>=&gt; <span class="cstat-no" title="statement not covered" >related._id === relatedCol.tableId</span>
544
580
  )
545
581
  // check if the table is already in the list of related formula, if it isn't, then add it
546
- <span class="cstat-no" title="statement not covered" > if (</span>
582
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
547
583
  relatedTable &amp;&amp;
548
584
  (!relatedTable.relatedFormula ||
549
- !relatedTable.relatedFormula.includes(table._id))
585
+ !relatedTable.relatedFormula.includes(tableId))
550
586
  ) {
551
587
  <span class="cstat-no" title="statement not covered" > relatedTable.relatedFormula = relatedTable.relatedFormula</span>
552
- ? [...relatedTable.relatedFormula, table._id]
553
- : [table._id]
588
+ ? [...relatedTable.relatedFormula, tableId]
589
+ : [tableId]
554
590
  }
555
591
  }
556
592
  }
@@ -563,7 +599,10 @@ async function updateRelatedFormulaLinksOnTables(
563
599
  }
564
600
  }
565
601
  &nbsp;
566
- async function checkIfFormulaUpdated(table, { oldTable }) {
602
+ async function checkIfFormulaUpdated(
603
+ table: Table,
604
+ { oldTable }: { oldTable?: Table }
605
+ ) {
567
606
  // look to see if any formula values have changed
568
607
  const shouldUpdate = Object.values(table.schema).find(
569
608
  column =&gt;
@@ -578,7 +617,10 @@ async function checkIfFormulaUpdated(table, { oldTable }) {
578
617
  }
579
618
  }
580
619
  &nbsp;
581
- exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) =&gt; {
620
+ export async function runStaticFormulaChecks(
621
+ table: Table,
622
+ { oldTable, deletion }: { oldTable?: Table; deletion?: boolean }
623
+ ) {
582
624
  await updateRelatedFormulaLinksOnTables(table, { deletion })
583
625
  await checkIfFormulaNeedsCleared(table, { oldTable, deletion })
584
626
  if (!deletion) {
@@ -592,7 +634,7 @@ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) =&gt; {
592
634
  <div class='footer quiet pad2 space-top1 center small'>
593
635
  Code coverage generated by
594
636
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
595
- at Mon Nov 21 2022 15:55:22 GMT+0000 (Coordinated Universal Time)
637
+ at Mon Nov 28 2022 09:18:51 GMT+0000 (Coordinated Universal Time)
596
638
  </div>
597
639
  <script src="../../../../prettify.js"></script>
598
640
  <script>