@budibase/server 2.1.31 → 2.1.32-alpha.1

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 (439) hide show
  1. package/__mocks__/aws-sdk.ts +14 -0
  2. package/__mocks__/node-fetch.ts +5 -1
  3. package/builder/assets/{index.6e202eba.js → index.24cb0a61.js} +270 -270
  4. package/builder/assets/{index.534f6c29.css → index.7176fd99.css} +1 -1
  5. package/builder/index.html +2 -2
  6. package/coverage/clover.xml +9664 -2787
  7. package/coverage/coverage-final.json +162 -19
  8. package/coverage/lcov-report/index.html +621 -126
  9. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +190 -0
  10. package/coverage/lcov-report/{api → src/api}/controllers/apikeys.js.html +10 -10
  11. package/coverage/lcov-report/src/api/controllers/application.ts.html +1981 -0
  12. package/coverage/lcov-report/src/api/controllers/auth.ts.html +301 -0
  13. package/coverage/lcov-report/{api → src/api}/controllers/automation.js.html +10 -10
  14. package/coverage/lcov-report/src/api/controllers/backup.ts.html +148 -0
  15. package/coverage/lcov-report/{api → src/api}/controllers/cloud.js.html +10 -10
  16. package/coverage/lcov-report/src/api/controllers/component.ts.html +256 -0
  17. package/coverage/lcov-report/{api → src/api}/controllers/datasource.js.html +10 -10
  18. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.js.html +250 -0
  19. package/coverage/lcov-report/src/api/controllers/deploy/index.html +131 -0
  20. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +730 -0
  21. package/coverage/lcov-report/{api/controllers/dev.js.html → src/api/controllers/dev.ts.html} +53 -71
  22. package/coverage/lcov-report/{api → src/api}/controllers/index.html +134 -29
  23. package/coverage/lcov-report/{api → src/api}/controllers/integration.js.html +10 -10
  24. package/coverage/lcov-report/{api → src/api}/controllers/layout.js.html +10 -10
  25. package/coverage/lcov-report/{api → src/api}/controllers/metadata.js.html +10 -10
  26. package/coverage/lcov-report/{api → src/api}/controllers/migrations.js.html +10 -10
  27. package/coverage/lcov-report/{api → src/api}/controllers/permission.js.html +10 -10
  28. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +130 -0
  29. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +310 -0
  30. package/coverage/lcov-report/src/api/controllers/plugin/index.html +206 -0
  31. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +487 -0
  32. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +253 -0
  33. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +97 -0
  34. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +121 -0
  35. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +142 -0
  36. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +334 -0
  37. package/coverage/lcov-report/src/api/controllers/public/index.html +191 -0
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +181 -0
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +191 -0
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +124 -0
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +202 -0
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +178 -0
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +163 -0
  44. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +181 -0
  45. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +145 -0
  46. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +328 -0
  47. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +253 -0
  48. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +268 -0
  49. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +220 -0
  50. package/coverage/lcov-report/src/api/controllers/query/import/index.html +116 -0
  51. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +376 -0
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +131 -0
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +379 -0
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +157 -0
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +403 -0
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +146 -0
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +586 -0
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +712 -0
  59. package/coverage/lcov-report/src/api/controllers/query/index.html +131 -0
  60. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +976 -0
  61. package/coverage/lcov-report/{api → src/api}/controllers/query/validation.js.html +10 -10
  62. package/coverage/lcov-report/{api → src/api}/controllers/role.js.html +10 -10
  63. package/coverage/lcov-report/{api → src/api}/controllers/routing.js.html +10 -10
  64. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +2332 -0
  65. package/coverage/lcov-report/{api → src/api}/controllers/row/external.js.html +10 -10
  66. package/coverage/lcov-report/{api → src/api}/controllers/row/index.html +48 -18
  67. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +541 -0
  68. package/coverage/lcov-report/{api → src/api}/controllers/row/internal.js.html +12 -12
  69. package/coverage/lcov-report/{api → src/api}/controllers/row/internalSearch.js.html +10 -10
  70. package/coverage/lcov-report/{api → src/api}/controllers/row/staticFormula.js.html +10 -10
  71. package/coverage/lcov-report/{api → src/api}/controllers/row/utils.js.html +10 -10
  72. package/coverage/lcov-report/src/api/controllers/screen.ts.html +451 -0
  73. package/coverage/lcov-report/{api → src/api}/controllers/script.js.html +10 -10
  74. package/coverage/lcov-report/src/api/controllers/static/index.html +116 -0
  75. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +700 -0
  76. package/coverage/lcov-report/{api → src/api}/controllers/table/bulkFormula.js.html +10 -10
  77. package/coverage/lcov-report/{api → src/api}/controllers/table/external.js.html +10 -10
  78. package/coverage/lcov-report/{api → src/api}/controllers/table/index.html +49 -19
  79. package/coverage/lcov-report/{api → src/api}/controllers/table/index.js.html +10 -10
  80. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +664 -0
  81. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +1240 -0
  82. package/coverage/lcov-report/{api → src/api}/controllers/templates.js.html +10 -10
  83. package/coverage/lcov-report/{api → src/api}/controllers/user.js.html +10 -10
  84. package/coverage/lcov-report/{api → src/api}/controllers/view/exporters.js.html +10 -10
  85. package/coverage/lcov-report/{api → src/api}/controllers/view/index.html +10 -10
  86. package/coverage/lcov-report/{api → src/api}/controllers/view/index.js.html +10 -10
  87. package/coverage/lcov-report/{api → src/api}/controllers/view/utils.js.html +10 -10
  88. package/coverage/lcov-report/{api → src/api}/controllers/view/viewBuilder.js.html +10 -10
  89. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +379 -0
  90. package/coverage/lcov-report/{api → src/api}/index.html +10 -10
  91. package/coverage/lcov-report/{api → src/api}/index.js.html +10 -10
  92. package/coverage/lcov-report/{api → src/api}/routes/analytics.js.html +10 -10
  93. package/coverage/lcov-report/{api → src/api}/routes/apikeys.js.html +10 -10
  94. package/coverage/lcov-report/src/api/routes/application.ts.html +199 -0
  95. package/coverage/lcov-report/src/api/routes/auth.ts.html +109 -0
  96. package/coverage/lcov-report/{api → src/api}/routes/automation.js.html +14 -14
  97. package/coverage/lcov-report/src/api/routes/backup.ts.html +115 -0
  98. package/coverage/lcov-report/{api → src/api}/routes/cloud.js.html +10 -10
  99. package/coverage/lcov-report/{api → src/api}/routes/component.js.html +10 -10
  100. package/coverage/lcov-report/{api → src/api}/routes/datasource.js.html +15 -15
  101. package/coverage/lcov-report/{api → src/api}/routes/deploy.js.html +10 -10
  102. package/coverage/lcov-report/{api → src/api}/routes/dev.js.html +10 -10
  103. package/coverage/lcov-report/{api → src/api}/routes/index.html +137 -17
  104. package/coverage/lcov-report/src/api/routes/index.ts.html +289 -0
  105. package/coverage/lcov-report/{api → src/api}/routes/integration.js.html +10 -10
  106. package/coverage/lcov-report/{api → src/api}/routes/layout.js.html +10 -10
  107. package/coverage/lcov-report/{api → src/api}/routes/metadata.js.html +10 -10
  108. package/coverage/lcov-report/{api → src/api}/routes/migrations.js.html +10 -10
  109. package/coverage/lcov-report/{api → src/api}/routes/permission.js.html +10 -10
  110. package/coverage/lcov-report/src/api/routes/plugin.ts.html +127 -0
  111. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +541 -0
  112. package/coverage/lcov-report/src/api/routes/public/index.html +191 -0
  113. package/coverage/lcov-report/src/api/routes/public/index.ts.html +502 -0
  114. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +116 -0
  115. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +328 -0
  116. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +313 -0
  117. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +598 -0
  118. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +586 -0
  119. package/coverage/lcov-report/src/api/routes/public/users.ts.html +511 -0
  120. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +238 -0
  121. package/coverage/lcov-report/src/api/routes/public/utils/index.html +116 -0
  122. package/coverage/lcov-report/{api → src/api}/routes/query.js.html +15 -15
  123. package/coverage/lcov-report/{api → src/api}/routes/role.js.html +10 -10
  124. package/coverage/lcov-report/{api → src/api}/routes/routing.js.html +10 -10
  125. package/coverage/lcov-report/src/api/routes/row.ts.html +889 -0
  126. package/coverage/lcov-report/{api → src/api}/routes/screen.js.html +10 -10
  127. package/coverage/lcov-report/{api → src/api}/routes/script.js.html +10 -10
  128. package/coverage/lcov-report/src/api/routes/static.ts.html +289 -0
  129. package/coverage/lcov-report/{api → src/api}/routes/table.js.html +13 -13
  130. package/coverage/lcov-report/{api → src/api}/routes/templates.js.html +10 -10
  131. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +556 -0
  132. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +131 -0
  133. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +367 -0
  134. package/coverage/lcov-report/{api → src/api}/routes/user.js.html +20 -20
  135. package/coverage/lcov-report/{api → src/api}/routes/utils/index.html +10 -10
  136. package/coverage/lcov-report/{api → src/api}/routes/utils/validators.js.html +15 -15
  137. package/coverage/lcov-report/{api → src/api}/routes/view.js.html +13 -13
  138. package/coverage/lcov-report/src/api/routes/webhook.ts.html +166 -0
  139. package/coverage/lcov-report/src/app.ts.html +403 -0
  140. package/coverage/lcov-report/{automations → src/automations}/actions.js.html +10 -10
  141. package/coverage/lcov-report/{automations → src/automations}/automationUtils.js.html +10 -10
  142. package/coverage/lcov-report/{automations → src/automations}/bullboard.js.html +10 -10
  143. package/coverage/lcov-report/{automations → src/automations}/index.html +34 -19
  144. package/coverage/lcov-report/{automations → src/automations}/index.js.html +10 -10
  145. package/coverage/lcov-report/src/automations/logging/index.html +116 -0
  146. package/coverage/lcov-report/src/automations/logging/index.ts.html +199 -0
  147. package/coverage/lcov-report/{automations → src/automations}/steps/bash.js.html +10 -10
  148. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +367 -0
  149. package/coverage/lcov-report/{automations → src/automations}/steps/delay.js.html +10 -10
  150. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +334 -0
  151. package/coverage/lcov-report/{automations → src/automations}/steps/discord.js.html +10 -10
  152. package/coverage/lcov-report/{automations → src/automations}/steps/executeQuery.js.html +10 -10
  153. package/coverage/lcov-report/{automations → src/automations}/steps/executeScript.js.html +10 -10
  154. package/coverage/lcov-report/{automations → src/automations}/steps/filter.js.html +10 -10
  155. package/coverage/lcov-report/{automations → src/automations}/steps/index.html +56 -26
  156. package/coverage/lcov-report/{automations → src/automations}/steps/integromat.js.html +10 -10
  157. package/coverage/lcov-report/{automations → src/automations}/steps/loop.js.html +10 -10
  158. package/coverage/lcov-report/{automations → src/automations}/steps/outgoingWebhook.js.html +10 -10
  159. package/coverage/lcov-report/{automations → src/automations}/steps/queryRows.js.html +10 -10
  160. package/coverage/lcov-report/{automations → src/automations}/steps/sendSmtpEmail.js.html +10 -10
  161. package/coverage/lcov-report/{automations → src/automations}/steps/serverLog.js.html +10 -10
  162. package/coverage/lcov-report/{automations → src/automations}/steps/slack.js.html +10 -10
  163. package/coverage/lcov-report/{automations → src/automations}/steps/updateRow.js.html +10 -10
  164. package/coverage/lcov-report/{automations → src/automations}/steps/utils.js.html +19 -19
  165. package/coverage/lcov-report/{automations → src/automations}/steps/zapier.js.html +10 -10
  166. package/coverage/lcov-report/src/automations/tests/utilities/index.html +116 -0
  167. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +256 -0
  168. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/app.js.html +10 -10
  169. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/cron.js.html +10 -10
  170. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/index.html +10 -10
  171. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/index.js.html +10 -10
  172. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/rowDeleted.js.html +10 -10
  173. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/rowSaved.js.html +10 -10
  174. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/rowUpdated.js.html +10 -10
  175. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/webhook.js.html +10 -10
  176. package/coverage/lcov-report/{automations → src/automations}/triggers.js.html +10 -10
  177. package/coverage/lcov-report/src/automations/utils.ts.html +886 -0
  178. package/coverage/lcov-report/{constants → src/constants}/index.html +10 -10
  179. package/coverage/lcov-report/{constants → src/constants}/index.js.html +10 -10
  180. package/coverage/lcov-report/{constants → src/constants}/layouts.js.html +10 -10
  181. package/coverage/lcov-report/{constants → src/constants}/screens.js.html +10 -10
  182. package/coverage/lcov-report/src/db/dynamoClient.js.html +466 -0
  183. package/coverage/lcov-report/{db → src/db}/inMemoryView.js.html +12 -12
  184. package/coverage/lcov-report/{db → src/db}/index.html +42 -27
  185. package/coverage/lcov-report/{db → src/db}/index.js.html +18 -18
  186. package/coverage/lcov-report/{db → src/db}/linkedRows/LinkController.js.html +10 -10
  187. package/coverage/lcov-report/{db → src/db}/linkedRows/index.html +10 -10
  188. package/coverage/lcov-report/{db → src/db}/linkedRows/index.js.html +10 -10
  189. package/coverage/lcov-report/{db → src/db}/linkedRows/linkUtils.js.html +10 -10
  190. package/coverage/lcov-report/{db → src/db}/newid.js.html +10 -10
  191. package/coverage/lcov-report/{db/utils.js.html → src/db/utils.ts.html} +104 -152
  192. package/coverage/lcov-report/src/definitions/automations.ts.html +181 -0
  193. package/coverage/lcov-report/src/definitions/datasource.ts.html +235 -0
  194. package/coverage/lcov-report/src/definitions/index.html +131 -0
  195. package/coverage/lcov-report/src/environment.js.html +445 -0
  196. package/coverage/lcov-report/{events → src/events}/AutomationEmitter.js.html +10 -10
  197. package/coverage/lcov-report/{events → src/events}/index.html +10 -10
  198. package/coverage/lcov-report/{events → src/events}/index.js.html +10 -10
  199. package/coverage/lcov-report/{events → src/events}/utils.js.html +10 -10
  200. package/coverage/lcov-report/src/index.html +206 -0
  201. package/coverage/lcov-report/src/index.ts.html +133 -0
  202. package/coverage/lcov-report/src/integrations/airtable.ts.html +529 -0
  203. package/coverage/lcov-report/src/integrations/arangodb.ts.html +415 -0
  204. package/coverage/lcov-report/src/integrations/base/index.html +161 -0
  205. package/coverage/lcov-report/src/integrations/base/query.ts.html +133 -0
  206. package/coverage/lcov-report/src/integrations/base/sql.ts.html +1951 -0
  207. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +691 -0
  208. package/coverage/lcov-report/src/integrations/base/utils.ts.html +121 -0
  209. package/coverage/lcov-report/src/integrations/couchdb.ts.html +406 -0
  210. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +745 -0
  211. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +634 -0
  212. package/coverage/lcov-report/src/integrations/firebase.ts.html +646 -0
  213. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +1312 -0
  214. package/coverage/lcov-report/src/integrations/index.html +371 -0
  215. package/coverage/lcov-report/src/integrations/index.ts.html +433 -0
  216. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1006 -0
  217. package/coverage/lcov-report/src/integrations/mongodb.ts.html +1867 -0
  218. package/coverage/lcov-report/src/integrations/mysql.ts.html +952 -0
  219. package/coverage/lcov-report/src/integrations/oracle.ts.html +1474 -0
  220. package/coverage/lcov-report/src/integrations/postgres.ts.html +1069 -0
  221. package/coverage/lcov-report/src/integrations/queries/index.html +116 -0
  222. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +463 -0
  223. package/coverage/lcov-report/src/integrations/redis.ts.html +550 -0
  224. package/coverage/lcov-report/src/integrations/rest.ts.html +1381 -0
  225. package/coverage/lcov-report/src/integrations/s3.ts.html +862 -0
  226. package/coverage/lcov-report/src/integrations/snowflake.ts.html +376 -0
  227. package/coverage/lcov-report/{integrations → src/integrations}/tests/TestConfiguration.js.html +10 -10
  228. package/coverage/lcov-report/{integrations → src/integrations}/tests/index.html +10 -10
  229. package/coverage/lcov-report/src/integrations/utils.ts.html +1006 -0
  230. package/coverage/lcov-report/{middleware/appInfo.js.html → src/middleware/appInfo.ts.html} +31 -28
  231. package/coverage/lcov-report/src/middleware/authorized.ts.html +481 -0
  232. package/coverage/lcov-report/{middleware/builder.js.html → src/middleware/builder.ts.html} +43 -37
  233. package/coverage/lcov-report/{middleware/currentapp.js.html → src/middleware/currentapp.ts.html} +77 -68
  234. package/coverage/lcov-report/{middleware → src/middleware}/index.html +78 -63
  235. package/coverage/lcov-report/{middleware/joi-validator.js.html → src/middleware/joi-validator.ts.html} +25 -22
  236. package/coverage/lcov-report/{middleware/publicApi.js.html → src/middleware/publicApi.ts.html} +24 -24
  237. package/coverage/lcov-report/{middleware/resourceId.js.html → src/middleware/resourceId.ts.html} +40 -25
  238. package/coverage/lcov-report/{middleware/selfhost.js.html → src/middleware/selfhost.ts.html} +25 -19
  239. package/coverage/lcov-report/{middleware/utils.js.html → src/middleware/utils.ts.html} +19 -13
  240. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +187 -0
  241. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +163 -0
  242. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +151 -0
  243. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +206 -0
  244. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +172 -0
  245. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +226 -0
  246. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +151 -0
  247. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +151 -0
  248. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +166 -0
  249. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +532 -0
  250. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +283 -0
  251. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +146 -0
  252. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +265 -0
  253. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +232 -0
  254. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +724 -0
  255. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +161 -0
  256. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +106 -0
  257. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +235 -0
  258. package/coverage/lcov-report/src/migrations/functions/index.html +146 -0
  259. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +130 -0
  260. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +161 -0
  261. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +94 -0
  262. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +130 -0
  263. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +115 -0
  264. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +172 -0
  265. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +124 -0
  266. package/coverage/lcov-report/src/migrations/index.html +116 -0
  267. package/coverage/lcov-report/src/migrations/index.ts.html +403 -0
  268. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +205 -0
  269. package/coverage/lcov-report/src/migrations/tests/index.html +131 -0
  270. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +283 -0
  271. package/coverage/lcov-report/src/module.d.ts.html +127 -0
  272. package/coverage/lcov-report/src/sdk/app/automations/index.html +131 -0
  273. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +100 -0
  274. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +214 -0
  275. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +91 -0
  276. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +598 -0
  277. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +694 -0
  278. package/coverage/lcov-report/src/sdk/app/backups/index.html +176 -0
  279. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +112 -0
  280. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +292 -0
  281. package/coverage/lcov-report/src/sdk/app/tables/index.html +116 -0
  282. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +265 -0
  283. package/coverage/lcov-report/{utilities/routing → src/sdk}/index.html +10 -10
  284. package/coverage/lcov-report/src/sdk/index.ts.html +130 -0
  285. package/coverage/lcov-report/src/startup.ts.html +499 -0
  286. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +1873 -0
  287. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +133 -0
  288. package/coverage/lcov-report/src/tests/utilities/index.html +161 -0
  289. package/coverage/lcov-report/src/tests/utilities/index.js.html +118 -0
  290. package/coverage/lcov-report/src/tests/utilities/structures.js.html +652 -0
  291. package/coverage/lcov-report/src/threads/automation.ts.html +1597 -0
  292. package/coverage/lcov-report/src/threads/index.html +161 -0
  293. package/coverage/lcov-report/src/threads/index.ts.html +418 -0
  294. package/coverage/lcov-report/src/threads/query.ts.html +976 -0
  295. package/coverage/lcov-report/src/threads/utils.ts.html +376 -0
  296. package/coverage/lcov-report/{utilities → src/utilities}/budibaseDir.js.html +10 -10
  297. package/coverage/lcov-report/{utilities → src/utilities}/centralPath.js.html +10 -10
  298. package/coverage/lcov-report/{utilities → src/utilities}/csvParser.js.html +10 -10
  299. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +547 -0
  300. package/coverage/lcov-report/src/utilities/fileSystem/index.html +161 -0
  301. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +1141 -0
  302. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +148 -0
  303. package/coverage/lcov-report/src/utilities/fileSystem/utilities.js.html +193 -0
  304. package/coverage/lcov-report/{utilities/global.js.html → src/utilities/global.ts.html} +107 -74
  305. package/coverage/lcov-report/{utilities → src/utilities}/index.html +42 -27
  306. package/coverage/lcov-report/{utilities → src/utilities}/index.js.html +10 -10
  307. package/coverage/lcov-report/{utilities → src/utilities}/plugins.js.html +10 -10
  308. package/coverage/lcov-report/{utilities → src/utilities}/queue/inMemoryQueue.js.html +10 -10
  309. package/coverage/lcov-report/{utilities → src/utilities}/queue/index.html +10 -10
  310. package/coverage/lcov-report/src/utilities/redis.js.html +340 -0
  311. package/coverage/lcov-report/{api/controllers/query → src/utilities/routing}/index.html +8 -8
  312. package/coverage/lcov-report/{utilities → src/utilities}/routing/index.js.html +10 -10
  313. package/coverage/lcov-report/{utilities → src/utilities}/rowProcessor/index.html +10 -10
  314. package/coverage/lcov-report/{utilities → src/utilities}/rowProcessor/index.js.html +10 -10
  315. package/coverage/lcov-report/{utilities → src/utilities}/rowProcessor/utils.js.html +10 -10
  316. package/coverage/lcov-report/{utilities → src/utilities}/scriptRunner.js.html +10 -10
  317. package/coverage/lcov-report/{utilities → src/utilities}/security.js.html +22 -22
  318. package/coverage/lcov-report/{utilities → src/utilities}/statusCodes.js.html +10 -10
  319. package/coverage/lcov-report/{utilities → src/utilities}/usageQuota/index.html +10 -10
  320. package/coverage/lcov-report/{utilities → src/utilities}/usageQuota/rows.js.html +10 -10
  321. package/coverage/lcov-report/{utilities → src/utilities}/usageQuota/usageQuoteReset.js.html +10 -10
  322. package/coverage/lcov-report/{utilities → src/utilities}/users.js.html +10 -10
  323. package/coverage/lcov-report/{utilities → src/utilities}/workerRequests.js.html +13 -13
  324. package/coverage/lcov-report/src/watch.ts.html +199 -0
  325. package/coverage/lcov-report/src/websocket.ts.html +163 -0
  326. package/coverage/lcov.info +17589 -5003
  327. package/dist/api/controllers/application.js +35 -43
  328. package/dist/api/controllers/deploy/index.js +13 -16
  329. package/dist/api/controllers/dev.js +96 -81
  330. package/dist/api/controllers/public/applications.js +17 -9
  331. package/dist/api/controllers/query/index.js +10 -13
  332. package/dist/api/controllers/row/ExternalRequest.js +6 -1
  333. package/dist/api/controllers/row/index.js +16 -7
  334. package/dist/api/controllers/row/internal.js +2 -2
  335. package/dist/api/controllers/table/internal.js +4 -4
  336. package/dist/api/routes/automation.js +3 -3
  337. package/dist/api/routes/datasource.js +4 -4
  338. package/dist/api/routes/public/index.js +9 -9
  339. package/dist/api/routes/query.js +4 -4
  340. package/dist/api/routes/row.js +11 -11
  341. package/dist/api/routes/static.js +3 -3
  342. package/dist/api/routes/table.js +2 -2
  343. package/dist/api/routes/user.js +9 -9
  344. package/dist/api/routes/utils/validators.js +4 -4
  345. package/dist/api/routes/view.js +2 -2
  346. package/dist/automations/tests/utilities/index.js +21 -12
  347. package/dist/automations/utils.js +9 -8
  348. package/dist/db/inMemoryView.js +2 -2
  349. package/dist/db/utils.js +145 -118
  350. package/dist/integrations/elasticsearch.js +26 -2
  351. package/dist/integrations/googlesheets.js +4 -6
  352. package/dist/integrations/s3.js +157 -1
  353. package/dist/middleware/appInfo.js +14 -9
  354. package/dist/middleware/authorized.js +5 -5
  355. package/dist/middleware/builder.js +41 -40
  356. package/dist/middleware/currentapp.js +39 -37
  357. package/dist/middleware/joi-validator.js +17 -10
  358. package/dist/middleware/publicApi.js +5 -6
  359. package/dist/middleware/resourceId.js +16 -9
  360. package/dist/middleware/selfhost.js +5 -4
  361. package/dist/middleware/utils.js +5 -2
  362. package/dist/migrations/functions/backfill/global.js +1 -1
  363. package/dist/migrations/functions/usageQuotas/syncRows.js +1 -1
  364. package/dist/package.json +10 -44
  365. package/dist/sdk/app/tables/index.js +4 -4
  366. package/dist/tests/utilities/TestConfiguration.js +12 -10
  367. package/dist/tests/utilities/structures.js +2 -2
  368. package/dist/tsconfig.build.tsbuildinfo +1 -1
  369. package/dist/utilities/global.js +87 -66
  370. package/dist/utilities/security.js +10 -10
  371. package/dist/utilities/workerRequests.js +3 -3
  372. package/jest.config.ts +33 -0
  373. package/package.json +11 -45
  374. package/scripts/localdomain.js +34 -6
  375. package/src/api/controllers/application.ts +34 -39
  376. package/src/api/controllers/auth.ts +3 -2
  377. package/src/api/controllers/deploy/index.ts +13 -25
  378. package/src/api/controllers/{dev.js → dev.ts} +31 -37
  379. package/src/api/controllers/public/applications.ts +15 -9
  380. package/src/api/controllers/query/index.ts +11 -14
  381. package/src/api/controllers/row/ExternalRequest.ts +5 -3
  382. package/src/api/controllers/row/index.ts +17 -9
  383. package/src/api/controllers/row/internal.js +2 -2
  384. package/src/api/controllers/table/internal.ts +4 -4
  385. package/src/api/routes/automation.js +4 -4
  386. package/src/api/routes/datasource.js +5 -5
  387. package/src/api/routes/public/index.ts +10 -10
  388. package/src/api/routes/public/tests/compare.spec.js +1 -1
  389. package/src/api/routes/query.js +5 -5
  390. package/src/api/routes/row.ts +12 -12
  391. package/src/api/routes/static.ts +5 -5
  392. package/src/api/routes/table.js +3 -3
  393. package/src/api/routes/tests/analytics.spec.js +1 -1
  394. package/src/api/routes/tests/query.spec.js +15 -10
  395. package/src/api/routes/tests/role.spec.js +5 -5
  396. package/src/api/routes/tests/static.spec.js +2 -2
  397. package/src/api/routes/tests/table.spec.js +38 -35
  398. package/src/api/routes/user.js +10 -10
  399. package/src/api/routes/utils/validators.js +5 -5
  400. package/src/api/routes/view.js +3 -3
  401. package/src/automations/tests/updateRow.spec.js +0 -1
  402. package/src/automations/tests/utilities/index.js +10 -4
  403. package/src/automations/utils.ts +9 -12
  404. package/src/db/inMemoryView.js +2 -2
  405. package/src/db/tests/linkController.spec.js +73 -57
  406. package/src/db/tests/linkTests.spec.js +17 -14
  407. package/src/db/{utils.js → utils.ts} +76 -92
  408. package/src/integrations/elasticsearch.ts +32 -2
  409. package/src/integrations/googlesheets.ts +4 -7
  410. package/src/integrations/s3.ts +179 -3
  411. package/src/integrations/tests/s3.spec.ts +85 -1
  412. package/src/middleware/appInfo.ts +20 -0
  413. package/src/middleware/authorized.ts +6 -6
  414. package/src/middleware/{builder.js → builder.ts} +17 -15
  415. package/src/middleware/{currentapp.js → currentapp.ts} +42 -39
  416. package/src/middleware/{joi-validator.js → joi-validator.ts} +9 -8
  417. package/src/middleware/publicApi.ts +21 -0
  418. package/src/middleware/{resourceId.js → resourceId.ts} +16 -11
  419. package/src/middleware/{selfhost.js → selfhost.ts} +4 -2
  420. package/src/middleware/tests/authorized.spec.js +5 -5
  421. package/src/middleware/tests/currentapp.spec.js +118 -63
  422. package/src/middleware/{utils.js → utils.ts} +3 -1
  423. package/src/migrations/functions/backfill/app/tables.ts +2 -5
  424. package/src/migrations/functions/backfill/global.ts +1 -1
  425. package/src/migrations/functions/usageQuotas/syncRows.ts +2 -2
  426. package/src/sdk/app/backups/imports.ts +4 -7
  427. package/src/sdk/app/backups/statistics.ts +9 -18
  428. package/src/sdk/app/tables/index.ts +6 -7
  429. package/{scripts/jestSetup.js → src/tests/jestSetup.ts} +11 -2
  430. package/src/tests/utilities/TestConfiguration.js +12 -10
  431. package/src/tests/utilities/structures.js +2 -2
  432. package/src/threads/automation.ts +1 -1
  433. package/src/utilities/global.ts +138 -0
  434. package/src/utilities/security.js +12 -12
  435. package/src/utilities/workerRequests.js +3 -3
  436. package/tsconfig.json +3 -1
  437. package/src/middleware/appInfo.js +0 -19
  438. package/src/middleware/publicApi.js +0 -21
  439. package/src/utilities/global.js +0 -127
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/controllers/dev.js</title>
6
+ <title>Code coverage report for src/api/controllers/dev.ts</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,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">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,16 +457,16 @@ 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 Mon Nov 21 2022 12:54:01 GMT+0000 (Coordinated Universal Time)
460
+ at Mon Nov 21 2022 15:55:22 GMT+0000 (Coordinated Universal Time)
479
461
  </div>
