@budibase/server 2.1.22-alpha.6 → 2.1.22-alpha.8

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 (419) hide show
  1. package/__mocks__/node-fetch.ts +5 -1
  2. package/builder/assets/{index.5ec5f06c.js → index.dba40c82.js} +2 -2
  3. package/builder/index.html +1 -1
  4. package/coverage/clover.xml +1182 -1209
  5. package/coverage/coverage-final.json +35 -35
  6. package/coverage/lcov-report/index.html +94 -94
  7. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +1 -1
  8. package/coverage/lcov-report/src/api/controllers/apikeys.js.html +1 -1
  9. package/coverage/lcov-report/src/api/controllers/application.ts.html +45 -60
  10. package/coverage/lcov-report/src/api/controllers/auth.ts.html +7 -4
  11. package/coverage/lcov-report/src/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/src/api/controllers/backup.ts.html +1 -1
  13. package/coverage/lcov-report/src/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/src/api/controllers/component.ts.html +1 -1
  15. package/coverage/lcov-report/src/api/controllers/datasource.js.html +1 -1
  16. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.js.html +1 -1
  17. package/coverage/lcov-report/src/api/controllers/deploy/index.html +10 -10
  18. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +19 -55
  19. package/coverage/lcov-report/src/api/controllers/{dev.js.html → dev.ts.html} +46 -64
  20. package/coverage/lcov-report/src/api/controllers/index.html +25 -25
  21. package/coverage/lcov-report/src/api/controllers/integration.js.html +1 -1
  22. package/coverage/lcov-report/src/api/controllers/layout.js.html +1 -1
  23. package/coverage/lcov-report/src/api/controllers/metadata.js.html +1 -1
  24. package/coverage/lcov-report/src/api/controllers/migrations.js.html +1 -1
  25. package/coverage/lcov-report/src/api/controllers/permission.js.html +1 -1
  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 +1 -1
  29. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +1 -1
  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 +37 -19
  35. package/coverage/lcov-report/src/api/controllers/public/index.html +16 -16
  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 +1 -1
  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 +1 -1
  49. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +1 -1
  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 +10 -10
  58. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +17 -26
  59. package/coverage/lcov-report/src/api/controllers/query/validation.js.html +1 -1
  60. package/coverage/lcov-report/src/api/controllers/role.js.html +1 -1
  61. package/coverage/lcov-report/src/api/controllers/routing.js.html +1 -1
  62. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +1 -1
  63. package/coverage/lcov-report/src/api/controllers/row/external.js.html +1 -1
  64. package/coverage/lcov-report/src/api/controllers/row/index.html +1 -1
  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 +3 -3
  67. package/coverage/lcov-report/src/api/controllers/row/internalSearch.js.html +1 -1
  68. package/coverage/lcov-report/src/api/controllers/row/staticFormula.js.html +1 -1
  69. package/coverage/lcov-report/src/api/controllers/row/utils.js.html +1 -1
  70. package/coverage/lcov-report/src/api/controllers/screen.ts.html +1 -1
  71. package/coverage/lcov-report/src/api/controllers/script.js.html +1 -1
  72. package/coverage/lcov-report/src/api/controllers/static/index.html +1 -1
  73. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +1 -1
  74. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.js.html +1 -1
  75. package/coverage/lcov-report/src/api/controllers/table/external.js.html +1 -1
  76. package/coverage/lcov-report/src/api/controllers/table/index.html +1 -1
  77. package/coverage/lcov-report/src/api/controllers/table/index.js.html +1 -1
  78. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +1 -1
  79. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +1 -1
  80. package/coverage/lcov-report/src/api/controllers/templates.js.html +1 -1
  81. package/coverage/lcov-report/src/api/controllers/user.js.html +1 -1
  82. package/coverage/lcov-report/src/api/controllers/view/exporters.js.html +1 -1
  83. package/coverage/lcov-report/src/api/controllers/view/index.html +1 -1
  84. package/coverage/lcov-report/src/api/controllers/view/index.js.html +1 -1
  85. package/coverage/lcov-report/src/api/controllers/view/utils.js.html +1 -1
  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 +1 -1
  89. package/coverage/lcov-report/src/api/index.js.html +1 -1
  90. package/coverage/lcov-report/src/api/routes/analytics.js.html +1 -1
  91. package/coverage/lcov-report/src/api/routes/apikeys.js.html +1 -1
  92. package/coverage/lcov-report/src/api/routes/application.ts.html +1 -1
  93. package/coverage/lcov-report/src/api/routes/auth.ts.html +1 -1
  94. package/coverage/lcov-report/src/api/routes/automation.js.html +5 -5
  95. package/coverage/lcov-report/src/api/routes/backup.ts.html +1 -1
  96. package/coverage/lcov-report/src/api/routes/cloud.js.html +1 -1
  97. package/coverage/lcov-report/src/api/routes/component.js.html +1 -1
  98. package/coverage/lcov-report/src/api/routes/datasource.js.html +6 -6
  99. package/coverage/lcov-report/src/api/routes/deploy.js.html +1 -1
  100. package/coverage/lcov-report/src/api/routes/dev.js.html +1 -1
  101. package/coverage/lcov-report/src/api/routes/index.html +1 -1
  102. package/coverage/lcov-report/src/api/routes/index.ts.html +1 -1
  103. package/coverage/lcov-report/src/api/routes/integration.js.html +1 -1
  104. package/coverage/lcov-report/src/api/routes/layout.js.html +1 -1
  105. package/coverage/lcov-report/src/api/routes/metadata.js.html +1 -1
  106. package/coverage/lcov-report/src/api/routes/migrations.js.html +1 -1
  107. package/coverage/lcov-report/src/api/routes/permission.js.html +1 -1
  108. package/coverage/lcov-report/src/api/routes/plugin.ts.html +1 -1
  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 +11 -11
  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 +6 -6
  121. package/coverage/lcov-report/src/api/routes/role.js.html +1 -1
  122. package/coverage/lcov-report/src/api/routes/routing.js.html +1 -1
  123. package/coverage/lcov-report/src/api/routes/row.ts.html +13 -13
  124. package/coverage/lcov-report/src/api/routes/screen.js.html +1 -1
  125. package/coverage/lcov-report/src/api/routes/script.js.html +1 -1
  126. package/coverage/lcov-report/src/api/routes/static.ts.html +6 -6
  127. package/coverage/lcov-report/src/api/routes/table.js.html +4 -4
  128. package/coverage/lcov-report/src/api/routes/templates.js.html +1 -1
  129. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +1 -1
  130. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +1 -1
  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 +11 -11
  133. package/coverage/lcov-report/src/api/routes/utils/index.html +1 -1
  134. package/coverage/lcov-report/src/api/routes/utils/validators.js.html +6 -6
  135. package/coverage/lcov-report/src/api/routes/view.js.html +4 -4
  136. package/coverage/lcov-report/src/api/routes/webhook.ts.html +1 -1
  137. package/coverage/lcov-report/src/app.ts.html +1 -1
  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 +15 -15
  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 +17 -17
  165. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +33 -15
  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 +1 -1
  175. package/coverage/lcov-report/src/automations/utils.ts.html +20 -29
  176. package/coverage/lcov-report/src/constants/index.html +1 -1
  177. package/coverage/lcov-report/src/constants/index.js.html +1 -1
  178. package/coverage/lcov-report/src/constants/layouts.js.html +1 -1
  179. package/coverage/lcov-report/src/constants/screens.js.html +1 -1
  180. package/coverage/lcov-report/src/db/dynamoClient.js.html +1 -1
  181. package/coverage/lcov-report/src/db/inMemoryView.js.html +3 -3
  182. package/coverage/lcov-report/src/db/index.html +16 -16
  183. package/coverage/lcov-report/src/db/index.js.html +9 -9
  184. package/coverage/lcov-report/src/db/linkedRows/LinkController.js.html +1 -1
  185. package/coverage/lcov-report/src/db/linkedRows/index.html +1 -1
  186. package/coverage/lcov-report/src/db/linkedRows/index.js.html +1 -1
  187. package/coverage/lcov-report/src/db/linkedRows/linkUtils.js.html +1 -1
  188. package/coverage/lcov-report/src/db/newid.js.html +1 -1
  189. package/coverage/lcov-report/src/db/{utils.js.html → utils.ts.html} +97 -145
  190. package/coverage/lcov-report/src/definitions/automations.ts.html +1 -1
  191. package/coverage/lcov-report/src/definitions/datasource.ts.html +1 -1
  192. package/coverage/lcov-report/src/definitions/index.html +1 -1
  193. package/coverage/lcov-report/src/environment.js.html +4 -4
  194. package/coverage/lcov-report/src/events/AutomationEmitter.js.html +1 -1
  195. package/coverage/lcov-report/src/events/index.html +1 -1
  196. package/coverage/lcov-report/src/events/index.js.html +1 -1
  197. package/coverage/lcov-report/src/events/utils.js.html +1 -1
  198. package/coverage/lcov-report/src/index.html +1 -1
  199. package/coverage/lcov-report/src/index.ts.html +1 -1
  200. package/coverage/lcov-report/src/integrations/airtable.ts.html +1 -1
  201. package/coverage/lcov-report/src/integrations/arangodb.ts.html +1 -1
  202. package/coverage/lcov-report/src/integrations/base/index.html +1 -1
  203. package/coverage/lcov-report/src/integrations/base/query.ts.html +1 -1
  204. package/coverage/lcov-report/src/integrations/base/sql.ts.html +1 -1
  205. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +1 -1
  206. package/coverage/lcov-report/src/integrations/base/utils.ts.html +1 -1
  207. package/coverage/lcov-report/src/integrations/couchdb.ts.html +1 -1
  208. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +1 -1
  209. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +1 -1
  210. package/coverage/lcov-report/src/integrations/firebase.ts.html +1 -1
  211. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +10 -19
  212. package/coverage/lcov-report/src/integrations/index.html +11 -11
  213. package/coverage/lcov-report/src/integrations/index.ts.html +1 -1
  214. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1 -1
  215. package/coverage/lcov-report/src/integrations/mongodb.ts.html +1 -1
  216. package/coverage/lcov-report/src/integrations/mysql.ts.html +1 -1
  217. package/coverage/lcov-report/src/integrations/oracle.ts.html +1 -1
  218. package/coverage/lcov-report/src/integrations/postgres.ts.html +1 -1
  219. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  220. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +1 -1
  221. package/coverage/lcov-report/src/integrations/redis.ts.html +1 -1
  222. package/coverage/lcov-report/src/integrations/rest.ts.html +1 -1
  223. package/coverage/lcov-report/src/integrations/s3.ts.html +1 -1
  224. package/coverage/lcov-report/src/integrations/snowflake.ts.html +1 -1
  225. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  226. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  227. package/coverage/lcov-report/src/integrations/utils.ts.html +1 -1
  228. package/coverage/lcov-report/src/middleware/{appInfo.js.html → appInfo.ts.html} +24 -21
  229. package/coverage/lcov-report/src/middleware/authorized.ts.html +7 -7
  230. package/coverage/lcov-report/src/middleware/{builder.js.html → builder.ts.html} +36 -30
  231. package/coverage/lcov-report/src/middleware/{currentapp.js.html → currentapp.ts.html} +70 -61
  232. package/coverage/lcov-report/src/middleware/index.html +55 -55
  233. package/coverage/lcov-report/src/middleware/{joi-validator.js.html → joi-validator.ts.html} +18 -15
  234. package/coverage/lcov-report/src/middleware/{publicApi.js.html → publicApi.ts.html} +17 -17
  235. package/coverage/lcov-report/src/middleware/{resourceId.js.html → resourceId.ts.html} +33 -18
  236. package/coverage/lcov-report/src/middleware/{selfhost.js.html → selfhost.ts.html} +18 -12
  237. package/coverage/lcov-report/src/middleware/{utils.js.html → utils.ts.html} +12 -6
  238. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +1 -1
  239. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +1 -1
  240. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +1 -1
  241. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +4 -4
  242. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +1 -1
  243. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +1 -1
  244. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +1 -1
  245. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +1 -1
  246. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +6 -15
  247. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +1 -1
  248. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +1 -1
  249. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  250. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +1 -1
  251. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +1 -1
  252. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +1 -1
  253. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  254. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +1 -1
  255. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +1 -1
  256. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  257. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +1 -1
  258. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +1 -1
  259. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +1 -1
  260. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +1 -1
  261. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +1 -1
  262. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +1 -1
  263. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +1 -1
  264. package/coverage/lcov-report/src/migrations/index.html +1 -1
  265. package/coverage/lcov-report/src/migrations/index.ts.html +1 -1
  266. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  267. package/coverage/lcov-report/src/migrations/tests/index.html +1 -1
  268. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  269. package/coverage/lcov-report/src/module.d.ts.html +1 -1
  270. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  271. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +1 -1
  272. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +1 -1
  273. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +1 -1
  274. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +1 -1
  275. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +7 -16
  276. package/coverage/lcov-report/src/sdk/app/backups/index.html +1 -1
  277. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +1 -1
  278. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +12 -39
  279. package/coverage/lcov-report/src/sdk/app/tables/index.html +1 -1
  280. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +8 -11
  281. package/coverage/lcov-report/src/sdk/index.html +1 -1
  282. package/coverage/lcov-report/src/sdk/index.ts.html +1 -1
  283. package/coverage/lcov-report/src/startup.ts.html +1 -1
  284. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +24 -24
  285. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +1 -1
  286. package/coverage/lcov-report/src/tests/utilities/index.html +19 -19
  287. package/coverage/lcov-report/src/tests/utilities/index.js.html +1 -1
  288. package/coverage/lcov-report/src/tests/utilities/structures.js.html +3 -3
  289. package/coverage/lcov-report/src/threads/automation.ts.html +2 -2
  290. package/coverage/lcov-report/src/threads/index.html +1 -1
  291. package/coverage/lcov-report/src/threads/index.ts.html +1 -1
  292. package/coverage/lcov-report/src/threads/query.ts.html +1 -1
  293. package/coverage/lcov-report/src/threads/utils.ts.html +1 -1
  294. package/coverage/lcov-report/src/utilities/budibaseDir.js.html +1 -1
  295. package/coverage/lcov-report/src/utilities/centralPath.js.html +1 -1
  296. package/coverage/lcov-report/src/utilities/csvParser.js.html +1 -1
  297. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +1 -1
  298. package/coverage/lcov-report/src/utilities/fileSystem/index.html +1 -1
  299. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +1 -1
  300. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +1 -1
  301. package/coverage/lcov-report/src/utilities/fileSystem/utilities.js.html +1 -1
  302. package/coverage/lcov-report/src/utilities/{global.js.html → global.ts.html} +100 -67
  303. package/coverage/lcov-report/src/utilities/index.html +16 -16
  304. package/coverage/lcov-report/src/utilities/index.js.html +1 -1
  305. package/coverage/lcov-report/src/utilities/plugins.js.html +1 -1
  306. package/coverage/lcov-report/src/utilities/queue/inMemoryQueue.js.html +1 -1
  307. package/coverage/lcov-report/src/utilities/queue/index.html +1 -1
  308. package/coverage/lcov-report/src/utilities/redis.js.html +1 -1
  309. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  310. package/coverage/lcov-report/src/utilities/routing/index.js.html +1 -1
  311. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +1 -1
  312. package/coverage/lcov-report/src/utilities/rowProcessor/index.js.html +1 -1
  313. package/coverage/lcov-report/src/utilities/rowProcessor/utils.js.html +1 -1
  314. package/coverage/lcov-report/src/utilities/scriptRunner.js.html +1 -1
  315. package/coverage/lcov-report/src/utilities/security.js.html +13 -13
  316. package/coverage/lcov-report/src/utilities/statusCodes.js.html +1 -1
  317. package/coverage/lcov-report/src/utilities/usageQuota/index.html +1 -1
  318. package/coverage/lcov-report/src/utilities/usageQuota/rows.js.html +1 -1
  319. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  320. package/coverage/lcov-report/src/utilities/users.js.html +1 -1
  321. package/coverage/lcov-report/src/utilities/workerRequests.js.html +4 -4
  322. package/coverage/lcov-report/src/watch.ts.html +1 -1
  323. package/coverage/lcov-report/src/websocket.ts.html +1 -1
  324. package/coverage/lcov.info +2052 -2049
  325. package/dist/api/controllers/application.js +35 -43
  326. package/dist/api/controllers/deploy/index.js +13 -16
  327. package/dist/api/controllers/dev.js +96 -81
  328. package/dist/api/controllers/public/applications.js +17 -9
  329. package/dist/api/controllers/query/index.js +10 -13
  330. package/dist/api/controllers/row/internal.js +2 -2
  331. package/dist/api/routes/automation.js +3 -3
  332. package/dist/api/routes/datasource.js +4 -4
  333. package/dist/api/routes/public/index.js +9 -9
  334. package/dist/api/routes/query.js +4 -4
  335. package/dist/api/routes/row.js +11 -11
  336. package/dist/api/routes/static.js +3 -3
  337. package/dist/api/routes/table.js +2 -2
  338. package/dist/api/routes/user.js +9 -9
  339. package/dist/api/routes/utils/validators.js +4 -4
  340. package/dist/api/routes/view.js +2 -2
  341. package/dist/automations/tests/utilities/index.js +21 -12
  342. package/dist/automations/utils.js +9 -8
  343. package/dist/db/inMemoryView.js +2 -2
  344. package/dist/db/utils.js +145 -118
  345. package/dist/integrations/googlesheets.js +4 -6
  346. package/dist/middleware/appInfo.js +14 -9
  347. package/dist/middleware/authorized.js +5 -5
  348. package/dist/middleware/builder.js +41 -40
  349. package/dist/middleware/currentapp.js +39 -37
  350. package/dist/middleware/joi-validator.js +17 -10
  351. package/dist/middleware/publicApi.js +5 -6
  352. package/dist/middleware/resourceId.js +16 -9
  353. package/dist/middleware/selfhost.js +5 -4
  354. package/dist/middleware/utils.js +5 -2
  355. package/dist/package.json +6 -6
  356. package/dist/sdk/app/tables/index.js +4 -4
  357. package/dist/tests/utilities/TestConfiguration.js +9 -9
  358. package/dist/tests/utilities/structures.js +2 -2
  359. package/dist/tsconfig.build.tsbuildinfo +1 -1
  360. package/dist/utilities/global.js +87 -66
  361. package/dist/utilities/security.js +10 -10
  362. package/dist/utilities/workerRequests.js +3 -3
  363. package/jest.config.ts +1 -0
  364. package/package.json +7 -7
  365. package/src/api/controllers/application.ts +34 -39
  366. package/src/api/controllers/auth.ts +3 -2
  367. package/src/api/controllers/deploy/index.ts +13 -25
  368. package/src/api/controllers/{dev.js → dev.ts} +31 -37
  369. package/src/api/controllers/public/applications.ts +15 -9
  370. package/src/api/controllers/query/index.ts +11 -14
  371. package/src/api/controllers/row/internal.js +2 -2
  372. package/src/api/routes/automation.js +4 -4
  373. package/src/api/routes/datasource.js +5 -5
  374. package/src/api/routes/public/index.ts +10 -10
  375. package/src/api/routes/public/tests/compare.spec.js +1 -1
  376. package/src/api/routes/query.js +5 -5
  377. package/src/api/routes/row.ts +12 -12
  378. package/src/api/routes/static.ts +5 -5
  379. package/src/api/routes/table.js +3 -3
  380. package/src/api/routes/tests/analytics.spec.js +1 -1
  381. package/src/api/routes/tests/query.spec.js +15 -10
  382. package/src/api/routes/tests/role.spec.js +5 -5
  383. package/src/api/routes/tests/static.spec.js +2 -2
  384. package/src/api/routes/tests/table.spec.js +38 -35
  385. package/src/api/routes/user.js +10 -10
  386. package/src/api/routes/utils/validators.js +5 -5
  387. package/src/api/routes/view.js +3 -3
  388. package/src/automations/tests/updateRow.spec.js +0 -1
  389. package/src/automations/tests/utilities/index.js +10 -4
  390. package/src/automations/utils.ts +9 -12
  391. package/src/db/inMemoryView.js +2 -2
  392. package/src/db/tests/linkController.spec.js +73 -57
  393. package/src/db/tests/linkTests.spec.js +17 -14
  394. package/src/db/{utils.js → utils.ts} +76 -92
  395. package/src/integrations/googlesheets.ts +4 -7
  396. package/src/middleware/appInfo.ts +20 -0
  397. package/src/middleware/authorized.ts +6 -6
  398. package/src/middleware/{builder.js → builder.ts} +17 -15
  399. package/src/middleware/{currentapp.js → currentapp.ts} +42 -39
  400. package/src/middleware/{joi-validator.js → joi-validator.ts} +9 -8
  401. package/src/middleware/publicApi.ts +21 -0
  402. package/src/middleware/{resourceId.js → resourceId.ts} +16 -11
  403. package/src/middleware/{selfhost.js → selfhost.ts} +4 -2
  404. package/src/middleware/tests/authorized.spec.js +5 -5
  405. package/src/middleware/tests/currentapp.spec.js +118 -63
  406. package/src/middleware/{utils.js → utils.ts} +3 -1
  407. package/src/migrations/functions/backfill/app/tables.ts +2 -5
  408. package/src/sdk/app/backups/imports.ts +4 -7
  409. package/src/sdk/app/backups/statistics.ts +9 -18
  410. package/src/sdk/app/tables/index.ts +6 -7
  411. package/src/tests/utilities/TestConfiguration.js +9 -9
  412. package/src/tests/utilities/structures.js +2 -2
  413. package/src/threads/automation.ts +1 -1
  414. package/src/utilities/global.ts +138 -0
  415. package/src/utilities/security.js +12 -12
  416. package/src/utilities/workerRequests.js +3 -3
  417. package/src/middleware/appInfo.js +0 -19
  418. package/src/middleware/publicApi.js +0 -21
  419. package/src/utilities/global.js +0 -127
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">72.88% </span>
26
+ <span class="strong">72.17% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>86/118</span>
28
+ <span class='fraction'>83/115</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">73.5% </span>
47
+ <span class="strong">72.8% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>86/117</span>
49
+ <span class='fraction'>83/114</span>
50
50
  </div>