480
- <script src="../../prettify.js"></script>
462
+ <script src="../../../prettify.js"></script>
481
463
  <script>
482
464
  window.onload = function () {
483
465
  prettyPrint();
484
466
  };
485
467
  </script>
486
- <script src="../../sorter.js"></script>
487
- <script src="../../block-navigation.js"></script>
468
+ <script src="../../../sorter.js"></script>
469
+ <script src="../../../block-navigation.js"></script>
488
470
  </body>
489
471
  </html>
490
472
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/controllers</title>
6
+ <title>Code coverage report for src/api/controllers</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,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> api/controllers</h1>
22
+ <h1><a href="../../../index.html">All files</a> src/api/controllers</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">68.1% </span>
26
+ <span class="strong">74.2% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>570/837</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">44.77% </span>
33
+ <span class="strong">51.3% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>120/268</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">61.41% </span>
40
+ <span class="strong">72.19% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>78/127</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">67.96% </span>
47
+ <span class="strong">73.53% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>560/824</span>
49
+ <span class='fraction'>967/1315</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,6 +79,21 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
+ <td class="file high" data-value="analytics.ts"><a href="analytics.ts.html">analytics.ts</a></td>
83
+ <td data-value="100" class="pic high">
84
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
+ </td>
86
+ <td data-value="100" class="pct high">100%</td>
87
+ <td data-value="24" class="abs high">24/24</td>
88
+ <td data-value="100" class="pct high">100%</td>
89
+ <td data-value="4" class="abs high">4/4</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="4" class="abs high">4/4</td>
92
+ <td data-value="100" class="pct high">100%</td>
93
+ <td data-value="20" class="abs high">20/20</td>
94
+ </tr>
95
+
96
+ <tr>
82
97
  <td class="file high" data-value="apikeys.js"><a href="apikeys.js.html">apikeys.js</a></td>
83
98
  <td data-value="100" class="pic high">
84
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
@@ -93,6 +108,36 @@
93
108
  <td data-value="24" class="abs high">24/24</td>
94
109
  </tr>
95
110
 
111
+ <tr>
112
+ <td class="file high" data-value="application.ts"><a href="application.ts.html">application.ts</a></td>
113
+ <td data-value="85.58" class="pic high">
114
+ <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
115
+ </td>
116
+ <td data-value="85.58" class="pct high">85.58%</td>
117
+ <td data-value="333" class="abs high">285/333</td>
118
+ <td data-value="67.5" class="pct medium">67.5%</td>
119
+ <td data-value="120" class="abs medium">81/120</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
+ </tr>
125
+
126
+ <tr>
127
+ <td class="file medium" data-value="auth.ts"><a href="auth.ts.html">auth.ts</a></td>
128
+ <td data-value="65.71" class="pic medium">
129
+ <div class="chart"><div class="cover-fill" style="width: 65%"></div><div class="cover-empty" style="width: 35%"></div></div>
130
+ </td>
131
+ <td data-value="65.71" class="pct medium">65.71%</td>
132
+ <td data-value="35" class="abs medium">23/35</td>
133
+ <td data-value="35.71" class="pct low">35.71%</td>
134
+ <td data-value="14" class="abs low">5/14</td>
135
+ <td data-value="100" class="pct high">100%</td>
136
+ <td data-value="2" class="abs high">2/2</td>
137
+ <td data-value="65.71" class="pct medium">65.71%</td>
138
+ <td data-value="35" class="abs medium">23/35</td>
139
+ </tr>
140
+
96
141
  <tr>