51
51
 
52
52
 
@@ -278,38 +278,14 @@
278
278
  <a name='L213'></a><a href='#L213'>213</a>
279
279
  <a name='L214'></a><a href='#L214'>214</a>
280
280
  <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
281
+ <a name='L216'></a><a href='#L216'>216</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
294
282
  <span class="cline-any cline-yes">44x</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
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-yes">44x</span>
300
- <span class="cline-any cline-yes">44x</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
283
  <span class="cline-any cline-yes">44x</span>
306
284
  <span class="cline-any cline-yes">44x</span>
307
285
  <span class="cline-any cline-neutral">&nbsp;</span>
308
286
  <span class="cline-any cline-neutral">&nbsp;</span>
309
287
  <span class="cline-any cline-neutral">&nbsp;</span>
310
288
  <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-yes">44x</span>
313
289
  <span class="cline-any cline-yes">44x</span>
314
290
  <span class="cline-any cline-yes">44x</span>
315
291
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -518,25 +494,13 @@
518
494
  <span class="cline-any cline-neutral">&nbsp;</span>
519
495
  <span class="cline-any cline-yes">44x</span>
520
496
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import Deployment from "./Deployment"
521
- import {
522
- getDevelopmentAppID,
523
- getProdAppID,
524
- Replication,
525
- } from "@budibase/backend-core/db"
497
+ import { context, db as dbCore, events, cache } from "@budibase/backend-core"
526
498
  import { DocumentType, getAutomationParams } from "../../../db/utils"