97
142
  <td class="file high" data-value="automation.js"><a href="automation.js.html">automation.js</a></td>
98
143
  <td data-value="84.55" class="pic high">
@@ -108,6 +153,21 @@
108
153
  <td data-value="131" class="abs high">110/131</td>
109
154
  </tr>
110
155
 
156
+ <tr>
157
+ <td class="file high" data-value="backup.ts"><a href="backup.ts.html">backup.ts</a></td>
158
+ <td data-value="100" class="pic high">
159
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
160
+ </td>
161
+ <td data-value="100" class="pct high">100%</td>
162
+ <td data-value="17" class="abs high">17/17</td>
163
+ <td data-value="100" class="pct high">100%</td>
164
+ <td data-value="0" class="abs high">0/0</td>
165
+ <td data-value="100" class="pct high">100%</td>
166
+ <td data-value="3" class="abs high">3/3</td>
167
+ <td data-value="100" class="pct high">100%</td>
168
+ <td data-value="16" class="abs high">16/16</td>
169
+ </tr>
170
+
111
171
  <tr>
112
172
  <td class="file low" data-value="cloud.js"><a href="cloud.js.html">cloud.js</a></td>
113
173
  <td data-value="21.42" class="pic low">
@@ -123,6 +183,21 @@
123
183
  <td data-value="55" class="abs low">12/55</td>
124
184
  </tr>
125
185
 
186
+ <tr>
187
+ <td class="file high" data-value="component.ts"><a href="component.ts.html">component.ts</a></td>
188
+ <td data-value="81.48" class="pic high">
189
+ <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
190
+ </td>
191
+ <td data-value="81.48" class="pct high">81.48%</td>
192
+ <td data-value="27" class="abs high">22/27</td>
193
+ <td data-value="100" class="pct high">100%</td>
194
+ <td data-value="2" class="abs high">2/2</td>
195
+ <td data-value="50" class="pct medium">50%</td>
196
+ <td data-value="6" class="abs medium">3/6</td>
197
+ <td data-value="81.48" class="pct high">81.48%</td>
198
+ <td data-value="27" class="abs high">22/27</td>
199
+ </tr>
200
+
126
201
  <tr>
127
202
  <td class="file medium" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
128
203
  <td data-value="57.93" class="pic medium">
@@ -139,18 +214,18 @@
139
214
  </tr>
140
215
 
141
216
  <tr>
142
- <td class="file medium" data-value="dev.js"><a href="dev.js.html">dev.js</a></td>
143
- <td data-value="60" class="pic medium">
144
- <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>
145
220
  </td>
146
- <td data-value="60" class="pct medium">60%</td>
147
- <td data-value="70" class="abs medium">42/70</td>
148
- <td data-value="29.41" class="pct low">29.41%</td>
149
- <td data-value="17" class="abs low">5/17</td>
150
- <td data-value="50" class="pct medium">50%</td>
151
- <td data-value="10" class="abs medium">5/10</td>
152
- <td data-value="60" class="pct medium">60%</td>
153
- <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>
154
229
  </tr>