527
499
  import {
528
500
  clearMetadata,
529
501
  disableAllCrons,
530
502
  enableCronTrigger,
531
503
  } from "../../../automations/utils"
532
- import { app as appCache } from "@budibase/backend-core/cache"
533
- import {
534
- getAppDB,
535
- getAppId,
536
- getDevAppDB,
537
- getProdAppDB,
538
- } from "@budibase/backend-core/context"
539
- import { events } from "@budibase/backend-core"
540
504
  import { backups } from "@budibase/pro"
541
505
  import { AppBackupTrigger } from "@budibase/types"
542
506
  &nbsp;
@@ -568,7 +532,7 @@ async function <span class="fstat-no" title="function not covered" >checkAllDepl
568
532
  &nbsp;
569
533
  async function storeDeploymentHistory(deployment: any) {
570
534
  const deploymentJSON = deployment.getJSON()
571
- const db = getAppDB()
535
+ const db = context.getAppDB()
572
536
  &nbsp;
573
537
  let deploymentDoc
574
538
  try {
@@ -596,7 +560,7 @@ async function storeDeploymentHistory(deployment: any) {
596
560
  }
597
561
  &nbsp;
598
562
  async function initDeployedApp(prodAppId: any) {
599
- const db = getProdAppDB()
563
+ const db = context.getProdAppDB()
600
564
  console.log("Reading automation docs")
601
565
  const automations = (
602
566
  await db.allDocs(
@@ -622,9 +586,9 @@ async function initDeployedApp(prodAppId: any) {
622
586
  async function deployApp(deployment: any, userId: string) {
623
587
  let replication
624
588
  try {
625
- const appId = getAppId()
626
- const devAppId = getDevelopmentAppID(appId)
627
- const productionAppId = getProdAppID(appId)
589
+ const appId = context.getAppId()!
590
+ const devAppId = dbCore.getDevelopmentAppID(appId)
591
+ const productionAppId = dbCore.getProdAppID(appId)
628
592
  &nbsp;
629
593
  // don't try this if feature isn't allowed, will error
630
594
  <span class="missing-if-branch" title="if path not taken" >I</span>if (await backups.isEnabled()) {
@@ -641,8 +605,8 @@ async function deployApp(deployment: any, userId: string) {
641
605
  source: devAppId,
642
606
  target: productionAppId,
643
607
  }
644
- replication = new Replication(config)
645
- const devDb = getDevAppDB()
608
+ replication = new dbCore.Replication(config)
609
+ const devDb = context.getDevAppDB()
646
610
  console.log("Compacting development DB")
647
611
  await devDb.compact()
648
612
  console.log("Replication object created")
@@ -650,7 +614,7 @@ async function deployApp(deployment: any, userId: string) {
650
614
  console.log("replication complete.. replacing app meta doc")
651
615
  // app metadata is excluded as it is likely to be in conflict
652
616
  // replicate the app metadata document manually
653
- const db = getProdAppDB()
617
+ const db = context.getProdAppDB()
654
618
  const appDoc = await devDb.get(DocumentType.APP_METADATA)
655
619
  try {
656
620
  const prodAppDoc = await db.get(DocumentType.APP_METADATA)
@@ -666,7 +630,7 @@ async function deployApp(deployment: any, userId: string) {
666
630
  // remove automation errors if they exist
667
631
  delete appDoc.automationErrors
668
632
  await db.put(appDoc)
669
- await appCache.invalidateAppMetadata(productionAppId)
633
+ await cache.app.invalidateAppMetadata(productionAppId)
670
634
  console.log("New app doc written successfully.")
671
635
  await initDeployedApp(productionAppId)
672
636
  console.log("Deployed app initialised, setting deployment to successful")
@@ -689,7 +653,7 @@ async function deployApp(deployment: any, userId: string) {
689
653
  &nbsp;
690
654
  export async function <span class="fstat-no" title="function not covered" >fetchDeployments(</span>ctx: any) {
691
655
  <span class="cstat-no" title="statement not covered" > try {</span>
692
- const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
656
+ const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
693
657
  const deploymentDoc = <span class="cstat-no" title="statement not covered" >await db.get(DocumentType.DEPLOYMENTS)</span>
694
658
  const { updated, deployments } = <span class="cstat-no" title="statement not covered" >await checkAllDeployments(deploymentDoc)</span>
695
659
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (updated) {</span>
@@ -703,7 +667,7 @@ export async function <span class="fstat-no" title="function not covered" >fetch
703
667
  &nbsp;
704
668
  export async function <span class="fstat-no" title="function not covered" >deploymentProgress(</span>ctx: any) {
705
669
  <span class="cstat-no" title="statement not covered" > try {</span>
706
- const db = <span class="cstat-no" title="statement not covered" >getAppDB()</span>
670
+ const db = <span class="cstat-no" title="statement not covered" >context.getAppDB()</span>
707
671
  const deploymentDoc = <span class="cstat-no" title="statement not covered" >await db.get(DocumentType.DEPLOYMENTS)</span>
708
672
  <span class="cstat-no" title="statement not covered" > ctx.body = deploymentDoc[ctx.params.deploymentId]</span>
709
673
  } catch (err) {
@@ -716,7 +680,7 @@ export async function <span class="fstat-no" title="function not covered" >deplo
716
680
  &nbsp;
717
681
  const isFirstDeploy = <span class="fstat-no" title="function not covered" >async () =</span>&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
718
682
  <span class="cstat-no" title="statement not covered" > try {</span>
719
- const db = <span class="cstat-no" title="statement not covered" >getProdAppDB()</span>
683
+ const db = <span class="cstat-no" title="statement not covered" >context.getProdAppDB()</span>
720
684
  <span class="cstat-no" title="statement not covered" > await db.get(DocumentType.APP_METADATA)</span>
721
685
  } catch (e: any) {
722
686
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (e.status === 404) {</span>
@@ -751,7 +715,7 @@ export { _deployApp as deployApp }
751
715
  <div class='footer quiet pad2 space-top1 center small'>
752
716
  Code coverage generated by
753
717
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
754
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
718
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
755
719
  </div>
756
720
  <script src="../../../../prettify.js"></script>
757
721
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/api/controllers/dev.js</title>
6
+ <title>Code coverage report for src/api/controllers/dev.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,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> dev.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> dev.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">60% </span>
26
+ <span class="strong">56.33% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>42/70</span>
28
+ <span class='fraction'>40/71</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">29.41% </span>
33
+ <span class="strong">18.18% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/17</span>
35
+ <span class='fraction'>2/11</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">50% </span>
40
+ <span class="strong">38.46% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/10</span>
42
+ <span class='fraction'>5/13</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">60% </span>
47
+ <span class="strong">58.82% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>42/70</span>
49
+ <span class='fraction'>40/68</span>
50
50
  </div>
51
51
 
52
52
 
@@ -192,15 +192,7 @@
192
192
  <a name='L127'></a><a href='#L127'>127</a>
193
193
  <a name='L128'></a><a href='#L128'>128</a>
194
194
  <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
202
- <span class="cline-any cline-yes">44x</span>
203
- <span class="cline-any cline-yes">44x</span>
195
+ <a name='L130'></a><a href='#L130'>130</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">44x</span>
204
196
  <span class="cline-any cline-yes">44x</span>
205
197
  <span class="cline-any cline-yes">44x</span>
206
198
  <span class="cline-any cline-yes">44x</span>
@@ -221,10 +213,6 @@
221
213
  <span class="cline-any cline-neutral">&nbsp;</span>
222
214
  <span class="cline-any cline-neutral">&nbsp;</span>
223
215
  <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
216
  <span class="cline-any cline-no">&nbsp;</span>
229
217
  <span class="cline-any cline-no">&nbsp;</span>
230
218
  <span class="cline-any cline-no">&nbsp;</span>
@@ -333,39 +321,33 @@
333
321
  <span class="cline-any cline-neutral">&nbsp;</span>
334
322
  <span class="cline-any cline-yes">1x</span>
335
323
  <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const fetch = require("node-fetch")
337
- const env = require("../../environment")
338
- const { checkSlashesInUrl } = require("../../utilities")
339
- const { request } = require("../../utilities/workerRequests")
340
- const { clearLock } = require("../../utilities/redis")
341
- const { Replication, getProdAppID } = require("@budibase/backend-core/db")
342
- const { DocumentType } = require("../../db/utils")
343
- const { app: appCache } = require("@budibase/backend-core/cache")
344
- const { getProdAppDB, getAppDB } = require("@budibase/backend-core/context")
345
- const { events } = require("@budibase/backend-core")
324
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import fetch from "node-fetch"
325
+ import env from "../../environment"
326
+ import { checkSlashesInUrl } from "../../utilities"
327
+ import { request } from "../../utilities/workerRequests"
328
+ import { clearLock as redisClearLock } from "../../utilities/redis"
329
+ import { DocumentType } from "../../db/utils"
330
+ import { context } from "@budibase/backend-core"
331
+ import { events, db as dbCore, cache } from "@budibase/backend-core"
346
332
  &nbsp;
347
- async function <span class="fstat-no" title="function not covered" >redirect(</span>ctx, method, path = <span class="branch-0 cbranch-no" title="branch not covered" >"global")</span> {
333
+ async function <span class="fstat-no" title="function not covered" >redirect(</span>ctx: any, method: string, path: string = <span class="branch-0 cbranch-no" title="branch not covered" >"global")</span> {
348
334
  const { devPath } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
349
335
  const queryString = <span class="cstat-no" title="statement not covered" >ctx.originalUrl.split("?")[1] || ""</span>
350
336
  const response = <span class="cstat-no" title="statement not covered" >await fetch(</span>
351
337
  checkSlashesInUrl(
352
338
  `${env.WORKER_URL}/api/${path}/${devPath}?${queryString}`
353
339
  ),
354
- request(
355
- ctx,
356
- {
357
- method,
358
- body: ctx.request.body,
359
- },
360
- true
361
- )
340
+ request(ctx, {
341
+ method,
342
+ body: ctx.request.body,
343
+ })
362
344
  )
363
- <span class="cstat-no" title="statement not covered" > if (response.status !== 200) {</span>
345
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (response.status !== 200) {</span>
364
346
  const err = <span class="cstat-no" title="statement not covered" >await response.text()</span>
365
347
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, err)</span>
366
348
  }
367
349
  const cookie = <span class="cstat-no" title="statement not covered" >response.headers.get("set-cookie")</span>
368
- <span class="cstat-no" title="statement not covered" > if (cookie) {</span>
350
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (cookie) {</span>
369
351
  <span class="cstat-no" title="statement not covered" > ctx.set("set-cookie", cookie)</span>
370
352
  }
371
353
  let body
@@ -375,34 +357,34 @@ async function <span class="fstat-no" title="function not covered" >redirect(</s
375
357
  // don't worry about errors, likely no JSON
376
358
  }
377
359
  <span class="cstat-no" title="statement not covered" > ctx.status = response.status</span>
378
- <span class="cstat-no" title="statement not covered" > if (body) {</span>
360
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (body) {</span>
379
361
  <span class="cstat-no" title="statement not covered" > ctx.body = body</span>
380
362
  }
381
363
  <span class="cstat-no" title="statement not covered" > ctx.cookies</span>
382
364
  }
383
365
  &nbsp;
384
- exports.buildRedirectGet = path =&gt; {
385
- return <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
366
+ export function buildRedirectGet(path: string) {
367
+ return <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
386
368
  <span class="cstat-no" title="statement not covered" > await redirect(ctx, "GET", path)</span>
387
369
  }
388
370
  }
389
371
  &nbsp;
390
- exports.buildRedirectPost = path =&gt; {
391
- return <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
372
+ export function buildRedirectPost(path: string) {
373
+ return <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
392
374
  <span class="cstat-no" title="statement not covered" > await redirect(ctx, "POST", path)</span>
393
375
  }
394
376
  }
395
377
  &nbsp;
396
- exports.buildRedirectDelete = path =&gt; {
397
- return <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
378
+ export function buildRedirectDelete(path: string) {
379
+ return <span class="fstat-no" title="function not covered" >async (c</span>tx: any) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span>
398
380
  <span class="cstat-no" title="statement not covered" > await redirect(ctx, "DELETE", path)</span>
399
381
  }
400
382
  }
401
383
  &nbsp;
402
- exports.clearLock = <span class="fstat-no" title="function not covered" >as</span>ync ctx =&gt; {
384
+ export async function <span class="fstat-no" title="function not covered" >clearLock(</span>ctx: any) {
403
385
  const { appId } = <span class="cstat-no" title="statement not covered" >ctx.params</span>
404
386
  <span class="cstat-no" title="statement not covered" > try {</span>
405
- <span class="cstat-no" title="statement not covered" > await clearLock(appId, ctx.user)</span>
387
+ <span class="cstat-no" title="statement not covered" > await redisClearLock(appId, ctx.user)</span>
406
388
  } catch (err) {
407
389
  <span class="cstat-no" title="statement not covered" > ctx.throw(400, `Unable to remove lock. ${err}`)</span>
408
390
  }
@@ -411,16 +393,16 @@ exports.clearLock = <span class="fstat-no" title="function not covered" >as</spa
411
393
  }
412
394
  }
413
395
  &nbsp;
414
- exports.revert = async ctx =&gt; {
396
+ export async function revert(ctx: any) {
415
397
  const { appId } = ctx.params
416
- const productionAppId = getProdAppID(appId)
398
+ const productionAppId = dbCore.getProdAppID(appId)
417
399
  &nbsp;
418
400
  // App must have been deployed first
419
401
  try {
420
- const db = getProdAppDB({ skip_setup: true })
421
- const info = await db.info()
422
- <span class="missing-if-branch" title="if path not taken" >I</span>if (info.error) {
423
- <span class="cstat-no" title="statement not covered" > throw info.error</span>
402
+ const db = context.getProdAppDB({ skip_setup: true })
403
+ const exists = await db.exists()
404
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!exists) {
405
+ <span class="cstat-no" title="statement not covered" > throw new Error("App must be deployed to be reverted.")</span>
424
406
  }
425
407
  const deploymentDoc = await db.get(DocumentType.DEPLOYMENTS)
426
408
  <span class="missing-if-branch" title="if path not taken" >I</span>if (
@@ -433,7 +415,7 @@ exports.revert = async ctx =&gt; {
433
415
  <span class="cstat-no" title="statement not covered" > return ctx.throw(400, "App has not yet been deployed")</span>
434
416
  }
435
417
  &nbsp;
436
- const replication = new Replication({
418
+ const replication = new dbCore.Replication({
437
419
  source: productionAppId,
438
420
  target: appId,
439
421
  })
@@ -444,12 +426,12 @@ exports.revert = async ctx =&gt; {
444
426
  }
445
427
  &nbsp;
446
428
  // update appID in reverted app to be dev version again
447
- const db = getAppDB()
429
+ const db = context.getAppDB()
448
430
  const appDoc = await db.get(DocumentType.APP_METADATA)
449
431
  appDoc.appId = appId
450
432
  appDoc.instance._id = appId
451
433
  await db.put(appDoc)
452
- await appCache.invalidateAppMetadata(appId)
434
+ await cache.app.invalidateAppMetadata(appId)
453
435
  ctx.body = {
454
436
  message: "Reverted changes successfully.",
455
437
  }
@@ -461,7 +443,7 @@ exports.revert = async ctx =&gt; {
461
443
  }
462
444
  }
463
445
  &nbsp;
464
- exports.getBudibaseVersion = async ctx =&gt; {
446
+ export async function getBudibaseVersion(ctx: any) {
465
447
  const version = require("../../../package.json").version
466
448
  ctx.body = {
467
449
  version,
@@ -475,7 +457,7 @@ exports.getBudibaseVersion = async ctx =&gt; {
475
457
  <div class='footer quiet pad2 space-top1 center small'>
476
458
  Code coverage generated by
477
459
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
478
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
460
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
479
461
  </div>
480
462
  <script src="../../../prettify.js"></script>
481
463
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.45% </span>
26
+ <span class="strong">74.2% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1032/1386</span>
28
+ <span class='fraction'>1024/1380</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">51.28% </span>
33
+ <span class="strong">51.3% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>219/427</span>
35
+ <span class='fraction'>216/421</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">73.51% </span>
40
+ <span class="strong">72.19% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>161/219</span>
42
+ <span class='fraction'>161/223</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">73.69% </span>
47
+ <span class="strong">73.53% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>975/1323</span>
49
+ <span class='fraction'>967/1315</span>
50
50
  </div>
51
51
 
52
52
 
@@ -114,13 +114,13 @@
114
114
  <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
115
115
  </td>
116
116
  <td data-value="85.58" class="pct high">85.58%</td>
117
- <td data-value="340" class="abs high">291/340</td>
117
+ <td data-value="333" class="abs high">285/333</td>
118
118
  <td data-value="67.5" class="pct medium">67.5%</td>
119
119
  <td data-value="120" class="abs medium">81/120</td>
120
- <td data-value="96.55" class="pct high">96.55%</td>
121
- <td data-value="58" class="abs high">56/58</td>
122
- <td data-value="84.38" class="pct high">84.38%</td>
123
- <td data-value="301" class="abs high">254/301</td>
120
+ <td data-value="94.91" class="pct high">94.91%</td>
121
+ <td data-value="59" class="abs high">56/59</td>
122
+ <td data-value="84.06" class="pct high">84.06%</td>
123
+ <td data-value="295" class="abs high">248/295</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -214,18 +214,18 @@
214
214
  </tr>
215
215
 
216
216
  <tr>
217
- <td class="file medium" data-value="dev.js"><a href="dev.js.html">dev.js</a></td>
218
- <td data-value="60" class="pic medium">
219
- <div class="chart"><div class="cover-fill" style="width: 60%"></div><div class="cover-empty" style="width: 40%"></div></div>
217
+ <td class="file medium" data-value="dev.ts"><a href="dev.ts.html">dev.ts</a></td>
218
+ <td data-value="56.33" class="pic medium">
219
+ <div class="chart"><div class="cover-fill" style="width: 56%"></div><div class="cover-empty" style="width: 44%"></div></div>
220
220
  </td>
221
- <td data-value="60" class="pct medium">60%</td>
222
- <td data-value="70" class="abs medium">42/70</td>
223
- <td data-value="29.41" class="pct low">29.41%</td>
224
- <td data-value="17" class="abs low">5/17</td>
225
- <td data-value="50" class="pct medium">50%</td>
226
- <td data-value="10" class="abs medium">5/10</td>
227
- <td data-value="60" class="pct medium">60%</td>
228
- <td data-value="70" class="abs medium">42/70</td>
221
+ <td data-value="56.33" class="pct medium">56.33%</td>
222
+ <td data-value="71" class="abs medium">40/71</td>
223
+ <td data-value="18.18" class="pct low">18.18%</td>
224
+ <td data-value="11" class="abs low">2/11</td>
225
+ <td data-value="38.46" class="pct low">38.46%</td>
226
+ <td data-value="13" class="abs low">5/13</td>
227
+ <td data-value="58.82" class="pct medium">58.82%</td>
228
+ <td data-value="68" class="abs medium">40/68</td>
229
229
  </tr>
230
230
 
231
231
  <tr>
@@ -416,7 +416,7 @@
416
416
  <div class='footer quiet pad2 space-top1 center small'>
417
417
  Code coverage generated by
418
418
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
419
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
419
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
420
420
  </div>
421
421
  <script src="../../../prettify.js"></script>
422
422
  <script>
@@ -112,7 +112,7 @@ exports.find = async function (ctx) {
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
115
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
116
116
  </div>
117
117
  <script src="../../../prettify.js"></script>
118
118
  <script>
@@ -211,7 +211,7 @@ exports.destroy = async function (ctx) {
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
214
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
214
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
216
  <script src="../../../prettify.js"></script>
217
217
  <script>
@@ -193,7 +193,7 @@ exports.getMetadata = async ctx =&gt; {
193
193
  <div class='footer quiet pad2 space-top1 center small'>
194
194
  Code coverage generated by
195
195
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
196
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
196
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
197
197
  </div>
198
198
  <script src="../../../prettify.js"></script>
199
199
  <script>
@@ -109,7 +109,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
112
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  <script src="../../../prettify.js"></script>
115
115
  <script>
@@ -595,7 +595,7 @@ exports.removePermission = async function (ctx) {
595
595
  <div class='footer quiet pad2 space-top1 center small'>
596
596
  Code coverage generated by
597
597
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
598
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
598
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
599
599
  </div>
600
600
  <script src="../../../prettify.js"></script>
601
601
  <script>
@@ -115,7 +115,7 @@ export async function <span class="fstat-no" title="function not covered" >fileU
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
118
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
119
119
  </div>
120
120
  <script src="../../../../prettify.js"></script>
121
121
  <script>
@@ -295,7 +295,7 @@ export async function <span class="fstat-no" title="function not covered" >githu
295
295
  <div class='footer quiet pad2 space-top1 center small'>
296
296
  Code coverage generated by
297
297
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
298
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
298
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
299
299
  </div>
300
300
  <script src="../../../../prettify.js"></script>
301
301
  <script>
@@ -191,7 +191,7 @@
191
191
  <div class='footer quiet pad2 space-top1 center small'>
192
192
  Code coverage generated by
193
193
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
194
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
195
195
  </div>
196
196
  <script src="../../../../prettify.js"></script>
197
197
  <script>
@@ -472,7 +472,7 @@ export async function <span class="fstat-no" title="function not covered" >proce
472
472
  <div class='footer quiet pad2 space-top1 center small'>
473
473
  Code coverage generated by
474
474
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
475
- at Wed Nov 16 2022 13:32:43 GMT+0000 (Coordinated Universal Time)
475
+ at Fri Nov 18 2022 09:28:41 GMT+0000 (Coordinated Universal Time)
476
476
  </div>
477
477
  <script src="../../../../prettify.js"></script>
478
478
  <script>