155
230
 
156
231
  <tr>
@@ -258,6 +333,21 @@
258
333
  <td data-value="49" class="abs high">44/49</td>
259
334
  </tr>
260
335
 
336
+ <tr>
337
+ <td class="file medium" data-value="screen.ts"><a href="screen.ts.html">screen.ts</a></td>
338
+ <td data-value="70.68" class="pic medium">
339
+ <div class="chart"><div class="cover-fill" style="width: 70%"></div><div class="cover-empty" style="width: 30%"></div></div>
340
+ </td>
341
+ <td data-value="70.68" class="pct medium">70.68%</td>
342
+ <td data-value="58" class="abs medium">41/58</td>
343
+ <td data-value="33.33" class="pct low">33.33%</td>
344
+ <td data-value="15" class="abs low">5/15</td>
345
+ <td data-value="69.23" class="pct medium">69.23%</td>
346
+ <td data-value="13" class="abs medium">9/13</td>
347
+ <td data-value="69.81" class="pct medium">69.81%</td>
348
+ <td data-value="53" class="abs medium">37/53</td>
349
+ </tr>
350
+
261
351
  <tr>
262
352
  <td class="file low" data-value="script.js"><a href="script.js.html">script.js</a></td>
263
353
  <td data-value="42.85" class="pic low">
@@ -303,6 +393,21 @@
303
393
  <td data-value="120" class="abs low">38/120</td>
304
394
  </tr>
305
395
 
396
+ <tr>
397
+ <td class="file high" data-value="webhook.ts"><a href="webhook.ts.html">webhook.ts</a></td>
398
+ <td data-value="91.66" class="pic high">
399
+ <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
400
+ </td>
401
+ <td data-value="91.66" class="pct high">91.66%</td>
402
+ <td data-value="48" class="abs high">44/48</td>
403
+ <td data-value="50" class="pct medium">50%</td>
404
+ <td data-value="4" class="abs medium">2/4</td>
405
+ <td data-value="100" class="pct high">100%</td>
406
+ <td data-value="6" class="abs high">6/6</td>
407
+ <td data-value="91.48" class="pct high">91.48%</td>
408
+ <td data-value="47" class="abs high">43/47</td>
409
+ </tr>
410
+
306
411
  </tbody>
307
412
  </table>
308
413
  </div>
@@ -311,16 +416,16 @@
311
416
  <div class='footer quiet pad2 space-top1 center small'>
312
417
  Code coverage generated by
313
418
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
314
- at Mon Nov 21 2022 12:54:01 GMT+0000 (Coordinated Universal Time)
419
+ at Mon Nov 21 2022 15:55:22 GMT+0000 (Coordinated Universal Time)
315
420
  </div>
316
- <script src="../../prettify.js"></script>
421
+ <script src="../../../prettify.js"></script>
317
422
  <script>
318
423
  window.onload = function () {
319
424
  prettyPrint();
320
425
  };
321
426
  </script>
322
- <script src="../../sorter.js"></script>
323
- <script src="../../block-navigation.js"></script>
427
+ <script src="../../../sorter.js"></script>
428
+ <script src="../../../block-navigation.js"></script>
324
429
  </body>
325
430
  </html>
326
431
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/controllers/integration.js</title>
6
+ <title>Code coverage report for src/api/controllers/integration.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">api/controllers</a> integration.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> integration.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -112,16 +112,16 @@ 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 Mon Nov 21 2022 12:54:01 GMT+0000 (Coordinated Universal Time)
115
+ at Mon Nov 21 2022 15:55:22 GMT+0000 (Coordinated Universal Time)
116
116
  </div>
117
- <script src="../../prettify.js"></script>
117
+ <script src="../../../prettify.js"></script>
118
118
  <script>
119
119
  window.onload = function () {
120
120
  prettyPrint();
121
121
  };
122
122
  </script>
123
- <script src="../../sorter.js"></script>
124
- <script src="../../block-navigation.js"></script>
123
+ <script src="../../../sorter.js"></script>
124
+ <script src="../../../block-navigation.js"></script>
125
125
  </body>
126
126
  </html>
127
127
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/controllers/layout.js</title>
6
+ <title>Code coverage report for src/api/controllers/layout.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">api/controllers</a> layout.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/api/controllers</a> layout.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -211,16 +211,16 @@ 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 Mon Nov 21 2022 12:54:01 GMT+0000 (Coordinated Universal Time)
214
+ at Mon Nov 21 2022 15:55:22 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
- <script src="../../prettify.js"></script>
216
+ <script src="../../../prettify.js"></script>
217
217
  <script>
218
218
  window.onload = function () {
219
219
  prettyPrint();
220
220
  };
221
221
  </script>
222
- <script src="../../sorter.js"></script>
223
- <script src="../../block-navigation.js"></script>
222
+ <script src="../../../sorter.js"></script>
223
+ <script src="../../../block-navigation.js"></script>
224
224
  </body>
225
225
  </html>
226
226